From 9cb8a1ffc9ed1e74411fe399cfd5dcf59c071293 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 5 Jun 2016 22:22:10 -0400 Subject: Display local date format in date picker --- app/Core/DateParser.php | 12 ++++++++++++ app/Helper/AppHelper.php | 33 +++++++++++++++++++++++++++++++++ app/Template/layout.php | 5 ++++- 3 files changed, 49 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/Core/DateParser.php b/app/Core/DateParser.php index bdab7998..a7b10a7a 100644 --- a/app/Core/DateParser.php +++ b/app/Core/DateParser.php @@ -14,6 +14,7 @@ class DateParser extends Base { const DATE_FORMAT = 'm/d/Y'; const DATE_TIME_FORMAT = 'm/d/Y H:i'; + const TIME_FORMAT = 'H:i'; /** * Get date format from settings @@ -37,6 +38,17 @@ class DateParser extends Base return $this->configModel->get('application_datetime_format', DateParser::DATE_TIME_FORMAT); } + /** + * Get time format from settings + * + * @access public + * @return string + */ + public function getUserTimeFormat() + { + return $this->configModel->get('application_time_format', DateParser::TIME_FORMAT); + } + /** * List of time formats * diff --git a/app/Helper/AppHelper.php b/app/Helper/AppHelper.php index b738f85c..09f280cb 100644 --- a/app/Helper/AppHelper.php +++ b/app/Helper/AppHelper.php @@ -93,6 +93,39 @@ class AppHelper extends Base return $this->languageModel->getJsLanguageCode(); } + /** + * Get date format for Jquery DatePicker + * + * @access public + * @return string + */ + public function getJsDateFormat() + { + $format = $this->dateParser->getUserDateFormat(); + $format = str_replace('m', 'mm', $format); + $format = str_replace('Y', 'yy', $format); + $format = str_replace('d', 'dd', $format); + + return $format; + } + + /** + * Get time format for Jquery Plugin DateTimePicker + * + * @access public + * @return string + */ + public function getJsTimeFormat() + { + $format = $this->dateParser->getUserTimeFormat(); + $format = str_replace('H', 'HH', $format); + $format = str_replace('i', 'mm', $format); + $format = str_replace('g', 'h', $format); + $format = str_replace('a', 'tt', $format); + + return $format; + } + /** * Get current timezone * diff --git a/app/Template/layout.php b/app/Template/layout.php index ebce6ffa..411237cb 100644 --- a/app/Template/layout.php +++ b/app/Template/layout.php @@ -48,7 +48,10 @@ data-login-url="url->href('AuthController', 'login') ?>" data-keyboard-shortcut-url="url->href('DocumentationController', 'shortcuts') ?>" data-timezone="app->getTimezone() ?>" - data-js-lang="app->jsLang() ?>"> + data-js-lang="app->jsLang() ?>" + data-js-date-format="app->getJsDateFormat() ?>" + data-js-time-format="app->getJsTimeFormat() ?>" + > -- cgit v1.2.3