From 7f25fb57516465b5b39e9c98cb0c10f2f68c7e2c Mon Sep 17 00:00:00 2001 From: larssandergreen Date: Thu, 4 May 2023 08:07:57 -0600 Subject: [PATCH] next and end date for recurring --- CRM/Contribute/Page/Tab.php | 3 +++ .../Page/ContributionRecurSelector.tpl | 18 ++++++++++++++++-- templates/CRM/Contribute/Page/Tab.tpl | 4 ++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/CRM/Contribute/Page/Tab.php b/CRM/Contribute/Page/Tab.php index b898677d78..a4a1628dca 100644 --- a/CRM/Contribute/Page/Tab.php +++ b/CRM/Contribute/Page/Tab.php @@ -326,6 +326,9 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { foreach ($recurContributions as $recurId => $recurDetail) { // API3 does not return "installments" if it is not set. But we need it set to avoid PHP notices on ContributionRecurSelector.tpl $recurContributions[$recurId]['installments'] = $recurDetail['installments'] ?? NULL; + $recurContributions[$recurId]['next_sched_contribution_date'] = $recurDetail['next_sched_contribution_date'] ?? NULL; + $recurContributions[$recurId]['cancel_date'] = $recurDetail['cancel_date'] ?? NULL; + $recurContributions[$recurId]['end_date'] = $recurDetail['end_date'] ?? NULL; // Is recurring contribution active? $recurContributions[$recurId]['is_active'] = !in_array(CRM_Contribute_PseudoConstant::contributionStatus($recurDetail['contribution_status_id'], 'name'), CRM_Contribute_BAO_ContributionRecur::getInactiveStatuses()); if ($recurContributions[$recurId]['is_active']) { diff --git a/templates/CRM/Contribute/Page/ContributionRecurSelector.tpl b/templates/CRM/Contribute/Page/ContributionRecurSelector.tpl index 22cdeeaa11..2982db1ba8 100644 --- a/templates/CRM/Contribute/Page/ContributionRecurSelector.tpl +++ b/templates/CRM/Contribute/Page/ContributionRecurSelector.tpl @@ -13,7 +13,12 @@ {ts}Amount{/ts} {ts}Frequency{/ts} - {ts}Start Date{/ts} + + {if $recurType EQ 'active'}{ts}Next Scheduled Date{/ts} + {elseif $recurType EQ 'inactive'}{ts}End or Modified Date{/ts} + {else}{ts}Start Date{/ts} + {/if} + {ts}Installments{/ts} {ts}Payment Processor{/ts} {ts}Status{/ts} @@ -25,7 +30,16 @@ {$row.amount|crmMoney:$row.currency}{if $row.is_test} ({ts}test{/ts}){/if} {ts}Every{/ts} {$row.frequency_interval} {$row.frequency_unit} - {$row.start_date|crmDate} + + {if $recurType EQ 'active'}{$row.next_sched_contribution_date|crmDate} + {elseif $recurType EQ 'inactive'} + {if $row.cancel_date}{$row.cancel_date|crmDate} + {elseif $row.end_date}{$row.end_date|crmDate} + {else}{$row.modified_date|crmDate} + {/if} + {else}{$row.start_date|crmDate} + {/if} + {$row.installments} {$row.payment_processor} {$row.contribution_status} diff --git a/templates/CRM/Contribute/Page/Tab.tpl b/templates/CRM/Contribute/Page/Tab.tpl index b02d5d4958..d6bb73696e 100644 --- a/templates/CRM/Contribute/Page/Tab.tpl +++ b/templates/CRM/Contribute/Page/Tab.tpl @@ -79,11 +79,11 @@ {if $recur}

{ts}Active Recurring Contributions{/ts}

- {include file="CRM/Contribute/Page/ContributionRecurSelector.tpl" recurRows=$activeRecurRows} + {include file="CRM/Contribute/Page/ContributionRecurSelector.tpl" recurRows=$activeRecurRows recurType='active'}

{ts}Inactive Recurring Contributions{/ts}

- {include file="CRM/Contribute/Page/ContributionRecurSelector.tpl" recurRows=$inactiveRecurRows} + {include file="CRM/Contribute/Page/ContributionRecurSelector.tpl" recurRows=$inactiveRecurRows recurType='inactive'}
{/if} -- 2.25.1