From d7ad2240854fc12868b8c48ab514a809c43b69e4 Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Mon, 22 Jul 2024 20:37:59 +0300 Subject: [PATCH] View ExternalIdentitySourceRecord render in Modal --- .../Model/Table/ExtIdentitySourceRecordsTable.php | 14 +++++++++++++- app/templates/ExternalIdentities/fields-nav.inc | 4 ++++ .../ExternalIdentitySources/retrieve.php | 4 ++++ app/templates/Standard/add-edit-view.php | 15 +++++++-------- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/app/src/Model/Table/ExtIdentitySourceRecordsTable.php b/app/src/Model/Table/ExtIdentitySourceRecordsTable.php index 7a81c2aac..c8356f2f4 100644 --- a/app/src/Model/Table/ExtIdentitySourceRecordsTable.php +++ b/app/src/Model/Table/ExtIdentitySourceRecordsTable.php @@ -49,7 +49,19 @@ class ExtIdentitySourceRecordsTable extends Table { use \App\Lib\Traits\SearchFilterTrait; use \App\Lib\Traits\TableMetaTrait; use \App\Lib\Traits\ValidationTrait; - + + /** + * Provide the default layout + * + * @since COmanage Registry v5.0.0 + * @return string Type of redirect + */ + public function getLayout(string $action = ''): string { + return match($action) { + default => 'iframe' + }; + } + /** * Perform Cake Model initialization. * diff --git a/app/templates/ExternalIdentities/fields-nav.inc b/app/templates/ExternalIdentities/fields-nav.inc index 628cb7353..1ac066f34 100644 --- a/app/templates/ExternalIdentities/fields-nav.inc +++ b/app/templates/ExternalIdentities/fields-nav.inc @@ -58,6 +58,10 @@ $topLinks = [ [ 'icon' => 'visibility', 'order' => 'Default', + 'class' => 'cm-modal-link nospin', // launch this in a modal + 'dataAttrs' => [ + ['data-cm-modal-title',__d('controller', 'ExtIdentitySourceRecords', 1)] + ], 'label' => __d('operation', 'view.a', [__d('controller', 'ExtIdentitySourceRecords', 1)]), 'link' => [ 'controller' => 'ext_identity_source_records', diff --git a/app/templates/ExternalIdentitySources/retrieve.php b/app/templates/ExternalIdentitySources/retrieve.php index af4155e38..b9b61a094 100644 --- a/app/templates/ExternalIdentitySources/retrieve.php +++ b/app/templates/ExternalIdentitySources/retrieve.php @@ -71,6 +71,10 @@ $action_args['vv_actions'][] = [ 'order' => 3, 'icon' => 'visibility', + 'class' => 'cm-modal-link nospin', // launch this in a modal + 'dataAttrs' => [ + ['data-cm-modal-title',__d('controller', 'ExtIdentitySourceRecords', 1)] + ], 'url' => [ 'controller' => 'ext-identity-source-records', 'action' => 'view', diff --git a/app/templates/Standard/add-edit-view.php b/app/templates/Standard/add-edit-view.php index bce04253c..fd4386874 100644 --- a/app/templates/Standard/add-edit-view.php +++ b/app/templates/Standard/add-edit-view.php @@ -134,14 +134,13 @@ } if($perm) { - $action_args['vv_actions'][] = [ - 'order' => $this->Menu->getMenuOrder($t['order']), - 'icon' => $this->Menu->getMenuIcon($t['icon']), - 'url' => $t['link'], - 'label' => $t['label'], - 'class' => !empty($t['class']) ? $t['class'] : '', - 'confirm' => !empty($t['confirm']) ? $t['confirm'] : [] - ]; + $action_args['vv_actions'][] = $t; + $key = array_key_last($action_args['vv_actions']); + $action_args['vv_actions'][$key]['order'] = $this->Menu->getMenuOrder($t['order']); + $action_args['vv_actions'][$key]['icon'] = $this->Menu->getMenuIcon($t['icon']); + $action_args['vv_actions'][$key]['url'] = $t['link'] ?? ''; + $action_args['vv_actions'][$key]['class'] = $t['class'] ?? ''; + $action_args['vv_actions'][$key]['confirm'] = $t['confirm'] ?? ''; } }