diff --git a/templates/MetaTemplates/index.php b/templates/MetaTemplates/index.php index 68c2ad4..e1aec64 100644 --- a/templates/MetaTemplates/index.php +++ b/templates/MetaTemplates/index.php @@ -29,6 +29,11 @@ echo $this->element('genericElements/IndexTable/index_table', [ 'element' => 'toggle', 'url' => '/metaTemplates/toggle', 'url_params_data_paths' => ['id'], + 'toggle_requirement' => [ + 'function' => function($row, $options) { + return true; + } + ] ], [ 'name' => __('Scope'), @@ -60,29 +65,6 @@ echo $this->element('genericElements/IndexTable/index_table', [ 'url_params_data_paths' => ['id'], 'icon' => 'eye' ], - [ - 'url' => '/metaTemplates/toggle', - 'url_params_data_paths' => ['id'], - 'title' => __('Enable template'), - 'icon' => 'plus', - 'complex_requirement' => [ - 'function' => function($row, $options) { - return !(bool)$row['enabled']; - } - ] - ], - [ - 'url' => '/metaTemplates/toggle', - 'url_params_data_paths' => ['id'], - 'title' => __('DIsable template'), - 'icon' => 'minus', - 'complex_requirement' => [ - 'function' => function($row, $options) { - return (bool)$row['enabled']; - } - ] - ] - ] ] ]); diff --git a/templates/element/genericElements/IndexTable/Fields/toggle.php b/templates/element/genericElements/IndexTable/Fields/toggle.php index 9461bb6..cb19b5b 100644 --- a/templates/element/genericElements/IndexTable/Fields/toggle.php +++ b/templates/element/genericElements/IndexTable/Fields/toggle.php @@ -10,13 +10,28 @@ $seed = rand(); $checkboxId = 'GenericToggle-' . $seed; $tempboxId = 'TempBox-' . $seed; + + $requirementMet = true; + if (isset($field['toggle_requirement'])) { + if (isset($field['toggle_requirement']['options']['datapath'])) { + foreach ($field['toggle_requirement']['options']['datapath'] as $name => $path) { + $field['toggle_requirement']['options']['datapath'][$name] = empty($this->Hash->extract($row, $path)[0]) ? null : $this->Hash->extract($row, $path)[0]; + } + } + $options = isset($field['toggle_requirement']['options']) ? $field['toggle_requirement']['options'] : array(); + $requirementMet = $field['toggle_requirement']['function']($row, $options); + } + echo sprintf( - '', + '', $checkboxId, empty($data[0]) ? '' : 'checked', + $requirementMet ? '' : 'disabled="disabled"', $tempboxId ); ?> + + + \ No newline at end of file diff --git a/templates/element/genericElements/SingleViews/Fields/alignmentField.php b/templates/element/genericElements/SingleViews/Fields/alignmentField.php index 8cec8d5..7d93530 100644 --- a/templates/element/genericElements/SingleViews/Fields/alignmentField.php +++ b/templates/element/genericElements/SingleViews/Fields/alignmentField.php @@ -48,7 +48,7 @@ if ($field['scope'] === 'individuals') { } } echo sprintf( - '
%s
', + '
%s
', $alignments, sprintf( "populateAndLoadModal('/alignments/add/%s/%s');",