From 0edb432e4baf612e9de4b07f9ea1a19dfa542e55 Mon Sep 17 00:00:00 2001 From: Jitendra Purohit Date: Wed, 10 Jun 2020 17:28:35 +0530 Subject: [PATCH] dev/core#1809 - Add start/end adjustment columns to membership status page --- CRM/Member/Page/MembershipStatus.php | 17 +++++++++++++++-- templates/CRM/Member/Page/MembershipStatus.tpl | 8 ++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/CRM/Member/Page/MembershipStatus.php b/CRM/Member/Page/MembershipStatus.php index 7850f14065..39a895c3b2 100644 --- a/CRM/Member/Page/MembershipStatus.php +++ b/CRM/Member/Page/MembershipStatus.php @@ -114,12 +114,25 @@ class CRM_Member_Page_MembershipStatus extends CRM_Core_Page_Basic { $dao->id ); } - if ($startEvent = CRM_Utils_Array::value('start_event', $membershipStatus[$dao->id])) { + $startEvent = $membershipStatus[$dao->id]['start_event'] ?? NULL; + $endEvent = $membershipStatus[$dao->id]['end_event'] ?? NULL; + $startEventUnit = $membershipStatus[$dao->id]['start_event_adjust_unit'] ?? NULL; + $endEventUnit = $membershipStatus[$dao->id]['end_event_adjust_unit'] ?? NULL; + $startEventInterval = $membershipStatus[$dao->id]['start_event_adjust_interval'] ?? NULL; + $endEventInterval = $membershipStatus[$dao->id]['end_event_adjust_interval'] ?? NULL; + + if ($startEvent) { $membershipStatus[$dao->id]['start_event'] = ($startEvent == 'join_date') ? 'member since' : str_replace("_", " ", $startEvent); } - if ($endEvent = CRM_Utils_Array::value('end_event', $membershipStatus[$dao->id])) { + if ($endEvent) { $membershipStatus[$dao->id]['end_event'] = ($endEvent == 'join_date') ? 'member since' : str_replace("_", " ", $endEvent); } + if ($startEventUnit && $startEventInterval) { + $membershipStatus[$dao->id]['start_event_adjust_unit_interval'] = "{$startEventInterval} {$startEventUnit}"; + } + if ($endEventUnit && $endEventInterval) { + $membershipStatus[$dao->id]['end_event_adjust_interval'] = "{$endEventInterval} {$endEventUnit}"; + } } // Add order changing widget to selector $returnURL = CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1&action=browse"); diff --git a/templates/CRM/Member/Page/MembershipStatus.tpl b/templates/CRM/Member/Page/MembershipStatus.tpl index 2cd18c3ff5..c8c976fdbb 100644 --- a/templates/CRM/Member/Page/MembershipStatus.tpl +++ b/templates/CRM/Member/Page/MembershipStatus.tpl @@ -28,7 +28,9 @@ {ts}Status{/ts} {ts}Start Event{/ts} + {ts}Start Adjustment{/ts} {ts}End Event{/ts} + {ts}End Adjustment{/ts} {ts}Member{/ts} {ts}Admin{/ts} {ts}Order{/ts} @@ -38,8 +40,10 @@ {foreach from=$rows item=row} {$row.label} - {$row.start_event} - {$row.end_event} + {$row.start_event} + {$row.start_event_adjust_unit_interval} + {$row.end_event} + {$row.end_event_adjust_interval} {if $row.is_current_member eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if} {if $row.is_admin eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if} {$row.weight} -- 2.25.1