From e9fe95194ca443739eb0e1133925bc8984800e21 Mon Sep 17 00:00:00 2001 From: Omar abu hussein Date: Mon, 26 Feb 2018 11:09:20 +0000 Subject: [PATCH] CRM-21733: Set status override end date to null if no 'Override until selected date' is not selected --- CRM/Member/Form/Membership.php | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/CRM/Member/Form/Membership.php b/CRM/Member/Form/Membership.php index 39f8026996..fa30cf4e67 100644 --- a/CRM/Member/Form/Membership.php +++ b/CRM/Member/Form/Membership.php @@ -926,13 +926,31 @@ class CRM_Member_Form_Membership extends CRM_Member_Form { } // get the submitted form values. $this->_params = $this->controller->exportValues($this->_name); - $this->convertIsOverrideValue(); + $this->prepareStatusOverrideValues(); $this->submit(); $this->setUserContext(); } + /** + * Prepares the values related to status override. + */ + private function prepareStatusOverrideValues() { + $this->setOverrideDateValue(); + $this->convertIsOverrideValue(); + } + + /** + * Sets status override end date to empty value if + * the selected override option is not 'until date'. + */ + private function setOverrideDateValue() { + if (!CRM_Member_StatusOverrideTypes::isUntilDate($this->_params['is_override'])) { + $this->_params['status_override_end_date'] = ''; + } + } + /** * Convert the value of selected (status override?) * option to TRUE if it indicate an overridden status -- 2.25.1