From 01ce3fbff723acee38b806461b60f895461b9dc8 Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Fri, 17 Sep 2021 09:30:12 -0400 Subject: [PATCH] =?UTF-8?q?Fix=20up=20menus=20and=20information=20architec?= =?UTF-8?q?ture=20to=20improve=20navigability.=20Fi=E2=80=A6=20(#2,=20CO-2?= =?UTF-8?q?141)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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) * Update localization strings and ensure breadcrumbs and the hamburger menu appear only when they should (CO-2141) * Fix logic for breadcrumb visibility (CO-2141) --- .../Component/AuthorizationComponent.php | 1 + app/src/Locale/en_US/default.po | 34 +++- 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 | 55 +++--- app/src/Template/Matchgrids/manage.ctp | 112 ++++++++---- app/src/Template/Matchgrids/select.ctp | 1 + app/webroot/css/co-base.css | 163 ++++++++++++------ 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, 468 insertions(+), 299 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 92bc94896..59852cc6e 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 01a827226..e379014d8 100644 --- a/app/src/Locale/en_US/default.po +++ b/app/src/Locale/en_US/default.po @@ -478,16 +478,21 @@ msgid "match.home.welcome" msgstr "Welcome to {0}." ### Informational Messages +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." msgid "match.in.pagination.format" msgstr "Page {{page}} of {{pages}}, Viewing {{start}}-{{end}} of {{count}}" -### Menu Items -msgid "match.me.platform" -msgstr "Platform" - ### Operations (Commands) msgid "match.op.add.a" msgstr "Add New {0}" @@ -504,6 +509,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" @@ -513,6 +521,9 @@ msgstr "Are you sure you wish to delete this record ({0})?" msgid "match.op.display" msgstr "Display" +msgid "match.op.display.records" +msgstr "Display Records" + msgid "match.op.duplicate" msgstr "Duplicate" @@ -555,11 +566,17 @@ msgstr "Display" msgid "match.op.page.goto" msgstr "Go To Page" +msgid "match.op.platform" +msgstr "Platform" + msgid "match.op.previous" msgstr "Previous" msgid "match.op.reconcile" -msgstr "Reconcile Unresolved Requests" +msgstr "Reconcile" + +msgid "match.op.reconcile.requests" +msgstr "Reconcile Requests" msgid "match.op.reconcile.a" msgstr "Reconcile Unresolved Requests ({0})" @@ -615,3 +632,10 @@ msgstr "Request could not be canonically resolved, pending record {0} created" msgid "match.rs.saved" msgstr "Saved" + +### Titles +msgid "match.ti.matchgrid.config" +msgstr "Matchgrid Configuration" + +msgid "match.ti.matchgrid" +msgstr "Matchgrid: {0}" \ No newline at end of file diff --git a/app/src/Template/Element/breadcrumbs.ctp b/app/src/Template/Element/breadcrumbs.ctp index e7f33be00..a3aa92700 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 94e64e9ef..ab33a6fb6 100644 --- a/app/src/Template/Element/javascript.ctp +++ b/app/src/Template/Element/javascript.ctp @@ -29,9 +29,6 @@