CRM-17850 implement getEditableRecurringScheduleFields for Dummy processor
authoreileenmcnaughton <eileen@fuzion.co.nz>
Thu, 21 Jan 2016 02:00:13 +0000 (02:00 +0000)
committereileenmcnaughton <eileen@fuzion.co.nz>
Thu, 21 Jan 2016 02:00:13 +0000 (02:00 +0000)
This is purely to give visibility of the option to enable appropriate fields for editing

CRM/Core/Payment/Dummy.php

index b42d00f5e74cab8bffa468dbe899613952b046ef..1d68efe868121367667d198e7dc61121f02b5830 100644 (file)
@@ -169,4 +169,33 @@ class CRM_Core_Payment_Dummy extends CRM_Core_Payment {
     return NULL;
   }
 
+  /**
+   * Get an array of the fields that can be edited on the recurring contribution.
+   *
+   * Some payment processors support editing the amount and other scheduling details of recurring payments, especially
+   * those which use tokens. Others are fixed. This function allows the processor to return an array of the fields that
+   * can be updated from the contribution recur edit screen.
+   *
+   * The fields are likely to be a subset of these
+   *  - 'amount',
+   *  - 'installments',
+   *  - 'frequency_interval',
+   *  - 'frequency_unit',
+   *  - 'cycle_day',
+   *  - 'next_sched_contribution_date',
+   *  - 'end_date',
+   *  - 'failure_retry_day',
+   *
+   * The form does not restrict which fields from the contribution_recur table can be added (although if the html_type
+   * metadata is not defined in the xml for the field it will cause an error.
+   *
+   * Open question - would it make sense to return membership_id in this - which is sometimes editable and is on that
+   * form (UpdateSubscription).
+   *
+   * @return array
+   */
+  public function getEditableRecurringScheduleFields() {
+    return array('amount', 'next_sched_contribution_date');
+  }
+
 }