Skip to content

Commit

Permalink
Merge pull request #14964 from seamuslee001/dev_core_1061
Browse files Browse the repository at this point in the history
dev/core#1061 Ensure that custom data is not loaded on update subscription form when in self service mode and re-use shared function
  • Loading branch information
eileenmcnaughton authored Aug 7, 2019
2 parents c3b5c58 + e0e281f commit 4bf6789
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 14 deletions.
18 changes: 5 additions & 13 deletions CRM/Contribute/Form/UpdateSubscription.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ class CRM_Contribute_Form_UpdateSubscription extends CRM_Contribute_Form_Contrib

protected $_subscriptionDetails = NULL;

protected $_selfService = FALSE;

public $_paymentProcessor = NULL;

public $_paymentProcessorObj = NULL;
Expand Down Expand Up @@ -99,13 +97,7 @@ public function preProcess() {
$this->assign('contactId', $this->_subscriptionDetails->contact_id);
}

if (!CRM_Core_Permission::check('edit contributions')) {
if ($this->_subscriptionDetails->contact_id != $this->getContactID()) {
CRM_Core_Error::statusBounce(ts('You do not have permission to update subscription.'));
}
$this->_selfService = TRUE;
}
$this->assign('self_service', $this->_selfService);
$this->assign('self_service', $this->isSelfService());

$this->editableScheduleFields = $this->_paymentProcessorObj->getEditableRecurringScheduleFields();

Expand All @@ -125,7 +117,7 @@ public function preProcess() {
}

// when custom data is included in this page
if (!empty($_POST['hidden_custom'])) {
if (!empty($_POST['hidden_custom']) && !$this->isSelfService()) {
CRM_Custom_Form_CustomData::preProcess($this, NULL, NULL, 1, 'ContributionRecur', $this->contributionRecurID);
CRM_Custom_Form_CustomData::buildQuickForm($this);
CRM_Custom_Form_CustomData::setDefaultValues($this);
Expand Down Expand Up @@ -187,15 +179,15 @@ public function buildQuickForm() {
}

if (CRM_Contribute_BAO_ContributionRecur::supportsFinancialTypeChange($this->contributionRecurID)) {
$this->addEntityRef('financial_type_id', ts('Financial Type'), ['entity' => 'FinancialType'], !$this->_selfService);
$this->addEntityRef('financial_type_id', ts('Financial Type'), ['entity' => 'FinancialType'], !$this->isSelfService());
}

// Add custom data
$this->assign('customDataType', 'ContributionRecur');
$this->assign('entityID', $this->contributionRecurID);

$type = 'next';
if ($this->_selfService) {
if ($this->isSelfService()) {
$type = 'submit';
}

Expand All @@ -220,7 +212,7 @@ public function postProcess() {
// store the submitted values in an array
$params = $this->exportValues();

if ($this->_selfService && $this->_donorEmail) {
if ($this->isSelfService() && $this->_donorEmail) {
// for self service force notify
$params['is_notify'] = 1;
}
Expand Down
4 changes: 3 additions & 1 deletion templates/CRM/Contribute/Form/UpdateSubscription.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@
{/if}
</table>

{include file="CRM/common/customDataBlock.tpl"}
{if !$self_service}
{include file="CRM/common/customDataBlock.tpl"}
{/if}

<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
</div>

0 comments on commit 4bf6789

Please sign in to comment.