Check if the start date is before due date

This commit is contained in:
Frederic Guillot
2017-11-09 11:17:07 -08:00
parent d8e88582f7
commit a12e159de0
32 changed files with 83 additions and 36 deletions

View File

@@ -49,6 +49,20 @@ class TaskValidator extends BaseValidator
);
}
public function validateStartAndDueDate(array $values)
{
if (!empty($values['date_started']) && !empty($values['date_due'])) {
$startDate = $this->dateParser->getTimestamp($values['date_started']);
$endDate = $this->dateParser->getTimestamp($values['date_due']);
if ($startDate > $endDate) {
return array(false, array('date_started' => array(t('The start date is greater than the end date'))));
}
}
return array(true, array());
}
/**
* Validate task creation
*
@@ -64,11 +78,14 @@ class TaskValidator extends BaseValidator
);
$v = new Validator($values, array_merge($rules, $this->commonValidationRules()));
$result = $v->execute();
$errors = $v->getErrors();
return array(
$v->execute(),
$v->getErrors()
);
if ($result) {
list($result, $errors) = $this->validateStartAndDueDate($values);
}
return array($result, $errors);
}
/**
@@ -133,11 +150,14 @@ class TaskValidator extends BaseValidator
);
$v = new Validator($values, array_merge($rules, $this->commonValidationRules()));
$result = $v->execute();
$errors = $v->getErrors();
return array(
$v->execute(),
$v->getErrors()
);
if ($result) {
list($result, $errors) = $this->validateStartAndDueDate($values);
}
return array($result, $errors);
}
/**
@@ -154,11 +174,14 @@ class TaskValidator extends BaseValidator
);
$v = new Validator($values, array_merge($rules, $this->commonValidationRules()));
$result = $v->execute();
$errors = $v->getErrors();
return array(
$v->execute(),
$v->getErrors()
);
if ($result) {
list($result, $errors) = $this->validateStartAndDueDate($values);
}
return array($result, $errors);
}
/**
@@ -183,27 +206,6 @@ class TaskValidator extends BaseValidator
);
}
/**
* Validate time tracking modification (form)
*
* @access public
* @param array $values Form values
* @return array $valid, $errors [0] = Success or not, [1] = List of errors
*/
public function validateTimeModification(array $values)
{
$rules = array(
new Validators\Required('id', t('The id is required')),
);
$v = new Validator($values, array_merge($rules, $this->commonValidationRules()));
return array(
$v->execute(),
$v->getErrors()
);
}
/**
* Validate task email creation
*