this.vlagent.getAllQueues('bib'),
this.vlagent.getMatchSets('bib'),
this.vlagent.getBibSources(),
- this.vlagent.getFiscalYears(),
+ this.vlagent.getFiscalYears(this.auth.user().ws_ou()).then( years => {
+ this.vlagent.getDefaultFiscalYear(this.auth.user().ws_ou()).then(
+ y => { this.selectedFiscalYear = y.id(); this.fiscalYearSelector.applyEntryId(this.selectedFiscalYear); }
+ )
+ }),
this.vlagent.getSelectionLists(),
this.vlagent.getItemImportDefs(),
this.org.settings(['vandelay.default_match_set']).then(
orgOnChange(org: IdlObject) {
this.orderingAgency = org.id();
+ this.vlagent.getFiscalYears(this.orderingAgency).then( years => {
+ this.vlagent.getDefaultFiscalYear(this.orderingAgency).then(
+ y => { this.selectedFiscalYear = y.id(); this.fiscalYearSelector.applyEntryId(this.selectedFiscalYear); }
+ )
+ });
}
loadTemplates() {
mergeProfiles: IdlObject[];
providersList: IdlObject[];
fiscalYears: IdlObject[];
+ defaultFiscalYear: IdlObject;
selectionLists: IdlObject[];
queueType: string;
recordType: string;
});
}
- getFiscalYears(): Promise<IdlObject[]> {
- if (this.fiscalYears) {
- return Promise.resolve(this.fiscalYears);
- }
+ getDefaultFiscalYear(org: number): Promise<IdlObject> {
+ return this.net.request(
+ 'open-ils.acq',
+ 'open-ils.acq.org_unit.current_fiscal_year',
+ this.auth.token(), org
+ ).pipe(tap(afy => {
+ this.defaultFiscalYear = this.fiscalYears.filter(fy => Number(fy.year()) === Number(afy))[0];
+ })).toPromise().then(() => {
+ return this.defaultFiscalYear;
+ });
+ }
+ getFiscalYears(org: number): Promise<IdlObject[]> {
return this.pcrud.retrieveAll('acqfy',
{order_by: {acqfy: 'year'}},
{atomic: true}
).toPromise().then(years => {
- this.fiscalYears = years;
- return years;
+ this.fiscalYears = years.filter( y => y.calendar() == this.org.get(org).fiscal_calendar())
+ return this.fiscalYears;
});
}