From 54b502e7a513f1e4f3e3d3a6e4c896ad314cba8f Mon Sep 17 00:00:00 2001 From: Benn Oshrin Date: Mon, 26 Feb 2024 19:56:09 -0500 Subject: [PATCH 01/26] Initial implementation of Enrollment Flow infrastructure and Attribute Collector (CFM-31) --- app/config/schema/schema.json | 85 ++++++++++++++++++++ app/templates/EnrollmentFlows/fields-nav.inc | 49 +++++++++++ 2 files changed, 134 insertions(+) create mode 100644 app/templates/EnrollmentFlows/fields-nav.inc diff --git a/app/config/schema/schema.json b/app/config/schema/schema.json index f01e0e9dc..1e96101ca 100644 --- a/app/config/schema/schema.json +++ b/app/config/schema/schema.json @@ -544,6 +544,91 @@ } }, + "enrollment_flows": { + "columns": { + "id": {}, + "co_id": {}, + "name": {}, + "status": {}, + "sor_label": {}, + "authz_type": { "type": "string", "size": 2 }, + "authz_cou_id": { "type": "integer", "foreignkey": { "table": "cous", "column": "id" }}, + "authz_group_id": { "type": "integer", "foreignkey": { "table": "groups", "column": "id" }}, + "collect_enrollee_email": { "type": "boolean" }, + "redirect_on_finalize": { "type": "string", "size": 256 } + }, + "indexes": { + "enrollment_flows_i1": { "columns": [ "co_id" ]}, + "enrollment_flows_i2": { "needed": false, "columns": [ "authz_cou_id" ]}, + "enrollment_flows_i3": { "needed": false, "columns": [ "authz_group_id" ]} + } + }, + + "enrollment_flow_steps": { + "columns": { + "id": {}, + "enrollment_flow_id": { "type": "integer", "foreignkey": { "table": "enrollment_flows", "column": "id" }}, + "description": {}, + "status": {}, + "plugin": {}, + "ordr": {}, + "actor_type": { "type": "string", "size": 2 } + }, + "indexes": { + "enrollment_flow_steps_i1": { "columns": [ "enrollment_flow_id" ]} + } + }, + + "petitions": { + "columns": { + "id": {}, + "enrollment_flow_id": { "type": "integer", "foreignkey": { "table": "enrollment_flows", "column": "id" }}, + "status": {}, + "cou_id": {}, + "enrollee_email": { "type": "string", "size": 256 }, + "enrollee_identifier": { "type": "string", "size": 256 }, + "enrollee_person_id": { "type": "integer", "foreignkey": { "table": "people", "column": "id" }}, + "petitioner_identifier": { "type": "string", "size": 256 }, + "petitioner_person_id": { "type": "integer", "foreignkey": { "table": "people", "column": "id" }}, + "token": { "type": "string", "size": 256 } + }, + "indexes": { + "petitions_i1": { "columns": [ "enrollment_flow_id" ]}, + "petitions_i2": { "columns": [ "cou_id" ]}, + "petitions_i3": { "columns": [ "enrollee_person_id" ]}, + "petitions_i4": { "columns": [ "petitioner_person_id" ]} + } + }, + + "petition_step_results": { + "columns": { + "id": {}, + "petition_id": {}, + "enrollment_flow_step_id": {}, + "comment": {} + }, + "indexes": { + "petition_step_results_i1": { "columns": [ "petition_id" ] }, + "petition_step_results_i2": { "needed": false, "columns": [ "enrollment_flow_step_id" ] } + } + }, + + "petition_history_records": { + "columns": { + "id": {}, + "petition_id": {}, + "enrollment_flow_step_id": {}, + "action": {}, + "comment": {}, + "actor_person_id": { "type": "integer", "foreignkey": { "table": "people", "column": "id" } } + }, + "indexes": { + "petition_history_records_i1": { "columns": [ "petition_id" ] }, + "petition_history_records_i2": { "columns": [ "actor_person_id" ] }, + "petition_history_records_i3": { "needed": false, "columns": [ "enrollment_flow_step_id" ] } + } + }, + "message_templates": { "columns": { "id": {}, diff --git a/app/templates/EnrollmentFlows/fields-nav.inc b/app/templates/EnrollmentFlows/fields-nav.inc new file mode 100644 index 000000000..0784d543c --- /dev/null +++ b/app/templates/EnrollmentFlows/fields-nav.inc @@ -0,0 +1,49 @@ + 'format_list_numbered', + 'order' => 'Default', + 'label' => __d('controller', 'EnrollmentFlowSteps', [99]), + 'link' => [ + 'controller' => 'enrollment_flow_steps', + 'action' => 'index', + 'enrollment_flow_id' => $vv_obj->id + ], + 'class' => '' +]; + +$topLinks[] = [ + 'icon' => 'start', + 'order' => 'Default', + 'label' => __d('operation', 'EnrollmentFlows.start'), + 'link' => [ + 'action' => 'start', + $vv_obj->id + ], + 'class' => '' +]; From ddf9eb745b2e0e094d4e862e830ecc2c9c2f61c8 Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Thu, 7 Mar 2024 14:08:40 -0500 Subject: [PATCH 02/26] Add top-level subnavigation to Enrollment Flow and Enrollment Flow Steps (CFM-31) (#166) --- app/templates/EnrollmentFlows/fields-nav.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/templates/EnrollmentFlows/fields-nav.inc b/app/templates/EnrollmentFlows/fields-nav.inc index 0784d543c..614ac726f 100644 --- a/app/templates/EnrollmentFlows/fields-nav.inc +++ b/app/templates/EnrollmentFlows/fields-nav.inc @@ -47,3 +47,8 @@ $topLinks[] = [ ], 'class' => '' ]; + +$subnav = [ + 'name' => 'enrollment_flow', + 'active' => 'properties' +]; \ No newline at end of file From 253d8769aff0e8d6540439be5601d4bad237cd4f Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Wed, 13 Mar 2024 09:48:14 -0400 Subject: [PATCH 03/26] Add titles to Petition steps and buttons to the steps index (CFM-31) (#173) --- app/templates/Standard/dispatch.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/app/templates/Standard/dispatch.php b/app/templates/Standard/dispatch.php index be78db43f..d6ebac506 100644 --- a/app/templates/Standard/dispatch.php +++ b/app/templates/Standard/dispatch.php @@ -78,6 +78,33 @@ $this->set('vv_fields_inc', 'dispatch.inc'); $this->set('vv_submit_button_label', __d('operation', 'continue')); +?> + +
+
+

+
+
+ + +
+ Flash->render() ?> + + + + Alert->alert($b, 'warning') ?> + + + + + + Alert->alert($b, 'warning') ?> + + +
+ +Form->create(); From d1f5e6575a37f770d8ae6460ef1f37dd7d423584 Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Wed, 13 Mar 2024 13:14:25 -0400 Subject: [PATCH 04/26] Simplify end-user Petition views (CFM-31) (#175) --- .../EnrollmentFlowSteps/fields-nav.inc | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 app/templates/EnrollmentFlowSteps/fields-nav.inc diff --git a/app/templates/EnrollmentFlowSteps/fields-nav.inc b/app/templates/EnrollmentFlowSteps/fields-nav.inc new file mode 100644 index 000000000..7eebea083 --- /dev/null +++ b/app/templates/EnrollmentFlowSteps/fields-nav.inc @@ -0,0 +1,31 @@ + 'enrollment_flow', + 'active' => 'steps' +]; \ No newline at end of file From d8f009f7549eb3e4b9406a59b4fe83433a87b21d Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Wed, 14 Aug 2024 13:12:15 -0400 Subject: [PATCH 05/26] Post-rebase vs. develop corrections (CFM-31) --- app/templates/Standard/index.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/templates/Standard/index.php b/app/templates/Standard/index.php index 1d07fe396..b6e157ddd 100644 --- a/app/templates/Standard/index.php +++ b/app/templates/Standard/index.php @@ -407,7 +407,8 @@ } // Output the row actions if present - if($isFirstLink && !empty($rowActions)) { + if($isFirstLink && !empty($action_args['vv_actions'])) { + // todo check if needed print '
'; print '
'; print $this->element('menuAction', $action_args); From 7d15da5f9fcfa282521d21785f294c6b752541cc Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Tue, 24 Sep 2024 09:16:45 -0400 Subject: [PATCH 06/26] Correct test for $rowActions post-rebase. (CFM-31) --- app/templates/Standard/index.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/templates/Standard/index.php b/app/templates/Standard/index.php index b6e157ddd..1d07fe396 100644 --- a/app/templates/Standard/index.php +++ b/app/templates/Standard/index.php @@ -407,8 +407,7 @@ } // Output the row actions if present - if($isFirstLink && !empty($action_args['vv_actions'])) { - // todo check if needed + if($isFirstLink && !empty($rowActions)) { print '
'; print '
'; print $this->element('menuAction', $action_args); From 530887efa73e7370627a9a5256a19e9b23e229b1 Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Thu, 26 Sep 2024 22:18:54 +0300 Subject: [PATCH 07/26] feature-cfm31-subnavigation (#217) * Group to tabs element * enrollment flows tabs * Person to tabs * Missing tabs code * Improve Status badge. * Typos * Core code should not depend on Plugins for subnavigation * simplify code * Move subnavigation import to a php partial * Remove obsolete files.Add support for custom actions * Active navigation tab form deep associated model * fix active navigation tab first level * Fixed deep associations * Fix tab counter for all use cases * Fix active tabs everywhere. * fix depth calculation --- .../Model/Table/AttributeCollectorsTable.php | 25 ++++++++++-- app/src/Lib/Traits/TabTrait.php | 35 ++++++++++++++++- .../EnrollmentFlowSteps/fields-nav.inc | 31 --------------- app/templates/Petitions/fields-nav.inc | 39 +++++++++++++++++++ 4 files changed, 94 insertions(+), 36 deletions(-) delete mode 100644 app/templates/EnrollmentFlowSteps/fields-nav.inc diff --git a/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php b/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php index 2c7701b4c..23bd6e444 100644 --- a/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php +++ b/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php @@ -80,15 +80,32 @@ public function initialize(array $config): void { $this->setTabsConfig( [ // Ordered list of Tabs - 'tabs' => ['EnrollmentFlowSteps', 'CoreEnroller.AttributeCollectors', 'CoreEnroller.EnrollmentAttributes'], + 'tabs' => ['EnrollmentFlows', 'EnrollmentFlowSteps', 'Petitions'], // What actions will inlcude the subnavigation header 'action' => [ // If a model renders in a subnavigation mode in edit/view mode, it cannot // render in index mode for the same use case/context // XXX edit should go first. - 'EnrollmentFlowSteps' => ['edit', 'view'], - 'CoreEnroller.AttributeCollectors' => ['edit'], - 'CoreEnroller.EnrollmentAttributes' => ['index'], + 'EnrollmentFlows' => ['edit', 'view'], + 'EnrollmentFlowSteps' => ['index'], + 'Petitions' => ['index'], + ], + // What model will have a counter-badge after the tab title + 'counter' => ['EnrollmentFlowSteps', 'Petitions'], + 'nested' => [ + // Ordered list of Tabs + 'tabs' => ['EnrollmentFlowSteps', 'CoreEnroller.AttributeCollectors', 'CoreEnroller.EnrollmentAttributes'], + // What actions will include the subnavigation header + 'action' => [ + // If a model renders in a subnavigation mode in edit/view mode, it cannot + // render in index mode for the same use case/context + // XXX edit should go first. + 'EnrollmentFlowSteps' => ['edit', 'view'], + 'CoreEnroller.AttributeCollectors' => ['edit'], + 'CoreEnroller.EnrollmentAttributes' => ['index'] + ], + // What model will have a counter-badge after the tab title + 'counter' => ['CoreEnroller.EnrollmentAttributes'], ] ] ); diff --git a/app/src/Lib/Traits/TabTrait.php b/app/src/Lib/Traits/TabTrait.php index 66f029f25..311bf3cef 100644 --- a/app/src/Lib/Traits/TabTrait.php +++ b/app/src/Lib/Traits/TabTrait.php @@ -1,6 +1,10 @@ >>>>>>> 9a427e22 (feature-cfm31-subnavigation (#217)):app/templates/element/subnavigation/inlineList.php * * Portions licensed to the University Corporation for Advanced Internet * Development, Inc. ("UCAID") under one or more contributor license agreements. @@ -25,8 +29,10 @@ * @license Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ + declare(strict_types = 1); +<<<<<<<< HEAD:app/src/Lib/Traits/TabTrait.php namespace App\Lib\Traits; trait TabTrait @@ -68,4 +74,31 @@ public function setTabsConfig(array $tabsConfig): void $this->tabsConfig = $tabsConfig; } -} \ No newline at end of file +} +======== +$curAction = $this->request->getParam('action'); +$curController = $this->request->getParam('controller'); +$isNested = true; + +extract($vv_sub_nav_attributes, EXTR_PREFIX_ALL, 'vv_subnavigation'); + +$curId = $this->request->getQuery($vv_primary_link) + ?? $vv_obj->id + ?? end($vv_bc_title_links[0]['target']); +?> + + +
  • + element('subnavigation/tabTitle', compact('tab', 'curId', 'isNested')); + // Construct Target URL + $url = $this->Tab->constructLinkUrl($tab, $curId, $isNested); + // Calculate Tab Style Class(es) + $linkClass = $this->Tab->getLinkClass($tab, $isNested); + // Import element in the DOM + print $this->Html->link($title, $url, ['class' => $linkClass, 'escape' => false]); + ?> +
  • + +>>>>>>>> 9a427e22 (feature-cfm31-subnavigation (#217)):app/templates/element/subnavigation/inlineList.php diff --git a/app/templates/EnrollmentFlowSteps/fields-nav.inc b/app/templates/EnrollmentFlowSteps/fields-nav.inc deleted file mode 100644 index 7eebea083..000000000 --- a/app/templates/EnrollmentFlowSteps/fields-nav.inc +++ /dev/null @@ -1,31 +0,0 @@ - 'enrollment_flow', - 'active' => 'steps' -]; \ No newline at end of file diff --git a/app/templates/Petitions/fields-nav.inc b/app/templates/Petitions/fields-nav.inc index 1609fca83..2e475199b 100644 --- a/app/templates/Petitions/fields-nav.inc +++ b/app/templates/Petitions/fields-nav.inc @@ -1,6 +1,10 @@ >>>>>>> 9a427e22 (feature-cfm31-subnavigation (#217)):app/src/Lib/Traits/TabTrait.php * * Portions licensed to the University Corporation for Advanced Internet * Development, Inc. ("UCAID") under one or more contributor license agreements. @@ -25,6 +29,7 @@ * @license Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ +<<<<<<<< HEAD:app/templates/Petitions/fields-nav.inc $topLinks = [ [ 'icon' => 'resume', @@ -36,3 +41,37 @@ $topLinks = [ ] ] ]; +======== +declare(strict_types = 1); + +namespace App\Lib\Traits; + +trait TabTrait +{ + /** + * Tabs configuration + * + * @var array + */ + private array $tabsConfig = []; + + /** + * @return array + */ + public function getTabsConfig(): array + { + return $this->tabsConfig; + } + + /** + * @param array $tabsConfig + * + * @return void + */ + public function setTabsConfig(array $tabsConfig): void + { + $this->tabsConfig = $tabsConfig; + } + +} +>>>>>>>> 9a427e22 (feature-cfm31-subnavigation (#217)):app/src/Lib/Traits/TabTrait.php From 65f3e68b2c146b611dbf5593503f4e1a368197c9 Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Fri, 27 Sep 2024 16:13:30 -0400 Subject: [PATCH 08/26] Ensure a title exists on Petition start, dispatch, and resume (CFM-31) (#222) --- .../src/Controller/AttributeCollectorsController.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/plugins/CoreEnroller/src/Controller/AttributeCollectorsController.php b/app/plugins/CoreEnroller/src/Controller/AttributeCollectorsController.php index 27faa2749..0cb0f9928 100644 --- a/app/plugins/CoreEnroller/src/Controller/AttributeCollectorsController.php +++ b/app/plugins/CoreEnroller/src/Controller/AttributeCollectorsController.php @@ -118,6 +118,12 @@ public function dispatch(string $id) { ->find() ->where(['petition_id' => $petition->id]) ->all()); + + // Get the title + // XXX Replace $petition->enrollment_flow_id with the Enrollment Flow "Name" (for now) + // XXX We should have a "Title" for end-users that is different from the Enrollment Flow "Name" + // for start and dispatch. + $this->set('vv_title', $petition->enrollment_flow_id); $this->render('/Standard/dispatch'); } From d626f2186ec91ac91bd6453499dc50adb78a4b72 Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Fri, 27 Sep 2024 16:34:24 -0400 Subject: [PATCH 09/26] Remove unnecessary top-link from Enrollment Flow properties (CFM-31) (#223) --- app/templates/EnrollmentFlows/fields-nav.inc | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/app/templates/EnrollmentFlows/fields-nav.inc b/app/templates/EnrollmentFlows/fields-nav.inc index 614ac726f..2beb1446c 100644 --- a/app/templates/EnrollmentFlows/fields-nav.inc +++ b/app/templates/EnrollmentFlows/fields-nav.inc @@ -25,18 +25,6 @@ * @license Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ -$topLinks[] = [ - 'icon' => 'format_list_numbered', - 'order' => 'Default', - 'label' => __d('controller', 'EnrollmentFlowSteps', [99]), - 'link' => [ - 'controller' => 'enrollment_flow_steps', - 'action' => 'index', - 'enrollment_flow_id' => $vv_obj->id - ], - 'class' => '' -]; - $topLinks[] = [ 'icon' => 'start', 'order' => 'Default', From 5563c850458271123a8334290cf95ddaf5594d80 Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Sat, 28 Sep 2024 14:21:28 +0300 Subject: [PATCH 10/26] fix deep nested navigation tab id calculation --- app/templates/element/subnavigation/tabList.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/templates/element/subnavigation/tabList.php b/app/templates/element/subnavigation/tabList.php index 5edb06e1f..706ae966d 100644 --- a/app/templates/element/subnavigation/tabList.php +++ b/app/templates/element/subnavigation/tabList.php @@ -51,6 +51,7 @@
  • Tab->getCurrentId($tab, $isNested); // Construct Element Title $title = $this->element('subnavigation/tabTitle', compact('tab', 'curId', 'isNested')); // Construct Target URL From 7c078aae8061d7c3a864eb54e9dd0620d84f07c8 Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Mon, 14 Oct 2024 18:26:15 +0300 Subject: [PATCH 15/26] Fix tab rendering for EnrollmentFlow plugins (#235) * Fix tab rendering for EnrollmentFlow plugins * Improve getLayout trait * fix enrollment attributes add/edit view title --- .../Model/Table/AttributeCollectorsTable.php | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php b/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php index 2c1699ddf..e7f74a3e0 100644 --- a/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php +++ b/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php @@ -40,6 +40,7 @@ class AttributeCollectorsTable extends Table { use \App\Lib\Traits\AutoViewVarsTrait; use \App\Lib\Traits\CoLinkTrait; + use \App\Lib\Traits\LayoutTrait; use \App\Lib\Traits\PermissionsTrait; use \App\Lib\Traits\PrimaryLinkTrait; use \App\Lib\Traits\TabTrait; @@ -79,33 +80,17 @@ public function initialize(array $config): void { $this->setTabsConfig( [ // Ordered list of Tabs - 'tabs' => ['EnrollmentFlows', 'EnrollmentFlowSteps', 'Petitions'], + 'tabs' => ['EnrollmentFlowSteps', 'CoreEnroller.AttributeCollectors', 'CoreEnroller.EnrollmentAttributes'], // What actions will inlcude the subnavigation header 'action' => [ // If a model renders in a subnavigation mode in edit/view mode, it cannot // render in index mode for the same use case/context // XXX edit should go first. - 'EnrollmentFlows' => ['edit', 'view'], - 'EnrollmentFlowSteps' => ['index'], - 'Petitions' => ['index'], + 'EnrollmentFlowSteps' => ['edit', 'view'], + 'CoreEnroller.AttributeCollectors' => ['edit'], + 'CoreEnroller.EnrollmentAttributes' => ['index'], ], - // What model will have a counter-badge after the tab title - 'counter' => ['EnrollmentFlowSteps', 'Petitions'], - 'nested' => [ - // Ordered list of Tabs - 'tabs' => ['EnrollmentFlowSteps', 'CoreEnroller.AttributeCollectors', 'CoreEnroller.EnrollmentAttributes'], - // What actions will include the subnavigation header - 'action' => [ - // If a model renders in a subnavigation mode in edit/view mode, it cannot - // render in index mode for the same use case/context - // XXX edit should go first. - 'EnrollmentFlowSteps' => ['edit', 'view'], - 'CoreEnroller.AttributeCollectors' => ['edit'], - 'CoreEnroller.EnrollmentAttributes' => ['index'] - ], - // What model will have a counter-badge after the tab title - 'counter' => ['CoreEnroller.EnrollmentAttributes'], - ] + 'skipTab' => ['CoreEnroller.AttributeCollectors'] ] ); From e46e9e4278d8368adb4d2ca6b8be564370333293 Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Tue, 15 Oct 2024 11:28:06 +0300 Subject: [PATCH 16/26] Fix use case:Plugin.Hierarchy deep nested when no hasMany association. --- app/templates/element/subnavigation/inlineList.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/templates/element/subnavigation/inlineList.php b/app/templates/element/subnavigation/inlineList.php index da92ccac2..6fb1ef488 100644 --- a/app/templates/element/subnavigation/inlineList.php +++ b/app/templates/element/subnavigation/inlineList.php @@ -51,7 +51,6 @@ ?>
  • Tab->getCurrentId($tab, $isNested); // Construct Element Title $title = $this->element('subnavigation/tabTitle', compact('tab', 'curId', 'isNested')); // Construct Target URL From 8cac2d905bc2d7e629e9a99efaf362c005a5c0d4 Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Wed, 16 Oct 2024 17:00:18 +0300 Subject: [PATCH 17/26] Check for hasMany associations before rendering a tab --- .../CoreEnroller/src/Model/Table/AttributeCollectorsTable.php | 3 +-- app/src/Model/Table/EnrollmentFlowStepsTable.php | 3 ++- app/templates/element/subnavigation/tabList.php | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php b/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php index e7f74a3e0..2c7701b4c 100644 --- a/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php +++ b/app/plugins/CoreEnroller/src/Model/Table/AttributeCollectorsTable.php @@ -89,8 +89,7 @@ public function initialize(array $config): void { 'EnrollmentFlowSteps' => ['edit', 'view'], 'CoreEnroller.AttributeCollectors' => ['edit'], 'CoreEnroller.EnrollmentAttributes' => ['index'], - ], - 'skipTab' => ['CoreEnroller.AttributeCollectors'] + ] ] ); diff --git a/app/src/Model/Table/EnrollmentFlowStepsTable.php b/app/src/Model/Table/EnrollmentFlowStepsTable.php index f84e47447..99f359388 100644 --- a/app/src/Model/Table/EnrollmentFlowStepsTable.php +++ b/app/src/Model/Table/EnrollmentFlowStepsTable.php @@ -41,13 +41,14 @@ class EnrollmentFlowStepsTable extends Table { use \App\Lib\Traits\AutoViewVarsTrait; use \App\Lib\Traits\ChangelogBehaviorTrait; use \App\Lib\Traits\CoLinkTrait; + use \App\Lib\Traits\LayoutTrait; use \App\Lib\Traits\PermissionsTrait; use \App\Lib\Traits\PluggableModelTrait; use \App\Lib\Traits\PrimaryLinkTrait; use \App\Lib\Traits\TabTrait; use \App\Lib\Traits\TableMetaTrait; use \App\Lib\Traits\ValidationTrait; - + /** * Perform Cake Model initialization. * diff --git a/app/templates/element/subnavigation/tabList.php b/app/templates/element/subnavigation/tabList.php index 706ae966d..5edb06e1f 100644 --- a/app/templates/element/subnavigation/tabList.php +++ b/app/templates/element/subnavigation/tabList.php @@ -51,7 +51,6 @@