CRM-13155 rename next_sched_contribution to end in date as search logic expects that...
authoreileen <eileen@fuzion.co.nz>
Mon, 5 Aug 2013 01:17:14 +0000 (13:17 +1200)
committereileen <eileen@fuzion.co.nz>
Mon, 5 Aug 2013 01:17:14 +0000 (13:17 +1200)
CRM/Contribute/BAO/ContributionRecur.php
CRM/Core/Payment/PayflowPro.php
CRM/Upgrade/Incremental/sql/4.4.alpha1.mysql.tpl
api/v3/examples/ContributionRecurCreate.php
api/v3/utils.php
templates/CRM/Contribute/Page/ContributionRecur.tpl
xml/schema/Contribute/ContributionRecur.xml

index 269a8d69f3b1476aebf3ad100ff3a32ad46a9927..4028966fbd74222f6f8b1a648955faec5fe25560 100644 (file)
@@ -335,7 +335,7 @@ SELECT r.payment_processor_id
       $params[$recurDAO->id]['contactId'] = $recurDAO->contact_id;
       $params[$recurDAO->id]['start_date'] = $recurDAO->start_date;
       $params[$recurDAO->id]['end_date'] = $recurDAO->end_date;
-      $params[$recurDAO->id]['next_sched_contribution'] = $recurDAO->next_sched_contribution;
+      $params[$recurDAO->id]['next_sched_contribution_date'] = $recurDAO->next_sched_contribution;
       $params[$recurDAO->id]['amount'] = $recurDAO->amount;
       $params[$recurDAO->id]['currency'] = $recurDAO->currency;
       $params[$recurDAO->id]['frequency_unit'] = $recurDAO->frequency_unit;
index 442a61d7cae2b6fa3d33adf2bc2a0392efda2788..e22c303412840080cd83086824d00f41e399259f 100644 (file)
@@ -161,78 +161,78 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
 
       switch ($params['frequency_unit']) {
         case '1 week':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m"), date("d") + 7,
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m"), date("d") + 7,
             date("Y")
           );
           $params['end_date'] = mktime(0, 0, 0, date("m"), date("d") + (7 * $payflow_query_array['TERM']),
             date("Y")
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution']);
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date']);
           $payflow_query_array['PAYPERIOD'] = "WEEK";
           $params['frequency_unit'] = "week";
           $params['frequency_interval'] = 1;
           break;
 
         case '2 weeks':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m"), date("d") + 14, date("Y"));
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m"), date("d") + 14, date("Y"));
           $params['end_date'] = mktime(0, 0, 0, date("m"), date("d") + (14 * $payflow_query_array['TERM'])
             , date("Y ")
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution']);
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date']);
           $payflow_query_array['PAYPERIOD'] = "BIWK";
           $params['frequency_unit'] = "week";
           $params['frequency_interval'] = 2;
           break;
 
         case '4 weeks':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m"), date("d") + 28, date("Y")
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m"), date("d") + 28, date("Y")
           );
           $params['end_date'] = mktime(0, 0, 0, date("m"), date("d") + (28 * $payflow_query_array['TERM'])
             , date("Y")
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution']);
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date']);
           $payflow_query_array['PAYPERIOD'] = "FRWK";
           $params['frequency_unit'] = "week";
           $params['frequency_interval'] = 4;
           break;
 
         case '1 month':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m") + 1,
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m") + 1,
             date("d"), date("Y")
           );
           $params['end_date'] = mktime(0, 0, 0, date("m") +
             (1 * $payflow_query_array['TERM']),
             date("d"), date("Y")
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution']);
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date']);
           $payflow_query_array['PAYPERIOD'] = "MONT";
           $params['frequency_unit'] = "month";
           $params['frequency_interval'] = 1;
           break;
 
         case '3 months':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m") + 3, date("d")
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m") + 3, date("d")
             , date("Y")
           );
           $params['end_date'] = mktime(0, 0, 0, date("m") +
             (3 * $payflow_query_array['TERM']),
             date("d"), date("Y")
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution']);
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date']);
           $payflow_query_array['PAYPERIOD'] = "QTER";
           $params['frequency_unit'] = "month";
           $params['frequency_interval'] = 3;
           break;
 
         case '6 months':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m") + 6, date("d"),
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m") + 6, date("d"),
             date("Y")
           );
           $params['end_date'] = mktime(0, 0, 0, date("m") +
             (6 * $payflow_query_array['TERM']),
             date("d"), date("Y")
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution'
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date'
             ]
           );
           $payflow_query_array['PAYPERIOD'] = "SMYR";
@@ -241,14 +241,14 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
           break;
 
         case '1 year':
