From d104311a1af5098aeb58a8fc2d367f877ab0580a Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Thu, 6 Dec 2018 13:48:39 -0500 Subject: [PATCH] dev/core#561 - activity_date_time field -> datepicker --- CRM/Activity/Form/Activity.php | 24 ++++++++---------------- CRM/Case/Form/Activity.php | 11 ++++++----- templates/CRM/Activity/Form/Activity.tpl | 2 +- templates/CRM/Case/Form/Activity.tpl | 15 ++++++--------- 4 files changed, 21 insertions(+), 31 deletions(-) diff --git a/CRM/Activity/Form/Activity.php b/CRM/Activity/Form/Activity.php index 24044465c5..da392e6f1e 100644 --- a/CRM/Activity/Form/Activity.php +++ b/CRM/Activity/Form/Activity.php @@ -207,6 +207,11 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task { 'api' => array('params' => array('is_deceased' => 0)), ), ), + 'activity_date_time' => array( + 'type' => 'datepicker', + 'label' => ts('Date'), + 'required' => TRUE, + ), 'followup_assignee_contact_id' => array( 'type' => 'entityRef', 'label' => ts('Assigned to'), @@ -559,16 +564,6 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task { $defaults = $this->_values + CRM_Core_Form_RecurringEntity::setDefaultValues(); // if we're editing... if (isset($this->_activityId)) { - if (empty($defaults['activity_date_time'])) { - list($defaults['activity_date_time'], $defaults['activity_date_time_time']) = CRM_Utils_Date::setDateDefaults(NULL, 'activityDateTime'); - } - elseif ($this->_action & CRM_Core_Action::UPDATE) { - $this->assign('current_activity_date_time', $defaults['activity_date_time']); - list($defaults['activity_date_time'], - $defaults['activity_date_time_time'] - ) = CRM_Utils_Date::setDateDefaults($defaults['activity_date_time'], 'activityDateTime'); - list($defaults['repetition_start_date'], $defaults['repetition_start_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['activity_date_time'], 'activityDateTime'); - } if ($this->_context != 'standalone') { $this->assign('target_contact_value', @@ -593,9 +588,10 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task { $defaults['source_contact_id'] = $this->_sourceContactId; $defaults['target_contact_id'] = $this->_targetContactId; + } - list($defaults['activity_date_time'], $defaults['activity_date_time_time']) - = CRM_Utils_Date::setDateDefaults(NULL, 'activityDateTime'); + if (empty($defaults['activity_date_time'])) { + $defaults['activity_date_time'] = date('Y-m-d H:i:s'); } if ($this->_activityTypeId) { @@ -759,7 +755,6 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task { $this->addRule('duration', ts('Please enter the duration as number of minutes (integers only).'), 'positiveInteger' ); - $this->addDateTime('activity_date_time', ts('Date'), TRUE, array('formatType' => 'activityDateTime')); // Add followup date. $this->addDateTime('followup_date', ts('in'), FALSE, array('formatType' => 'activityDateTime')); @@ -948,9 +943,6 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task { ); } - // store the date with proper format - $params['activity_date_time'] = CRM_Utils_Date::processDate($params['activity_date_time'], $params['activity_date_time_time']); - // format params as arrays foreach (array('target', 'assignee', 'followup_assignee') as $name) { if (!empty($params["{$name}_contact_id"])) { diff --git a/CRM/Case/Form/Activity.php b/CRM/Case/Form/Activity.php index 580d4b58a4..5f84e5bf80 100644 --- a/CRM/Case/Form/Activity.php +++ b/CRM/Case/Form/Activity.php @@ -272,12 +272,13 @@ class CRM_Case_Form_Activity extends CRM_Activity_Form_Activity { $this->assign('urlPath', 'civicrm/case/activity'); $encounterMediums = CRM_Case_PseudoConstant::encounterMedium(); - // Fixme: what's the justification for this? It seems like it is just re-adding an option in case it is the default and disabled. - // Is that really a big problem? if ($this->_activityTypeFile == 'OpenCase') { - $this->_encounterMedium = CRM_Core_DAO::getFieldValue('CRM_Activity_DAO_Activity', $this->_activityId, - 'medium_id' - ); + if ($this->_action == CRM_Core_Action::UPDATE) { + $this->getElement('activity_date_time')->freeze(); + } + // Fixme: what's the justification for this? It seems like it is just re-adding an option in case it is the default and disabled. + // Is that really a big problem? + $this->_encounterMedium = CRM_Core_DAO::getFieldValue('CRM_Activity_DAO_Activity', $this->_activityId, 'medium_id'); if (!array_key_exists($this->_encounterMedium, $encounterMediums)) { $encounterMediums[$this->_encounterMedium] = CRM_Core_OptionGroup::getLabel('encounter_medium', $this->_encounterMedium, diff --git a/templates/CRM/Activity/Form/Activity.tpl b/templates/CRM/Activity/Form/Activity.tpl index 6973e09378..ebf945ceaf 100644 --- a/templates/CRM/Activity/Form/Activity.tpl +++ b/templates/CRM/Activity/Form/Activity.tpl @@ -135,7 +135,7 @@ {$form.activity_date_time.label} {if $action neq 4} - {include file="CRM/common/jcalendar.tpl" elementName=activity_date_time} + {$form.activity_date_time.html} {else} {$form.activity_date_time.value|crmDate} {/if} diff --git a/templates/CRM/Case/Form/Activity.tpl b/templates/CRM/Case/Form/Activity.tpl index fd0a29c33d..aa8d78cb5c 100644 --- a/templates/CRM/Case/Form/Activity.tpl +++ b/templates/CRM/Case/Form/Activity.tpl @@ -145,15 +145,12 @@ {$form.activity_date_time.label} - {if $action eq 2 && $activityTypeFile eq 'OpenCase'} - {$current_activity_date_time|crmDate} -
Use a Change Start Date activity to change the date
- {* avoid errors about missing field *} -
{include file="CRM/common/jcalendar.tpl" elementName=activity_date_time}
- - {else} - {include file="CRM/common/jcalendar.tpl" elementName=activity_date_time} - {/if} + + {$form.activity_date_time.html} + {if $action eq 2 && $activityTypeFile eq 'OpenCase'} +
Use a Change Start Date activity to change the date
+ {/if} + {if $action eq 2 && $activityTypeFile eq 'OpenCase'} -- 2.25.1