diff --git a/admin/tool/analytics/classes/output/models_list.php b/admin/tool/analytics/classes/output/models_list.php index 0e8d4e8d61d..cbd0a60770d 100644 --- a/admin/tool/analytics/classes/output/models_list.php +++ b/admin/tool/analytics/classes/output/models_list.php @@ -119,6 +119,9 @@ class models_list implements \renderable, \templatable { debugging("The time splitting method '{$modeldata->timesplitting}' should include a '{$identifier}_help' string to describe its purpose.", DEBUG_DEVELOPER); } + } else { + $helpicon = new \help_icon('timesplittingnotdefined', 'tool_analytics'); + $modeldata->timesplittinghelp = $helpicon->export_for_template($output); } // Has this model generated predictions?. @@ -207,19 +210,22 @@ class models_list implements \renderable, \templatable { } // Enable / disable. - if ($model->is_enabled()) { - $action = 'disable'; - $text = get_string('disable'); - $icontype = 't/block'; - } else { - $action = 'enable'; - $text = get_string('enable'); - $icontype = 'i/checked'; + if ($model->is_enabled() || !empty($modeldata->timesplitting)) { + // If there is no timesplitting method set, the model can not be enabled. + if ($model->is_enabled()) { + $action = 'disable'; + $text = get_string('disable'); + $icontype = 't/block'; + } else { + $action = 'enable'; + $text = get_string('enable'); + $icontype = 'i/checked'; + } + $urlparams['action'] = $action; + $url = new \moodle_url('model.php', $urlparams); + $icon = new \action_menu_link_secondary($url, new \pix_icon($icontype, $text), $text); + $actionsmenu->add($icon); } - $urlparams['action'] = $action; - $url = new \moodle_url('model.php', $urlparams); - $icon = new \action_menu_link_secondary($url, new \pix_icon($icontype, $text), $text); - $actionsmenu->add($icon); // Export training data. if (!$model->is_static() && $model->is_trained()) { diff --git a/admin/tool/analytics/lang/en/tool_analytics.php b/admin/tool/analytics/lang/en/tool_analytics.php index f5c1014e8a3..157eee64df9 100644 --- a/admin/tool/analytics/lang/en/tool_analytics.php +++ b/admin/tool/analytics/lang/en/tool_analytics.php @@ -83,6 +83,8 @@ $string['previouspage'] = 'Previous page'; $string['samestartdate'] = 'Current start date is good'; $string['sameenddate'] = 'Current end date is good'; $string['target'] = 'Target'; +$string['timesplittingnotdefined'] = 'Time splitting is not defined.'; +$string['timesplittingnotdefined_help'] = 'You need to select a time-splitting method before enabling the model.'; $string['trainandpredictmodel'] = 'Training model and calculating predictions'; $string['trainingprocessfinished'] = 'Training process finished'; $string['trainingresults'] = 'Training results'; diff --git a/admin/tool/analytics/templates/models_list.mustache b/admin/tool/analytics/templates/models_list.mustache index 8eb6211a138..efdc4cabab5 100644 --- a/admin/tool/analytics/templates/models_list.mustache +++ b/admin/tool/analytics/templates/models_list.mustache @@ -160,6 +160,9 @@ {{/timesplitting}} {{^timesplitting}} {{#str}}notdefined, tool_analytics{{/str}} + {{#timesplittinghelp}} + {{>core/help_icon}} + {{/timesplittinghelp}} {{/timesplitting}}