<div class="col">
<div class="row mb-2">
<div class="col-lg">
- <h3 i18n *ngIf="id && !showSearchForm">{{providerRecord.currentProvider.record.name()}} ({{providerRecord.currentProvider.record.code()}})</h3>
+ <h3 i18n *ngIf="id && !showSearchForm">{{providerRecord.currentProvider?.record.name()}} ({{providerRecord.currentProvider?.record.code()}})</h3>
</div>
<div class="col-lg-auto">
<div class="btn-toolbar" role="toolbar">
<button class="btn btn-primary" [hidden]="!showSearchForm" (click)="showSearchForm = !showSearchForm" i18n>Hide Search Form</button>
</div>
<div class="button-grp mr-2">
- <button class="btn btn-primary" (click)="createNew()" i18n>New Provider</button>
+ <button class="btn btn-primary" (click)="createNew()" [disabled]="!providerRecord.checkIfCanAdminAtAll()" i18n>New Provider</button>
</div>
</div>
</div>
</div>
</div>
-<h3 i18n *ngIf="id && showSearchForm">{{providerRecord.currentProvider.record.name()}} ({{providerRecord.currentProvider.record.code()}})</h3>
+<h3 i18n *ngIf="id && showSearchForm">{{providerRecord.currentProvider?.record.name()}} ({{providerRecord.currentProvider?.record.code()}})</h3>
<div class="row">
<div class="col-lg-auto">
<eg-acq-provider-summary-pane #acqSearchProviderSummary
<eg-provider-details #providerDetails (desireSummarize)="onDesireSummarize($event, true)"></eg-provider-details>
</ng-template>
</ngb-tab>
- <ngb-tab title="Addresses" i18n-title id="addresses" [disabled]="!id || !this.providerRecord.currentProvider.canAdmin">
+ <ngb-tab title="Addresses" i18n-title id="addresses" [disabled]="!id || !this.providerRecord.currentProvider || !this.providerRecord.currentProvider.canAdmin">
<ng-template ngbTabContent>
<div class="row mt-3">
<div class="col-lg-12 text-right pb-1">
<eg-provider-addresses></eg-provider-addresses>
</ng-template>
</ngb-tab>
- <ngb-tab title="Contacts" i18n-title id="contacts" [disabled]="!id || !this.providerRecord.currentProvider.canAdmin">
+ <ngb-tab title="Contacts" i18n-title id="contacts" [disabled]="!id || !this.providerRecord.currentProvider || !this.providerRecord.currentProvider.canAdmin">
<ng-template ngbTabContent>
<div class="row mt-3">
<div class="col-lg-12 text-right pb-1">
<eg-provider-contacts (desireSummarize)="onDesireSummarize($event, true)"></eg-provider-contacts>
</ng-template>
</ngb-tab>
- <ngb-tab title="Attribute Definitions" i18n-title id="attributes" [disabled]="!id || !this.providerRecord.currentProvider.canAdmin">
+ <ngb-tab title="Attribute Definitions" i18n-title id="attributes" [disabled]="!id || !this.providerRecord.currentProvider || !this.providerRecord.currentProvider.canAdmin">
<ng-template ngbTabContent>
<div class="row mt-3">
<div class="col-lg-12 text-right pb-1">
<eg-provider-attributes></eg-provider-attributes>
</ng-template>
</ngb-tab>
- <ngb-tab title="Holdings Definitions" i18n-title id="holdings" [disabled]="!id || !this.providerRecord.currentProvider.canAdmin">
+ <ngb-tab title="Holdings Definitions" i18n-title id="holdings" [disabled]="!id || !this.providerRecord.currentProvider || !this.providerRecord.currentProvider.canAdmin">
<ng-template ngbTabContent>
<div class="row mt-3">
<div class="col-lg-12 text-right pb-1">
<eg-provider-holdings #providerHoldings></eg-provider-holdings>
</ng-template>
</ngb-tab>
- <ngb-tab title="EDI" i18n-title id="edi_accounts" [disabled]="!id || !this.providerRecord.currentProvider.canAdmin">
+ <ngb-tab title="EDI" i18n-title id="edi_accounts" [disabled]="!id || !this.providerRecord.currentProvider || !this.providerRecord.currentProvider.canAdmin">
<ng-template ngbTabContent>
<div class="row mt-3">
<div class="col-lg-12 text-right pb-1">
});
this.currentProvider = provider;
this.checkIfCanDelete(provider);
- this.checkIfCanManage(provider);
+ this.checkIfCanAdmin(provider);
return provider;
}));
}
});
}
- checkIfCanManage(prov: ProviderRecord) {
+ checkIfCanAdmin(prov: ProviderRecord) {
if (Object.keys(this.permissions).length > 0 &&
this.permissions['ADMIN_PROVIDER'].includes(prov.record.owner())) {
prov.canAdmin = true;
}
}
+ checkIfCanAdminAtAll(): boolean {
+ if (typeof this.permissions === "undefined") {
+ return false;
+ }
+ if (Object.keys(this.permissions).length > 0 &&
+ this.permissions['ADMIN_PROVIDER'].length > 0) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
current(): IdlObject {
return this.currentProvider ? this.currentProvider.record : null;
}