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');",