From b90c97b1f096008b5fa9abf8c50a120a85c47a4e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 30 Nov 2017 18:30:01 +0100 Subject: [roomplanner] Refactor to use runmode --- modules-available/runmode/page.inc.php | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'modules-available/runmode/page.inc.php') diff --git a/modules-available/runmode/page.inc.php b/modules-available/runmode/page.inc.php index 24566cec..ef42e7be 100644 --- a/modules-available/runmode/page.inc.php +++ b/modules-available/runmode/page.inc.php @@ -26,20 +26,33 @@ class Page_RunMode extends Page $machines = array_filter(Request::post('machines', [], 'array'), 'is_string'); $module = Request::post('module', false, 'string'); $modeId = Request::post('modeid', false, 'string'); - // TODO Validate + $modConfig = RunMode::getModuleConfig($module); + if ($modConfig === false) { + Message::addError('module-hasnt-runmode', $module); + return; + } + if (!$modConfig->allowGenericEditor) { + Message::addError('cannot-edit-module', $module); + return; + } + $test = RunMode::getModeName($module, $modeId); + if ($test === false) { + Message::addError('invalid-modeid', $module, $modeId); + return; + } $active = 0; foreach ($machines as $machine) { $ret = RunMode::setRunMode($machine, $module, $modeId, null, null); if ($ret) { $active++; } else { - Message::addError('invalid-module-or-machine', $module, $machine); + Message::addError('runmode.machine-not-found', $machine); } } $deleted = Database::exec('DELETE FROM runmode WHERE module = :module AND modeid = :modeId AND machineuuid NOT IN (:machines)', compact('module', 'modeId', 'machines')); - Message::addError('enabled-removed-save', $active, $deleted); + Message::addSuccess('runmode.enabled-removed-save', $active, $deleted); $redirect = Request::post('redirect', false, 'string'); if ($redirect !== false) { Util::redirect($redirect); @@ -141,7 +154,7 @@ class Page_RunMode extends Page $moduleId = $module->getIdentifier(); $modeName = RunMode::getModeName($moduleId, $modeId); if ($modeName === false) { - Message::addError('invalid-modeid', $modeId); + Message::addError('invalid-modeid', $moduleId, $modeId); Util::redirect('?do=runmode'); } Render::addTemplate('machine-selector', [ -- cgit v1.2.3-55-g7522