diff --git a/app/src/Controller/AppController.php b/app/src/Controller/AppController.php index 5f09f2c7e..a412c0d22 100644 --- a/app/src/Controller/AppController.php +++ b/app/src/Controller/AppController.php @@ -128,7 +128,7 @@ public function beforeRender(\Cake\Event\Event $event) { // Available Matchgrids $this->loadModel('Matchgrids'); - $this->set('vv_matchgrids', $this->Matchgrids->find('list')->find('activeMatchGrids')->order(['table_name' => 'ASC'])->toArray()); + $this->set('vv_matchgrids', $this->Matchgrids->find('all')->find('activeMatchGrids')->order(['table_name' => 'ASC'])->toArray()); // The set of menu permissions, so the layout knows what to render if(isset($this->Authorization) && $curUser) { diff --git a/app/src/Locale/en_US/default.po b/app/src/Locale/en_US/default.po index 982dea9f2..a081e4160 100644 --- a/app/src/Locale/en_US/default.po +++ b/app/src/Locale/en_US/default.po @@ -381,6 +381,9 @@ msgstr "Matchgrid ID" msgid "match.fd.name" msgstr "Name" +msgid "match.fd.new_record" +msgstr "New Record" + msgid "match.fd.notification_email" msgstr "Notification Email" @@ -465,6 +468,9 @@ msgstr "System of Record ID" msgid "match.fd.status" msgstr "Status" +msgid "match.fd.suggestion.a" +msgstr "Suggestion {0}" + msgid "match.fd.table_name" msgstr "Table Name" @@ -488,7 +494,7 @@ 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." +msgstr "Select the Matchgrid you'd like to manage." msgid "match.in.matchgrids.none" msgstr "There are no matchgrids currently defined." @@ -579,7 +585,7 @@ msgid "match.op.reconcile" msgstr "Reconcile" msgid "match.op.reconcile.requests" -msgstr "Reconcile Requests" +msgstr "Reconcile Unresolved Requests" msgid "match.op.reconcile.a" msgstr "Reconcile Unresolved Requests ({0})" diff --git a/app/src/Model/Table/MatchgridsTable.php b/app/src/Model/Table/MatchgridsTable.php index 0752ed518..42c05de94 100644 --- a/app/src/Model/Table/MatchgridsTable.php +++ b/app/src/Model/Table/MatchgridsTable.php @@ -140,7 +140,7 @@ public function calculateMatchgridId(int $id) { */ public function findActiveMatchgrids(Query $query, array $options) { - return $query->where(['status' => StatusEnum::Active])->select(['id', 'table_name']); + return $query->where(['status' => StatusEnum::Active])->select(['id', 'table_name', 'description']); } /** diff --git a/app/src/Template/Matchgrids/reconcile.ctp b/app/src/Template/Matchgrids/reconcile.ctp index 0dd43c5d3..7b362c987 100644 --- a/app/src/Template/Matchgrids/reconcile.ctp +++ b/app/src/Template/Matchgrids/reconcile.ctp @@ -64,58 +64,79 @@
-

+

- - - - - - - - - - - + $val): ?> + + + + + +
-

-
- ' . substr($c['referenceid'],0,10) . '' . (strlen($c['referenceid']) > 10 ? '...' : '') - : __('match.op.new')); ?> +
+ + + + + + + + + + + + + + - - - - - - + + + + + - - - - - - > - - $val): ?> - + + - - -
+ + +
+

