diff options
author | Frédéric Guillot <fred@kanboard.net> | 2014-09-12 15:14:59 +0200 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2014-09-12 15:14:59 +0200 |
commit | 15e1ed6148632b7008875207f26345f472a909d1 (patch) | |
tree | e79e82a64ffb154baa470ea1b76cce38d3750d23 /app | |
parent | dd64bacbb13b6d07c8df01fb88ae417ac57b4239 (diff) |
Improve API calls for subtasks
Diffstat (limited to 'app')
-rw-r--r-- | app/Controller/Subtask.php | 4 | ||||
-rw-r--r-- | app/Model/SubTask.php | 55 |
2 files changed, 48 insertions, 11 deletions
diff --git a/app/Controller/Subtask.php b/app/Controller/Subtask.php index 1c217fa2..ec2e6948 100644 --- a/app/Controller/Subtask.php +++ b/app/Controller/Subtask.php @@ -58,7 +58,7 @@ class Subtask extends Base $task = $this->getTask(); $values = $this->request->getValues(); - list($valid, $errors) = $this->subTask->validate($values); + list($valid, $errors) = $this->subTask->validateCreation($values); if ($valid) { @@ -119,7 +119,7 @@ class Subtask extends Base $subtask = $this->getSubtask(); $values = $this->request->getValues(); - list($valid, $errors) = $this->subTask->validate($values); + list($valid, $errors) = $this->subTask->validateModification($values); if ($valid) { diff --git a/app/Model/SubTask.php b/app/Model/SubTask.php index 011c58e7..a4fae764 100644 --- a/app/Model/SubTask.php +++ b/app/Model/SubTask.php @@ -221,28 +221,65 @@ class SubTask extends Base } /** - * Validate creation/modification + * Validate creation * * @access public * @param array $values Form values * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ - public function validate(array $values) + public function validateCreation(array $values) { - $v = new Validator($values, array( + $rules = array( new Validators\Required('task_id', t('The task id is required')), - new Validators\Integer('task_id', t('The task id must be an integer')), new Validators\Required('title', t('The title is required')), + ); + + $v = new Validator($values, $rules + $this->commonValidationRules()); + + return array( + $v->execute(), + $v->getErrors() + ); + } + + /** + * Validate modification + * + * @access public + * @param array $values Form values + * @return array $valid, $errors [0] = Success or not, [1] = List of errors + */ + public function validateModification(array $values) + { + $rules = array( + new Validators\Required('id', t('The subtask id is required')), + new Validators\Required('task_id', t('The task id is required')), + ); + + $v = new Validator($values, $rules + $this->commonValidationRules()); + + return array( + $v->execute(), + $v->getErrors() + ); + } + + /** + * Common validation rules + * + * @access private + * @return array + */ + private function commonValidationRules() + { + return array( + new Validators\Integer('id', t('The subtask id must be an integer')), + new Validators\Integer('task_id', t('The task id must be an integer')), new Validators\MaxLength('title', t('The maximum length is %d characters', 100), 100), new Validators\Integer('user_id', t('The user id must be an integer')), new Validators\Integer('status', t('The status must be an integer')), new Validators\Numeric('time_estimated', t('The time must be a numeric value')), new Validators\Numeric('time_spent', t('The time must be a numeric value')), - )); - - return array( - $v->execute(), - $v->getErrors() ); } } |