diff --git a/app/src/Model/Table/ExtIdentitySourceRecordsTable.php b/app/src/Model/Table/ExtIdentitySourceRecordsTable.php index f3cc2de45..b14d55211 100644 --- a/app/src/Model/Table/ExtIdentitySourceRecordsTable.php +++ b/app/src/Model/Table/ExtIdentitySourceRecordsTable.php @@ -39,6 +39,7 @@ // This should be ExternalIdentitySourceRecordsTable but then alias.field assembly // exceeds Cake's 61 character limit class ExtIdentitySourceRecordsTable extends Table { + use \App\Lib\Traits\AutoViewVarsTrait; use \App\Lib\Traits\ChangelogBehaviorTrait; use \App\Lib\Traits\CoLinkTrait; use \App\Lib\Traits\LabeledLogTrait; diff --git a/app/src/Model/Table/ExternalIdentitySourcesTable.php b/app/src/Model/Table/ExternalIdentitySourcesTable.php index 3bfa4ab2c..e7519a967 100644 --- a/app/src/Model/Table/ExternalIdentitySourcesTable.php +++ b/app/src/Model/Table/ExternalIdentitySourcesTable.php @@ -113,6 +113,11 @@ public function initialize(array $config): void { 'add' => ['platformAdmin', 'coAdmin'], 'index' => ['platformAdmin', 'coAdmin'], 'status' => ['platformAdmin', 'coAdmin'] + ], + 'related' => [ + 'table' => [ + 'ExtIdentitySourceRecords' + ] ] ]); } diff --git a/app/src/Model/Table/PipelinesTable.php b/app/src/Model/Table/PipelinesTable.php index 9fb3ac2b0..09f1fa28d 100644 --- a/app/src/Model/Table/PipelinesTable.php +++ b/app/src/Model/Table/PipelinesTable.php @@ -423,6 +423,9 @@ protected function duplicateFilterEntityData($entity): array { foreach(['valid_from', 'valid_through'] as $attr) { if(!empty($entity->$attr)) { $newdata[$attr] = $entity->$attr->i18nFormat('yyyy-MM-dd HH:mm:ss'); + } else { + // Populate a blank value so removal works correctly + $newdata[$attr] = ""; } } diff --git a/app/templates/ExtIdentitySourceRecords/columns.inc b/app/templates/ExtIdentitySourceRecords/columns.inc index 66e28f068..bdb686ca0 100644 --- a/app/templates/ExtIdentitySourceRecords/columns.inc +++ b/app/templates/ExtIdentitySourceRecords/columns.inc @@ -28,7 +28,8 @@ $indexColumns = [ // We start with id to ensure there is a clickable field in the row 'id' => [ - 'type' => 'link' + 'type' => 'link', + 'sortable' => true ], 'external_identity_source_id' => [ 'type' => 'relatedLink', diff --git a/app/templates/ExternalIdentitySources/columns.inc b/app/templates/ExternalIdentitySources/columns.inc index 27fde5877..7fb3cc7f8 100644 --- a/app/templates/ExternalIdentitySources/columns.inc +++ b/app/templates/ExternalIdentitySources/columns.inc @@ -48,6 +48,12 @@ $rowActions = [ 'label' => __d('operation', 'ExternalIdentitySources.search'), 'icon' => 'search' ], + [ + 'controller' => 'ExtIdentitySourceRecords', + 'action' => 'index', + 'label' => __d('operation', 'view.a', [__d('controller', 'ExtIdentitySourceRecords', 99)]), + 'icon' => 'view_list' + ], [ 'action' => 'edit', 'label' => __d('operation', 'edit.a', [__d('controller', 'ExternalIdentitySources', 1)]),