-          $params['next_sched_contribution'] = mktime(0, 0, 0, date("m"), date("d"),
+          $params['next_sched_contribution_date'] = mktime(0, 0, 0, date("m"), date("d"),
             date("Y") + 1
           );
           $params['end_date'] = mktime(0, 0, 0, date("m"), date("d"),
             date("Y") +
             (1 * $payflow_query_array['TEM'])
           );
-          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution']);
+          $payflow_query_array['START'] = date('mdY', $params['next_sched_contribution_date']);
           $payflow_query_array['PAYPERIOD'] = "YEAR";
           $params['frequency_unit'] = "year";
           $params['frequency_interval'] = 1;
index 8f9ae771284c8e1d7f56ad45b4fed74b8b59dc39..264eae1f36d55dd0d9ce5eea7782d31c44a5b847 100644 (file)
@@ -147,3 +147,8 @@ UPDATE
   civicrm_uf_group ug ON uf.uf_group_id = ug.id AND ug.is_reserved = 1 AND name = 'membership_batch_entry'
 SET uf.is_reserved = 0
 WHERE uf.field_name IN ('join_date', 'membership_start_date', 'membership_end_date');
+
+--CRM-13155 - Add searching for recurring contribution data to search has been successfully created.
+ALTER TABLE `civicrm_contribution_recur`
+ CHANGE COLUMN `next_sched_contribution` `next_sched_contribution_date` DATETIME NULL DEFAULT NULL COMMENT 'At Groundspring this was used by the cron job which triggered payments. If we\'re not doing that but we know about payments, it might still be useful to store for display to org andor contributors.' AFTER `cycle_day`;
+
index 6fe28ad389916df7de01ea9c9b127300311e9605..9caa2ac86551fd383de1de235e4371bb0c3d3794 100644 (file)
@@ -59,7 +59,7 @@ function contribution_recur_create_expectedresult(){
           'contribution_status_id' => '1',
           'is_test' => '',
           'cycle_day' => '',
-          'next_sched_contribution' => '',
+          'next_sched_contribution_date' => '',
           'failure_count' => '',
           'failure_retry_date' => '',
           'auto_renew' => '',
index 84b7f24dc2a035069159f9bfa22b650870d61642..f8aeff580eb5354037306a74fcde8cb13ca681df 100644 (file)
@@ -187,8 +187,13 @@ function civicrm_api3_create_success($values = 1, $params = array(
         $values[$key]['id'] = $item[$entity . "_id"];
       }
       if(!empty($item['financial_type_id'])){
+        //4.3 legacy handling
         $values[$key]['contribution_type_id'] = $item['financial_type_id'];
       }
+      if(!empty($item['next_sched_contribution_date'])){
+        // 4.4 legacy handling
+        $values[$key]['next_sched_contribution'] = $item['next_sched_contribution_date'];
+      }
     }
   }
 
index f8cd8b4b1249b218a26fc5321a8e6dde06482a59..d70021f312c2f78dcb479d440dfa65a5637dfa6f 100644 (file)
@@ -44,9 +44,9 @@
             <tr><td class="label">{ts}Transaction ID{/ts}</td><td>{$recur.trxn_id}</td></tr>
             {if $recur.invoice_id}<tr><td class="label">{ts}Invoice ID{/ts}</td><td>{$recur.invoice_id}</td></tr>{/if}
             <tr><td class="label">{ts}Cycle Day{/ts}</td><td>{$recur.cycle_day}</td></tr>
-            {if $recur.contribution_status_id neq 3}<tr><td class="label">{ts}Next Contribution{/ts}</td><td>{$recur.next_sched_contribution|crmDate}</td></tr>{/if}
+            {if $recur.contribution_status_id neq 3}<tr><td class="label">{ts}Next Contribution{/ts}</td><td>{$recur.next_sched_contribution_date|crmDate}</td></tr>{/if}
             <tr><td class="label">{ts}Failure Count{/ts}</td><td>{$recur.failure_count}</td></tr>
-            {if $recur.invoice_id}<tr><td class="label">{ts}Failure Retry Date{/ts}</td><td>{$recur.next_sched_contribution|crmDate}</td></tr>{/if}
+            {if $recur.invoice_id}<tr><td class="label">{ts}Failure Retry Date{/ts}</td><td>{$recur.next_sched_contribution_date|crmDate}</td></tr>{/if}
             <tr><td class="label">{ts}Auto Renew?{/ts}</td><td>{if $recur.auto_renew}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}</td></tr>
             {if $recur.payment_processor}<tr><td class="label">{ts}Payment Processor{/ts}</td><td>{$recur.payment_processor}</td></tr>{/if}
           </table>
index 2f348683fa3e7a86b946a625ee43dcbf96bf4846..2de454e272ce4a8dd2aad6b11e509112eb10352b 100644 (file)
@@ -7,6 +7,7 @@
   <log>true</log>
   <field>
     <name>id</name>
+    <title>Recurring Contribution ID</title>
     <type>int unsigned</type>
     <required>true</required>
     <comment>Contribution Recur ID</comment>