- Form->postLink(__('match.op.reconcile.' . (!empty($c['referenceid']) ? 'assign' : 'generate')), - ['action' => 'reconcile', - $vv_cur_mg->id], - ['data' => [ - 'rowid' => $vv_request['id'], - // Default value needs to be the literal string "new" and not a localized text string - 'referenceid' => (!empty($c['referenceid']) ? $c['referenceid'] : 'new') - ], - 'confirm' => __('match.op.assign.confirm'), - 'class' => 'linkbutton']); - ?> + + + +
+
+ Form->postLink(__('match.op.reconcile.' . (!empty($c['referenceid']) ? 'assign' : 'generate')), + ['action' => 'reconcile', + $vv_cur_mg->id], + ['data' => [ + 'rowid' => $vv_request['id'], + // Default value needs to be the literal string "new" and not a localized text string + 'referenceid' => (!empty($c['referenceid']) ? $c['referenceid'] : 'new') + ], + 'confirm' => __('match.op.assign.confirm'), + 'class' => 'btn btn-primary']); + ?> +
\ No newline at end of file + + + + > +
+ + Html->link( + $val, + ['controller' => 'matchgrid-records', + 'action' => 'edit', + $val, + '?' => ['matchgrid_id' => $vv_cur_mg->id]]); ?> + + + +
+ \ No newline at end of file diff --git a/app/src/Template/Matchgrids/select.ctp b/app/src/Template/Matchgrids/select.ctp index 410acbc59..39bcf56a1 100644 --- a/app/src/Template/Matchgrids/select.ctp +++ b/app/src/Template/Matchgrids/select.ctp @@ -42,34 +42,49 @@ use \App\Lib\Enum\PermissionEnum;

-
+
-
+
+
- $name): ?> +
-
- +
+ Html->link($mg['table_name'], + ['controller' => 'Matchgrids', + 'action' => 'manage', + $mg['id']], + ['class' => 'row-link']); + } else { + print filter_var($mg['table_name'], FILTER_SANITIZE_SPECIAL_CHARS); + } + ?>
-
+
+ +
+
Html->link(__('match.op.manage'), ['controller' => 'Matchgrids', 'action' => 'manage', - $id], - ['class' => 'configurebutton row-link']); + $mg['id']], + ['class' => 'btn btn-primary btn-sm']); } ?>
diff --git a/app/webroot/css/co-base.css b/app/webroot/css/co-base.css index 1ed3649c0..fe0576df7 100644 --- a/app/webroot/css/co-base.css +++ b/app/webroot/css/co-base.css @@ -515,41 +515,55 @@ body.logged-in #top-menu { } #reconcile-table td, #reconcile-table th { - border: 1px solid #eee; + border: 1px solid #ddd; } #reconcile-table th { - background-color: white; - text-align: center; + font-weight: normal; } -#reconcile-table th.reference-ids a { - color: black; - text-decoration: none; - cursor: context-menu; +#reconcile-table th.col-names { + text-align: center; + background-color: white; + border: none; + font-weight: bold; } #reconcile-table td.empty { background-color: white !important; border: none; font-size: 0.5em; } -#reconcile-table th.strong-header { - padding-top: 0; - padding-bottom: 0; - background-color: #eee; +#reconcile-table tbody td.reference-ids { + text-align: center; + word-break: break-all; + background-color: #f5f5f5 !important; +} +#reconcile-table td.reconcile-actions { + text-align: center; } -#reconcile-table h2 { +#reconcile-table .btn { font-size: 1em; - margin: 0; - padding: 0; } -#reconcile-table td.attr-title { - font-weight: bold; +#reconcile-table th.attr-title { + border: none; + background-color: white; text-align: right; } +/* set the borders on the "new" reference id */ +#reconcile-table tbody td:nth-child(2) { + border-left: 2px solid #ccc; + border-right: 2px solid #ccc; +} +#reconcile-table tbody tr:first-child td:nth-child(2) { + border-top: 2px solid #ccc; +} +#reconcile-table tbody tr:last-child td:nth-child(2) { + border-bottom: 2px solid #ccc; +} +/* no zebra for this table */ #reconcile-table tr:nth-child(2n+1) td { - background-color: white; /* no zebra for this table */ + background-color: white; } #reconcile-table tr.match td { - background-color: #efe; + background-color: #dfd; } /* MATCHGRID MANAGEMENT */ #matchgrid-management { @@ -933,7 +947,7 @@ a.desc::before { padding: 1em; } .co-grid .co-grid-header { - background-color: #e5e5e5 !important; + background-color: #e8e8e8 !important; font-weight: bold; } .co-grid .co-row { diff --git a/app/webroot/css/co-responsive.css b/app/webroot/css/co-responsive.css index 564767443..03cfd9234 100644 --- a/app/webroot/css/co-responsive.css +++ b/app/webroot/css/co-responsive.css @@ -192,15 +192,11 @@ margin-bottom: 0; } /* MATCHGRID MANAGEMENT */ - #matchgrid-management { - max-width: 700px; - } #matchgrid-config-menu { display: grid; column-gap: 1em; grid-template-columns: 1fr 1fr 1fr 1fr; margin-bottom: 4em; - max-width: 700px; } /* RECONCILE TABLE */ #reconcile-table {