diff --git a/app/templates/Standard/index.php b/app/templates/Standard/index.php
index 7f3a713ec..ad0206ebf 100644
--- a/app/templates/Standard/index.php
+++ b/app/templates/Standard/index.php
@@ -558,13 +558,28 @@ function _column_key($modelsName, $c, $tz=null) {
foreach($tryActions as $a) {
// Does this user have permission for this action?
if($vv_permission_set[$entity->id][$a]) {
- $args = [];
+ $args = [];
+ $readOnlyIcon = '';
if($isFirstLink) {
- $args = ['class' => 'row-link'];
+ $linkClass = 'row-link';
+ if($a == 'edit') {
+ $linkClass .= ' row-link-edit';
+ } elseif ($a == 'view') {
+ $linkClass .= ' row-link-view';
+ $readOnlyIcon = ' lock';
+ }
+ $args = ['class' => $linkClass];
$isFirstLink = false;
}
// Output the link
+ if(!empty($readOnlyIcon)) {
+ print '
';
+ }
print $this->Html->link($label, ['action' => $a, $entity->id], $args);
+ if(!empty($readOnlyIcon)) {
+ print $readOnlyIcon;
+ print '
';
+ }
$linked = true;
break 2;
}
@@ -581,15 +596,30 @@ function _column_key($modelsName, $c, $tz=null) {
foreach($tryActions as $a) {
// Does this user have permission for this action?
// XXX we actually need to know the permissions on the target (ie: actor person)
- if(true ||
+ if(true ||
$vv_permission_set[$entity->id][$a]) {
$args = [];
+ $readOnlyIcon = '';
if($isFirstLink) {
- $args = ['class' => 'row-link'];
+ $linkClass = 'row-link';
+ if($a == 'edit') {
+ $linkClass .= ' row-link-edit';
+ } elseif ($a == 'view') {
+ $linkClass .= ' row-link-view';
+ $readOnlyIcon = ' lock';
+ }
+ $args = ['class' => $linkClass];
$isFirstLink = false;
}
// Output the link
+ if(!empty($readOnlyIcon)) {
+ print '';
+ }
print $this->Html->link($label, ['controller' => $c, 'action' => $a, $entity->$m->id], $args);
+ if(!empty($readOnlyIcon)) {
+ print $readOnlyIcon;
+ print '
';
+ }
$linked = true;
break 2;
}
diff --git a/app/webroot/css/co-base.css b/app/webroot/css/co-base.css
index bcfe2c29d..74d6da41b 100644
--- a/app/webroot/css/co-base.css
+++ b/app/webroot/css/co-base.css
@@ -760,74 +760,6 @@ ul.form-list li.alert-banner .co-alert {
white-space: nowrap;
margin-right: 0.5em;
}
-/* RECONCILE TABLE */
-#reconcile-table {
- width: auto;
- border: none;
- font-size: 0.8em;
-}
-#reconcile-table td,
-#reconcile-table th {
- border: 1px solid var(--cmg-color-lightgray-006);
-}
-#reconcile-table th {
- font-weight: normal;
-}
-#reconcile-table th.col-names {
- text-align: center;
- background-color: var(--cmg-color-white);
- border: none;
- font-weight: bold;
-}
-#reconcile-table td.empty {
- background-color: var(--cmg-color-white) !important;
- border: none;
- font-size: 0.5em;
-}
-#reconcile-table tbody td.reference-ids {
- text-align: center;
- word-break: break-all;
- background-color: var(--cmg-color-lightgray-003) !important;
-}
-#reconcile-table td.reconcile-actions {
- text-align: center;
-}
-#reconcile-table .btn {
- font-size: 1em;
-}
-#reconcile-table th.attr-title {
- border: none;
- background-color: var(--cmg-color-white);
- text-align: right;
-}
-/* set the borders on the "new" reference id */
-#reconcile-table tbody td:nth-child(2) {
- border-left: 2px solid var(--cmg-color-lightgray-007);
- border-right: 2px solid var(--cmg-color-lightgray-007);
-}
-#reconcile-table tbody tr:first-child td:nth-child(2) {
- border-top: 2px solid var(--cmg-color-lightgray-007);
-}
-#reconcile-table tbody tr:last-child td:nth-child(2) {
- border-bottom: 2px solid var(--cmg-color-lightgray-007);
-}
-/* no zebra for this table */
-#reconcile-table tr:nth-child(2n+1) td {
- background-color: var(--cmg-color-white);
-}
-#reconcile-table tr.match td {
- background-color: var(--cmg-color-green-004);
-}
-/* MATCHGRID MANAGEMENT */
-#matchgrid-management {
- padding: 0;
- margin: 0 0 3em;
-}
-.matchgrid-description {
- margin-top: -1em;
- margin-bottom: 2em;
- font-style: italic;
-}
/* CO CONFIGURATION DASHBOARD */
#configuration-menu {
list-style: none;
@@ -843,13 +775,6 @@ ul.form-list li.alert-banner .co-alert {
color: var(--cmg-color-gray-001);
margin-right: 0.5em;
}
-/* MATCHGRID RECORDS INDEX */
-body.matchgridrecords .popover {
- max-width: unset;
-}
-body.matchgridrecords .popover-header {
- font-size: 1em;
-}
/* INDEX ACTION COMMAND MENUS */
a.action-menu-toggle {
padding: 0.5rem;
@@ -879,6 +804,7 @@ a.dropdown-item.deletebutton {
padding: 0.5em 1em;
}
table.bulk-edit-mode a.row-link,
+table.bulk-edit-mode .read-only-link-container,
table.bulk-edit-mode .row-link-heading,
table.bulk-edit-mode td.actions .field-actions {
display: none;
@@ -1377,7 +1303,7 @@ code,
.fixed-width * {
font-family: "Courier New","Courier",monospace !important;
}
-/* Tables */
+/* INDEX VIEWS and TABLES */
table {
width: 100%;
border-collapse: collapse;
@@ -1437,6 +1363,14 @@ table.index-table.with-actions td:nth-child(2) {
.linked-row:hover td {
background-color: var(--cmg-color-lightgray-001) !important;
}
+table.list-mode .read-only-link-container {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.linked-row .read-only-icon {
+ color: var(--cmg-color-gray-003);
+}
.menuitembutton {
width: 250px;
}