Fix wrong datetime formatting when task form shows validation errors

This commit is contained in:
Frederic Guillot 2017-01-24 20:04:58 -05:00
parent b23613bbe3
commit d81fb20df6
4 changed files with 7 additions and 8 deletions

View File

@ -12,6 +12,10 @@ Regressions:
* Stay on the same page when a task is closed
* Wrong URL in modal to move task to another project
Bug fixes:
* Fix wrong datetime formatting when task form shows validation errors
Version 1.0.37 (Jan 14, 2017)
-----------------------------

View File

@ -292,11 +292,9 @@ class DateParser extends Base
{
foreach ($fields as $field) {
if (! empty($values[$field])) {
if (! ctype_digit($values[$field])) {
$values[$field] = strtotime($values[$field]);
if (ctype_digit($values[$field])) {
$values[$field] = date($format, $values[$field]);
}
$values[$field] = date($format, $values[$field]);
} else {
$values[$field] = '';
}

View File

@ -42,7 +42,7 @@ class TaskValidator extends BaseValidator
new Validators\MaxLength('title', t('The maximum length is %d characters', 200), 200),
new Validators\MaxLength('reference', t('The maximum length is %d characters', 50), 50),
new Validators\Date('date_due', t('Invalid date'), $this->dateParser->getParserFormats()),
new Validators\Date('date_started', t('Invalid date'), $this->dateParser->getParserFormats()),
new Validators\Date('date_started', t('Invalid date'), array($this->dateParser->getUserDateTimeFormat())),
new Validators\Numeric('time_spent', t('This value must be numeric')),
new Validators\Numeric('time_estimated', t('This value must be numeric')),
);

View File

@ -204,9 +204,6 @@ class DateParserTest extends Base
$this->assertEquals(array('date' => '06/02/2016'), $dateParser->format($values, array('date'), 'd/m/Y'));
$this->assertEquals(array('date' => '02/06/2016 7:30 pm'), $dateParser->format($values, array('date'), 'm/d/Y g:i a'));
$values['date'] = '2016-02-06';
$this->assertEquals(array('date' => '06/02/2016'), $dateParser->format($values, array('date'), 'd/m/Y'));
}
public function testConvert()