From 6de4fe3458a51c1f78bfb23a38bde966b3c836a4 Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Sun, 1 Sep 2019 11:27:48 +1000 Subject: [PATCH] [Datepicker][REF] Convert mailing date field on mailing search screen to date picker --- CRM/Mailing/Form/Search.php | 26 ++++++------- CRM/Mailing/Selector/Browse.php | 4 +- templates/CRM/Mailing/Form/Search.tpl | 55 ++++++++++++--------------- 3 files changed, 39 insertions(+), 46 deletions(-) diff --git a/CRM/Mailing/Form/Search.php b/CRM/Mailing/Form/Search.php index d2d6af941e..6c03b4e9ef 100644 --- a/CRM/Mailing/Form/Search.php +++ b/CRM/Mailing/Form/Search.php @@ -44,7 +44,8 @@ class CRM_Mailing_Form_Search extends CRM_Core_Form { CRM_Core_DAO::getAttribute('CRM_Mailing_DAO_Mailing', 'title') ); - CRM_Core_Form_Date::buildDateRange($this, 'mailing', 1, '_from', '_to', ts('From'), FALSE); + $dateFieldLabel = ($parent->_sms) ? ts('SMS Date') : ts('Mailing Date'); + $this->addDatePickerRange('mailing', $dateFieldLabel); $this->add('text', 'sort_name', ts('Created or Sent by'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'sort_name') @@ -111,14 +112,20 @@ class CRM_Mailing_Form_Search extends CRM_Core_Form { public function postProcess() { $params = $this->controller->exportValues($this->_name); - CRM_Contact_BAO_Query::fixDateValues($params["mailing_relative"], $params['mailing_from'], $params['mailing_to']); + if (!empty($params['mailing_relative'])) { + list($params['mailing_low'], $params['mailing_high']) = CRM_Utils_Date::getFromTo($params['mailing_relative'], $params['mailing_low'], $params['mailing_high']); + unset($params['mailing_relative']); + } + elseif (!empty($params['mailing_high'])) { + $params['mailing_high'] .= ' ' . '23:59:59'; + } $parent = $this->controller->getParent(); if (!empty($params)) { $fields = [ 'mailing_name', - 'mailing_from', - 'mailing_to', + 'mailing_low', + 'mailing_high', 'sort_name', 'campaign_id', 'mailing_status', @@ -132,16 +139,7 @@ class CRM_Mailing_Form_Search extends CRM_Core_Form { if (isset($params[$field]) && !CRM_Utils_System::isNull($params[$field]) ) { - if (in_array($field, [ - 'mailing_from', - 'mailing_to', - ]) && !$params["mailing_relative"]) { - $time = ($field == 'mailing_to') ? '235959' : NULL; - $parent->set($field, CRM_Utils_Date::processDate($params[$field], $time)); - } - else { - $parent->set($field, $params[$field]); - } + $parent->set($field, $params[$field]); } else { $parent->set($field, NULL); diff --git a/CRM/Mailing/Selector/Browse.php b/CRM/Mailing/Selector/Browse.php index a0ae8f5b65..9440a77bb1 100644 --- a/CRM/Mailing/Selector/Browse.php +++ b/CRM/Mailing/Selector/Browse.php @@ -522,7 +522,7 @@ LEFT JOIN civicrm_contact scheduledContact ON ( $mailing.scheduled_id = schedul } $dateClause1 = $dateClause2 = []; - $from = $this->_parent->get('mailing_from'); + $from = $this->_parent->get('mailing_low'); if (!CRM_Utils_System::isNull($from)) { if ($this->_parent->get('unscheduled')) { $dateClause1[] = 'civicrm_mailing.created_date >= %2'; @@ -534,7 +534,7 @@ LEFT JOIN civicrm_contact scheduledContact ON ( $mailing.scheduled_id = schedul $params[2] = [$from, 'String']; } - $to = $this->_parent->get('mailing_to'); + $to = $this->_parent->get('mailing_high'); if (!CRM_Utils_System::isNull($to)) { if ($this->_parent->get('unscheduled')) { $dateClause1[] = ' civicrm_mailing.created_date <= %3 '; diff --git a/templates/CRM/Mailing/Form/Search.tpl b/templates/CRM/Mailing/Form/Search.tpl index c726adf719..467e174b93 100644 --- a/templates/CRM/Mailing/Form/Search.tpl +++ b/templates/CRM/Mailing/Form/Search.tpl @@ -24,62 +24,57 @@ +--------------------------------------------------------------------+ *}
- +
- - - - + - {include file="CRM/Core/DateRange.tpl" fieldName="mailing" from='_from' to='_to'} + {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing" colspan='2'} - - {if $form.mailing_status} - + {if $form.mailing_status} + - {/if} +
+ + {/if} {* language *} {if $form.language} {/if} {* campaign in mailing search *} {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" - campaignContext="componentSearch" campaignTrClass='' campaignTdClass=''} + campaignContext="componentSearch" campaignTrClass='' campaignTdClass=''} - + -
{$form.mailing_name.label} {help id="id-mailing_name"}
- {$form.mailing_name.html|crmAddClass:big} -
- - {$form.mailing_name.label} {help id="id-mailing_name"}
+ {$form.mailing_name.html|crmAddClass:big} +
{$form.sort_name.label} {help id="id-create_sort_name"}
- {$form.sort_name.html|crmAddClass:big} -

-
- {$form.is_archived.label} {help id="is_archived"}
- {$form.is_archived.html} -
-

+
{$form.sort_name.label} {help id="id-create_sort_name"}
+ {$form.sort_name.html|crmAddClass:big} +

+
+ {$form.is_archived.label} {help id="is_archived"}
+ {$form.is_archived.html} +
+

{foreach from=$form.mailing_status item="mailing_status_val"} -
- {$mailing_status_val.html} -
+
+ {$mailing_status_val.html} +
{/foreach}
{$form.status_unscheduled.html}
-

-
{$form.language.label} {help id="id-language"}
- {$form.language.html|crmAddClass:big} + {$form.language.html|crmAddClass:big}
{$form.buttons.html}{$form.buttons.html}
+
{literal} -- 2.25.1