export class ProviderRecord {
id: number;
record: IdlObject;
+ canDelete: boolean;
constructor(record: IdlObject) {
this.id = Number(record.id());
this.record = record;
+ this.canDelete = false;
}
}
).pipe(map(acqpro => {
const provider = new ProviderRecord(acqpro);
this.currentProvider = provider;
+ this.checkIfCanDelete(provider);
return provider;
}));
}
+ checkIfCanDelete(prov: ProviderRecord) {
+ this.pcrud.search('acqpo', { provider: prov.id }, { limit: 1 }).toPromise()
+ .then(acqpo => {
+ if (!acqpo || acqpo.length === 0) {
+ this.pcrud.search('jub', { provider: prov.id }, { limit: 1 }).toPromise()
+ .then(jub => {
+ if (!jub || jub.length === 0) {
+ this.pcrud.search('acqinv', { provider: prov.id }, { limit: 1 }).toPromise()
+ .then(acqinv => {
+ prov.canDelete = true;
+ });
+ }
+ });
+ }
+ });
+ }
+
current(): IdlObject {
return this.currentProvider ? this.currentProvider.record : null;
}
@Output('summaryToggled') toggled: EventEmitter<boolean> = new EventEmitter<boolean>();
provider: IdlObject;
+ provRec: ProviderRecord;
constructor(
private pcrud: PcrudService,
this.prov.getProviderRecord(newProvider).subscribe(providerRecord => {
const provider = providerRecord.record;
if (provider) {
+ this.provRec = providerRecord;
this.provider = provider;
this.provider_id = provider.id();
this.provider_name = provider.name();
}
+ canDeleteProvider() {
+ if (this.provider && this.provider.id()) {
+ return this.provRec.canDelete;
+ } else {
+ return false;
+ }
+ }
+
toggleCollapse() {
this.collapsed = ! this.collapsed;
this.toggled.emit(this.collapsed);