summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-01-24 20:04:58 -0500
committerFrederic Guillot <fred@kanboard.net>2017-01-24 20:04:58 -0500
commitd81fb20df66fd77e41f0f7d573e60b856b1e9f8a (patch)
treeea65bb3339714e5cfac6e5d781901375d1c1851a
parentb23613bbe369011256de8a558707ab9096074e9e (diff)
Fix wrong datetime formatting when task form shows validation errors
-rw-r--r--ChangeLog4
-rw-r--r--app/Core/DateParser.php6
-rw-r--r--app/Validator/TaskValidator.php2
-rw-r--r--tests/units/Core/DateParserTest.php3
4 files changed, 7 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 37c6c918..6787b8cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)
-----------------------------
diff --git a/app/Core/DateParser.php b/app/Core/DateParser.php
index b9aa9230..5d3be644 100644
--- a/app/Core/DateParser.php
+++ b/app/Core/DateParser.php
@@ -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] = '';
}
diff --git a/app/Validator/TaskValidator.php b/app/Validator/TaskValidator.php
index e3b0eded..e824dc05 100644
--- a/app/Validator/TaskValidator.php
+++ b/app/Validator/TaskValidator.php
@@ -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')),
);
diff --git a/tests/units/Core/DateParserTest.php b/tests/units/Core/DateParserTest.php
index 1cf98bd3..43ba4bcd 100644
--- a/tests/units/Core/DateParserTest.php
+++ b/tests/units/Core/DateParserTest.php
@@ -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()