X-Git-Url: https://git.evergreen-ils.org/?p=Evergreen.git;a=blobdiff_plain;f=Open-ILS%2Fsrc%2Feg2%2Fsrc%2Fapp%2Fstaff%2Fadmin%2Fbasic-admin-page.component.ts;h=ceed28792dfc070752367aaa30bc2e6bdfc5b8d2;hp=908dadf1da3fb96146b428cad4708e3087fc9990;hb=fe1ff53dba6dffc9fdcbf5665128553e265e5e6b;hpb=b901a7e97d7e7be96aceb8cff3cbec6ac83b6cc6 diff --git a/Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts index 908dadf1da..ceed28792d 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts @@ -8,9 +8,13 @@ import {IdlService} from '@eg/core/idl.service'; @Component({ template: ` + + - + ` }) @@ -21,6 +25,9 @@ export class BasicAdminPageComponent implements OnInit { persistKeyPfx: string; readonlyFields = ''; + // Tell the admin page to disable and hide the automagic org unit filter + disableOrgFilter: boolean; + constructor( private route: ActivatedRoute, private idl: IdlService @@ -41,21 +48,32 @@ export class BasicAdminPageComponent implements OnInit { } const fullTable = schema + '.' + table; - // Set the prefix to "server", "local", "workstation", // extracted from the URL path. + // For admin pages that use none of these, avoid setting + // the prefix because that will cause it to double-up. + // e.g. eg.grid.acq.acq.cancel_reason this.persistKeyPfx = this.route.snapshot.parent.url[0].path; - if (this.persistKeyPfx === 'acq') { - // ACQ is a special case, becaus unlike 'server', 'local', + const selfPrefixers = ['acq', 'booking']; + if (selfPrefixers.indexOf(this.persistKeyPfx) > -1) { + // ACQ is a special case, because unlike 'server', 'local', // 'workstation', the schema ('acq') is the root of the path. this.persistKeyPfx = ''; } // Pass the readonlyFields param if available - if (this.route.snapshot.data[0].readonlyFields) { - this.readonlyFields = this.route.snapshot.data[0].readonlyFields; - } + if (this.route.snapshot.data && this.route.snapshot.data[0]) { + // snapshot.data is a HASH. + const data = this.route.snapshot.data[0]; + if (data.readonlyFields) { + this.readonlyFields = data.readonlyFields; + } + + if (data.disableOrgFilter) { + this.disableOrgFilter = true; + } + } Object.keys(this.idl.classes).forEach(class_ => { const classDef = this.idl.classes[class_];