From f865e9f8082b0dd74799edb3879d737b439b39f7 Mon Sep 17 00:00:00 2001 From: spartanicus Date: Tue, 14 Sep 2021 14:56:04 -0400 Subject: [PATCH 1/3] Fix up menus and information architecture to improve navigability. First pass refactoring of layout and CSS components to generalize and bring in line with Registry 4.0 and Registry Future. Remove unused libraries, and upgrade Bootstrap and jQuery. (CO-2141 / CO-1948 / CO-2133) --- .../Component/AuthorizationComponent.php | 1 + app/src/Locale/en_US/default.po | 31 +++- app/src/Template/Element/breadcrumbs.ctp | 12 +- app/src/Template/Element/javascript.ctp | 3 - app/src/Template/Element/menuMain.ctp | 103 +++++------ app/src/Template/Element/menuTop.ctp | 108 ++++++++++++ app/src/Template/Element/menuUser.ctp | 71 -------- app/src/Template/Layout/default.ctp | 39 +++-- app/src/Template/Matchgrids/manage.ctp | 112 ++++++++---- app/src/Template/Matchgrids/select.ctp | 1 + app/webroot/css/co-base.css | 161 ++++++++++++------ app/webroot/css/co-color.css | 8 + app/webroot/css/co-responsive.css | 61 +++++-- .../js/bootstrap/bootstrap-4.4.1.min.js | 7 - .../bootstrap/bootstrap-4.6.0.bundle.min.js | 7 + .../js/bootstrap/bootstrap-4.6.0.min.css | 7 + app/webroot/js/bootstrap/bootstrap.min.js.map | 1 - app/webroot/js/jquery/jquery-3.5.1.min.js | 2 - app/webroot/js/jquery/jquery-3.6.0.min.js | 2 + .../jquery/metisMenu/metisMenu-3.0.4.min.js | 9 - 20 files changed, 458 insertions(+), 288 deletions(-) create mode 100644 app/src/Template/Element/menuTop.ctp delete mode 100644 app/src/Template/Element/menuUser.ctp create mode 100644 app/webroot/css/co-color.css delete mode 100755 app/webroot/js/bootstrap/bootstrap-4.4.1.min.js create mode 100644 app/webroot/js/bootstrap/bootstrap-4.6.0.bundle.min.js create mode 100644 app/webroot/js/bootstrap/bootstrap-4.6.0.min.css delete mode 100755 app/webroot/js/bootstrap/bootstrap.min.js.map delete mode 100644 app/webroot/js/jquery/jquery-3.5.1.min.js create mode 100644 app/webroot/js/jquery/jquery-3.6.0.min.js delete mode 100644 app/webroot/js/jquery/metisMenu/metisMenu-3.0.4.min.js diff --git a/app/src/Controller/Component/AuthorizationComponent.php b/app/src/Controller/Component/AuthorizationComponent.php index 92bc9489..59852cc6 100644 --- a/app/src/Controller/Component/AuthorizationComponent.php +++ b/app/src/Controller/Component/AuthorizationComponent.php @@ -191,6 +191,7 @@ public function menuPermissions($username, $matchgridId=null) { 'matchgrid_settings' => $platformAdmin || $mgAdmin, 'rules' => $platformAdmin || $mgAdmin, 'systems_of_record' => $platformAdmin || $mgAdmin, + 'reconcile' => $platformAdmin || $mgAdmin || $recMgr, // Permissions specific to a matchgrid 'gridroles' => $perms['matchgrids'], // Overall permission to manage the matchgrids diff --git a/app/src/Locale/en_US/default.po b/app/src/Locale/en_US/default.po index 01a82722..e65ac188 100644 --- a/app/src/Locale/en_US/default.po +++ b/app/src/Locale/en_US/default.po @@ -478,6 +478,21 @@ msgid "match.home.welcome" msgstr "Welcome to {0}." ### Informational Messages +msgid "match.in.matchgrid" +msgstr "Matchgrid" + +msgid "match.in.matchgrid.config" +msgstr "Matchgrid Configuration" + +msgid "match.in.matchgrid.display" +msgstr "Display all records associated with this Matchgrid." + +msgid "match.in.matchgrid.reconcile" +msgstr "Resolve matching records when COmanage determines the same person may be coming from multiple systems of record." + +msgid "match.in.matchgrid.select" +msgstr "Select the Matchgrid you'd like to manage. A Matchgrid is used to match identity records across multiple authoritative systems of record." + msgid "match.in.matchgrids.none" msgstr "There are no matchgrids currently defined." @@ -485,9 +500,18 @@ msgid "match.in.pagination.format" msgstr "Page {{page}} of {{pages}}, Viewing {{start}}-{{end}} of {{count}}" ### Menu Items +msgid "match.me.display" +msgstr "Display" + +msgid "match.me.manage" +msgstr "Manage" + msgid "match.me.platform" msgstr "Platform" +msgid "match.me.reconcile" +msgstr "Reconcile" + ### Operations (Commands) msgid "match.op.add.a" msgstr "Add New {0}" @@ -504,6 +528,9 @@ msgstr "Build" msgid "match.op.build.confirm" msgstr "Are you sure you wish to (re)build this matchgrid?" +msgid "match.op.configure.a" +msgstr "Configure {0}" + msgid "match.op.delete" msgstr "Delete" @@ -511,7 +538,7 @@ msgid "match.op.delete.confirm" msgstr "Are you sure you wish to delete this record ({0})?" msgid "match.op.display" -msgstr "Display" +msgstr "Display Records" msgid "match.op.duplicate" msgstr "Duplicate" @@ -559,7 +586,7 @@ msgid "match.op.previous" msgstr "Previous" msgid "match.op.reconcile" -msgstr "Reconcile Unresolved Requests" +msgstr "Reconcile Requests" msgid "match.op.reconcile.a" msgstr "Reconcile Unresolved Requests ({0})" diff --git a/app/src/Template/Element/breadcrumbs.ctp b/app/src/Template/Element/breadcrumbs.ctp index e7f33be0..a3aa9270 100644 --- a/app/src/Template/Element/breadcrumbs.ctp +++ b/app/src/Template/Element/breadcrumbs.ctp @@ -47,16 +47,6 @@ if($this->request->getRequestTarget(false) != '/') { 'action' => 'select'] ); - if($modelsName != 'Matchgrids' && $modelsName != 'Permissions' && $modelsName != 'ApiUsers' - || ($modelsName == 'Matchgrids' && ($action == 'reconcile' || $action == 'pending'))) { - // Link to matchgrids listing where appropriate - $this->Breadcrumbs->add( - __('match.ct.Matchgrids', [99]), - ['controller' => 'matchgrids', - 'action' => 'index' ] - ); - } - if(!empty($vv_cur_mg) && ($modelsName != 'Matchgrids' || $action != 'manage')) { // Link to matchgrid if set @@ -93,7 +83,7 @@ if($this->request->getRequestTarget(false) != '/') { ); } - if($action != 'index' + if($action != 'index' && $action != 'manage' && !($modelsName == 'Matchgrids' && $action == 'pending')) { // Default parent is index, to which we might need to append the Primary Link ID diff --git a/app/src/Template/Element/javascript.ctp b/app/src/Template/Element/javascript.ctp index 94e64e9e..ab33a6fb 100644 --- a/app/src/Template/Element/javascript.ctp +++ b/app/src/Template/Element/javascript.ctp @@ -29,9 +29,6 @@