@@ -18,6 +19,7 @@
   </primaryKey>
   <field>
     <name>contact_id</name>
+    <title>Contact ID</title>
     <type>int unsigned</type>
     <required>true</required>
     <comment>Foreign key to civicrm_contact.id .</comment>
@@ -32,6 +34,7 @@
   </foreignKey>
   <field>
     <name>amount</name>
+    <title>Amount</title>
     <type>decimal</type>
     <required>true</required>
     <comment>Amount to be contributed or charged each recurrence.</comment>
@@ -39,6 +42,7 @@
   </field>
   <field>
     <name>currency</name>
+    <title>Currency</title>
     <type>varchar</type>
     <length>3</length>
     <default>NULL</default>
@@ -53,6 +57,7 @@
   </field>
   <field>
     <name>frequency_unit</name>
+    <title>Frequency Unit</title>
     <type>enum</type>
     <values>day,week,month,year</values>
     <default>'month'</default>
@@ -61,6 +66,7 @@
   </field>
   <field>
     <name>frequency_interval</name>
+    <title>Interval (number of units)</title>
     <type>int unsigned</type>
     <required>true</required>
     <comment>Number of time units for recurrence of payment.</comment>
   </field>
   <field>
     <name>installments</name>
+    <title>Number of Installments</title>
     <type>int unsigned</type>
     <comment>Total number of payments to be made. Set this to 0 if this is an open-ended commitment i.e. no set end date.</comment>
     <add>1.6</add>
   </field>
   <field>
     <name>start_date</name>
+    <title>Recurring Contribution Started Date</title>
     <type>datetime</type>
     <required>true</required>
     <comment>The date the first scheduled recurring contribution occurs.</comment>
@@ -81,6 +89,7 @@
   </field>
   <field>
     <name>create_date</name>
+    <title>Recurring Contribution Created Date</title>
     <type>datetime</type>
     <required>true</required>
     <comment>When this recurring contribution record was created.</comment>
   </field>
   <field>
     <name>modified_date</name>
+    <title>Recurring Contribution Modified Date</title>
     <type>datetime</type>
     <comment>Last updated date for this record. mostly the last time a payment was received</comment>
     <add>1.6</add>
   </field>
   <field>
     <name>cancel_date</name>
+    <title>Recurring Contribution Cancel Date</title>
     <type>datetime</type>
     <comment>Date this recurring contribution was cancelled by contributor- if we can get access to it</comment>
     <add>1.6</add>
   </field>
   <field>
     <name>end_date</name>
+    <title>Recurring Contribution End Date</title>
     <type>datetime</type>
     <comment>Date this recurring contribution finished successfully</comment>
     <add>1.6</add>
   </field>
   <field>
     <name>processor_id</name>
+    <title>Payment Processor</title>
     <type>varchar</type>
     <length>255</length>
     <comment>Possibly needed to store a unique identifier for this recurring payment order - if this is available from the processor??</comment>
   </field>
   <field>
     <name>cycle_day</name>
+    <title>Number of Cycle Day</title>
     <type>int unsigned</type>
     <default>1</default>
     <required>true</required>
     <type>datetime</type>
     <comment>At Groundspring this was used by the cron job which triggered payments. If we\'re not doing that but we know about payments, it might still be useful to store for display to org andor contributors.</comment>
     <add>1.6</add>
+    <drop>4.4</drop>
+  </field>
+    <field>
+    <name>next_sched_contribution_date</name>
+    <title>Next Scheduled Contribution Date</title>
+    <type>datetime</type>
+    <comment>Next scheduled date</comment>
+    <add>4.4</add>
   </field>
   <field>
     <name>failure_count</name>
+    <title>Number of Failures</title>
     <type>int unsigned</type>
     <default>0</default>
     <comment>Number of failed charge attempts since last success. Business rule could be set to deactivate on more than x failures.</comment>
   <field>
     <name>failure_retry_date</name>
     <type>datetime</type>
-    <comment>At Groundspring we set a business rule to retry failed payments every 7 days - and stored the next scheduled attempt date there.</comment>
+    <title>Retry Failed Attempt Date</title>
+    <comment>Date to retry failed attempt</comment>
     <add>1.6</add>
   </field>
   <field>
     <name>auto_renew</name>
+    <title>Auto Renew</title>
     <type>boolean</type>
     <required>true</required>
     <default>0</default>
   </field>
   <field>
     <name>payment_processor_id</name>
+    <title>Payment Processor</title>
     <type>int unsigned</type>
     <comment>Foreign key to civicrm_payment_processor.id</comment>
     <add>3.3</add>
   </foreignKey>
   <field>
     <name>is_email_receipt</name>
+    <title>Send email Receipt?</title>
     <type>boolean</type>
     <comment>if true, receipt is automatically emailed to contact on each successful payment</comment>
     <default>1</default>