diff --git a/src/app/priority/controllers/PriorityController.php b/src/app/priority/controllers/PriorityController.php index d87ab414d1e5dd3c0ca7f208af1a246b0e2cd41e..3317cd6f026255b34eafd259ff4f4eccf6ec335b 100644 --- a/src/app/priority/controllers/PriorityController.php +++ b/src/app/priority/controllers/PriorityController.php @@ -38,10 +38,14 @@ class PriorityController $check = $check && Validator::stringType()->notEmpty()->validate($data['color']); $check = $check && (Validator::intVal()->notEmpty()->validate($data['delays']) || $data['delays'] == null); $check = $check && Validator::boolType()->validate($data['working_days']); + $check = $check && Validator::boolType()->validate($data['default_priority']); if (!$check) { return $response->withStatus(400)->withJson(['errors' => 'Bad Request']); } + if ($data['default_priority']) { + PriorityModel::resetDefaultPriority(); + } $data['working_days'] = $data['working_days'] ? 'true' : 'false'; $data['default_priority'] = $data['default_priority'] ? 'true' : 'false'; @@ -74,6 +78,9 @@ class PriorityController return $response->withStatus(400)->withJson(['errors' => 'Bad Request']); } + if ($data['default_priority']) { + PriorityModel::resetDefaultPriority(); + } $data['id'] = $aArgs['id']; $data['working_days'] = empty($data['working_days']) ? 'false' : 'true'; $data['default_priority'] = empty($data['default_priority']) ? 'false' : 'true'; diff --git a/src/app/priority/models/PriorityModelAbstract.php b/src/app/priority/models/PriorityModelAbstract.php index bcd7c53ea090a9039965d418daa35da8aac46831..ff7873800ea0370eaf18dbf78cee10a4543fb888 100644 --- a/src/app/priority/models/PriorityModelAbstract.php +++ b/src/app/priority/models/PriorityModelAbstract.php @@ -96,6 +96,20 @@ abstract class PriorityModelAbstract return true; } + public static function resetDefaultPriority() + { + DatabaseModel::update([ + 'table' => 'priorities', + 'set' => [ + 'default_priority' => 'false' + ], + 'where' => ['default_priority = ?'], + 'data' => ['true'] + ]); + + return true; + } + public static function delete(array $aArgs) { ValidatorModel::notEmpty($aArgs, ['id']);