Simplify date and time configuration to avoid potential validation issues

This commit is contained in:
Frederic Guillot 2017-01-24 20:16:43 -05:00
parent d81fb20df6
commit 81d14efbd1
6 changed files with 6 additions and 9 deletions

View File

@ -7,6 +7,8 @@ New features:
Improvements:
* Simplify date and time configuration to avoid potential validation issues
Regressions:
* Stay on the same page when a task is closed

View File

@ -76,7 +76,6 @@ class ConfigController extends BaseController
'languages' => $this->languageModel->getLanguages(),
'timezones' => $this->timezoneModel->getTimezones(),
'date_formats' => $this->dateParser->getAvailableFormats($this->dateParser->getDateFormats()),
'datetime_formats' => $this->dateParser->getAvailableFormats($this->dateParser->getDateTimeFormats()),
'time_formats' => $this->dateParser->getAvailableFormats($this->dateParser->getTimeFormats()),
'title' => t('Settings').' > '.t('Application settings'),
)));

View File

@ -13,7 +13,6 @@ use DateTime;
class DateParser extends Base
{
const DATE_FORMAT = 'm/d/Y';
const DATE_TIME_FORMAT = 'm/d/Y H:i';
const TIME_FORMAT = 'H:i';
/**
@ -35,7 +34,7 @@ class DateParser extends Base
*/
public function getUserDateTimeFormat()
{
return $this->configModel->get('application_datetime_format', DateParser::DATE_TIME_FORMAT);
return $this->getUserDateFormat().' '.$this->getUserTimeFormat();
}
/**

View File

@ -54,7 +54,7 @@ class DateHelper extends Base
*/
public function datetime($value)
{
return date($this->configModel->get('application_datetime_format', 'm/d/Y H:i'), $value);
return date($this->dateParser->getUserDateTimeFormat(), $value);
}
/**

View File

@ -23,9 +23,6 @@
<?= $this->form->select('application_date_format', $date_formats, $values, $errors) ?>
<p class="form-help"><?= t('ISO format is always accepted, example: "%s" and "%s"', date('Y-m-d'), date('Y_m_d')) ?></p>
<?= $this->form->label(t('Date and time format'), 'application_datetime_format') ?>
<?= $this->form->select('application_datetime_format', $datetime_formats, $values, $errors) ?>
<?= $this->form->label(t('Time format'), 'application_time_format') ?>
<?= $this->form->select('application_time_format', $time_formats, $values, $errors) ?>
</fieldset>

View File

@ -64,7 +64,7 @@ class DateParserTest extends Base
$dates = $dateParser->getDateTimeFormats(true);
$this->assertEquals('m/d/Y H:i', $dates[0]);
$this->container['configModel']->save(array('application_datetime_format' => 'd/m/Y g:i a'));
$this->container['configModel']->save(array('application_date_format' => 'd/m/Y', 'application_time_format' => 'g:i a'));
$this->container['memoryCache']->flush();
$dates = $dateParser->getDateTimeFormats();
@ -121,7 +121,7 @@ class DateParserTest extends Base
{
$this->container['configModel']->save(array(
'application_date_format' => 'd/m/Y',
'application_datetime_format' => 'd/m/Y g:i a',
'application_time_format' => 'g:i a',
));
$dateParser = new DateParser($this->container);