LP1809288 Avoid booking grid prefix doubling
authorBill Erickson <berickxx@gmail.com>
Thu, 3 Jan 2019 15:36:07 +0000 (10:36 -0500)
committerBill Erickson <berickxx@gmail.com>
Fri, 25 Jan 2019 17:08:16 +0000 (12:08 -0500)
Teach the booking admin to avoid doubling up the grid prefix, which
would lead to grid settings with names like eg.grid.booking.booking.*

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.data.booking-admin-grid-settings.sql

index 908dadf..84219f1 100644 (file)
@@ -41,12 +41,15 @@ export class BasicAdminPageComponent implements OnInit {
         }
         const fullTable = schema + '.' + table;
 
         }
         const fullTable = schema + '.' + table;
 
-
         // Set the prefix to "server", "local", "workstation",
         // extracted from the URL path.
         // 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;
         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 = '';
         }
             // 'workstation', the schema ('acq') is the root of the path.
             this.persistKeyPfx = '';
         }
index f0d4a6a..649ced5 100644 (file)
@@ -19457,38 +19457,38 @@ VALUES (
 
 INSERT into config.workstation_setting_type (name, grp, datatype, label)
 VALUES (
 
 INSERT into config.workstation_setting_type (name, grp, datatype, label)
 VALUES (
-    'eg.grid.admin.booking.booking.resource', 'gui', 'object',
+    'eg.grid.admin.booking.resource', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-        'eg.grid.admin.booking.booking.resource',
-        'Grid Config: admin.booking.booking.resource',
+        'eg.grid.admin.booking.resource',
+        'Grid Config: admin.booking.resource',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_attr', 'gui', 'object',
+    'eg.grid.admin.booking.resource_attr', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_attr',
-        'Grid Config: admin.booking.booking.resource_attr',
+    'eg.grid.admin.booking.resource_attr',
+        'Grid Config: admin.booking.resource_attr',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_attr_map', 'gui', 'object',
+    'eg.grid.admin.booking.resource_attr_map', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_attr_map',
-        'Grid Config: admin.booking.booking.resource_attr_map',
+    'eg.grid.admin.booking.resource_attr_map',
+        'Grid Config: admin.booking.resource_attr_map',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_attr_value', 'gui', 'object',
+    'eg.grid.admin.booking.resource_attr_value', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_attr_value',
-        'Grid Config: admin.booking.booking.resource_attr_value',
+    'eg.grid.admin.booking.resource_attr_value',
+        'Grid Config: admin.booking.resource_attr_value',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_type', 'gui', 'object',
+    'eg.grid.admin.booking.resource_type', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_type',
-        'Grid Config: admin.booking.booking.resource_type',
+    'eg.grid.admin.booking.resource_type',
+        'Grid Config: admin.booking.resource_type',
         'cwst', 'label'
     )
 );
         'cwst', 'label'
     )
 );
index 5f2d5d1..aad2707 100644 (file)
@@ -4,38 +4,38 @@ BEGIN;
 
 INSERT into config.workstation_setting_type (name, grp, datatype, label)
 VALUES (
 
 INSERT into config.workstation_setting_type (name, grp, datatype, label)
 VALUES (
-    'eg.grid.admin.booking.booking.resource', 'gui', 'object',
+    'eg.grid.admin.booking.resource', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-        'eg.grid.admin.booking.booking.resource',
-        'Grid Config: admin.booking.booking.resource',
+        'eg.grid.admin.booking.resource',
+        'Grid Config: admin.booking.resource',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_attr', 'gui', 'object',
+    'eg.grid.admin.booking.resource_attr', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_attr',
-        'Grid Config: admin.booking.booking.resource_attr',
+    'eg.grid.admin.booking.resource_attr',
+        'Grid Config: admin.booking.resource_attr',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_attr_map', 'gui', 'object',
+    'eg.grid.admin.booking.resource_attr_map', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_attr_map',
-        'Grid Config: admin.booking.booking.resource_attr_map',
+    'eg.grid.admin.booking.resource_attr_map',
+        'Grid Config: admin.booking.resource_attr_map',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_attr_value', 'gui', 'object',
+    'eg.grid.admin.booking.resource_attr_value', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_attr_value',
-        'Grid Config: admin.booking.booking.resource_attr_value',
+    'eg.grid.admin.booking.resource_attr_value',
+        'Grid Config: admin.booking.resource_attr_value',
         'cwst', 'label'
     )
 ), (
         'cwst', 'label'
     )
 ), (
-    'eg.grid.admin.booking.booking.resource_type', 'gui', 'object',
+    'eg.grid.admin.booking.resource_type', 'gui', 'object',
     oils_i18n_gettext (
     oils_i18n_gettext (
-    'eg.grid.admin.booking.booking.resource_type',
-        'Grid Config: admin.booking.booking.resource_type',
+    'eg.grid.admin.booking.resource_type',
+        'Grid Config: admin.booking.resource_type',
         'cwst', 'label'
     )
 );
         'cwst', 'label'
     )
 );