From 468c0cee4e978e8ab87d5e11a1da0de45069c8f0 Mon Sep 17 00:00:00 2001 From: Rob Date: Fri, 1 Aug 2014 15:10:48 +0200 Subject: [PATCH] fixed: Date element in repeated group, when group set to not use duplicate source groups data. Default date not applied to date element --- plugins/fabrik_element/date/date.php | 34 +++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/plugins/fabrik_element/date/date.php b/plugins/fabrik_element/date/date.php index 0c5884dfbee..d1a5c58d835 100644 --- a/plugins/fabrik_element/date/date.php +++ b/plugins/fabrik_element/date/date.php @@ -832,7 +832,9 @@ public function elementJavascript($repeatCounter) $id = $this->getHTMLId($repeatCounter); $opts = $this->getElementJSOptions($repeatCounter); $opts->hidden = (bool) $this->getElement()->hidden; - $opts->defaultVal = $this->offsetDate; + + // Used uniquely in reset(); + $opts->defaultVal = $this->getFrontDefaultValue(); $opts->showtime = (!$element->hidden && $params->get('date_showtime', 0)) ? true : false; $opts->timelabel = FText::_('time'); $opts->typing = (bool) $params->get('date_allow_typing_in_field', true); @@ -2395,6 +2397,35 @@ public function formJavascriptClass(&$srcs, $script = '', &$shim = array()) // Return false, as we need to be called on per-element (not per-plugin) basis return false; } + + + /** + * Get the Front end JS default date + * + * @param array $data Form data + * + * @return string + */ + + public function getFrontDefaultValue($data = array()) + { + $params = $this->getParams(); + $db = JFactory::getDbo(); + $alwaysToday = $params->get('date_alwaystoday', false); + $defaultToday = $params->get('date_defaulttotoday', false); + $formModel = $this->getFormModel(); + + if ($alwaysToday || $defaultToday) + { + $this->default = JHtml::_('date', 'now', $db->getDateFormat()); + } + else + { + $this->default = parent::getDefaultValue($data); + } + + return $this->default; + } } /** @@ -2583,4 +2614,5 @@ protected function stripDays($str) return $str; } + }