From d12affc526cb7b5ae5d92bcdc9fe2527dd11579c Mon Sep 17 00:00:00 2001 From: Edsel Date: Fri, 2 Sep 2016 13:28:25 +0530 Subject: [PATCH] CRM-19153 Fixed freeze date display, recurring for weekly installments ---------------------------------------- * CRM-19153: Future pledge start date causes improper future pledge payment dates https://issues.civicrm.org/jira/browse/CRM-19153 --- CRM/Contribute/Form/ContributionPage/Amount.php | 2 +- CRM/Pledge/BAO/Pledge.php | 9 +++------ CRM/Pledge/BAO/PledgeBlock.php | 2 +- CRM/Pledge/BAO/PledgePayment.php | 7 +------ 4 files changed, 6 insertions(+), 14 deletions(-) diff --git a/CRM/Contribute/Form/ContributionPage/Amount.php b/CRM/Contribute/Form/ContributionPage/Amount.php index b646d04b94bf..bb381e69db56 100644 --- a/CRM/Contribute/Form/ContributionPage/Amount.php +++ b/CRM/Contribute/Form/ContributionPage/Amount.php @@ -518,7 +518,7 @@ public function postProcess() { 'calendar_month' => 'pledge_calendar_month', ); if ($params['pledge_default_toggle'] == 'contribution_date') { - $fieldValue = json_encode(array('contribution_date' => date('Ymd'))); + $fieldValue = json_encode(array('contribution_date' => date('m/d/Y'))); } else { foreach ($pledgeDateFields as $key => $pledgeDateField) { diff --git a/CRM/Pledge/BAO/Pledge.php b/CRM/Pledge/BAO/Pledge.php index e4b989a18cc1..c8594c0618a0 100644 --- a/CRM/Pledge/BAO/Pledge.php +++ b/CRM/Pledge/BAO/Pledge.php @@ -1204,15 +1204,12 @@ public static function buildRecurParams($params) { public static function getPledgeStartDate($date, $pledgeBlock) { $startDate = (array) json_decode($pledgeBlock['pledge_start_date']); list($field, $value) = each($startDate); - if (!CRM_Utils_Array::value('is_pledge_start_date_visible', $pledgeBlock)) { - if ($field == 'calendar_month') { - $value = self::getPaymentDate($value); - } - return date('Ymd', strtotime($value)); - } if (!empty($date) && !CRM_Utils_Array::value('is_pledge_start_date_editable', $pledgeBlock)) { return $date; } + if (empty($date)) { + $date = $value; + } switch ($field) { case 'contribution_date': if (empty($date)) { diff --git a/CRM/Pledge/BAO/PledgeBlock.php b/CRM/Pledge/BAO/PledgeBlock.php index 85cc23a44853..5494963018b0 100644 --- a/CRM/Pledge/BAO/PledgeBlock.php +++ b/CRM/Pledge/BAO/PledgeBlock.php @@ -309,7 +309,7 @@ public static function buildPledgeBlock($form) { switch ($field) { case 'contribution_date': $form->addDate('start_date', ts('First installment payment')); - $paymentDate = $value = date('d/m/Y'); + $paymentDate = $value = date('m/d/Y'); list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults(NULL); $form->assign('is_date', TRUE); break; diff --git a/CRM/Pledge/BAO/PledgePayment.php b/CRM/Pledge/BAO/PledgePayment.php index 6c9e037f172d..5f5043aa8bf6 100644 --- a/CRM/Pledge/BAO/PledgePayment.php +++ b/CRM/Pledge/BAO/PledgePayment.php @@ -528,13 +528,8 @@ public static function calculateBaseScheduleDate(&$params) { } } elseif ($params['frequency_unit'] == 'week') { - - // for week calculate day of week ie. Sunday,Monday etc. as next payment date - $dayOfWeek = date('w', mktime(0, 0, 0, $date['month'], $date['day'], $date['year'])); - $frequencyDay = $params['frequency_day'] - $dayOfWeek; - $scheduleDate = explode("-", date('n-j-Y', mktime(0, 0, 0, $date['month'], - $date['day'] + $frequencyDay, $date['year'] + $date['day'], $date['year'] ))); $date['month'] = $scheduleDate[0]; $date['day'] = $scheduleDate[1];