protected $_subscriptionDetails = NULL;
- protected $_selfService = FALSE;
-
public $_paymentProcessor = NULL;
public $_paymentProcessorObj = NULL;
parent::preProcess();
$this->setAction(CRM_Core_Action::UPDATE);
- if ($this->contributionRecurID) {
- $this->_subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->contributionRecurID);
- }
-
if ($this->_coid) {
$this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_coid, 'contribute', 'info');
// @todo test & replace with $this->_paymentProcessorObj = Civi\Payment\System::singleton()->getById($this->_paymentProcessor['id']);
$this->_paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($this->_coid, 'contribute', 'obj');
- $this->_subscriptionDetails = CRM_Contribute_BAO_ContributionRecur::getSubscriptionDetails($this->_coid, 'contribution');
$this->contributionRecurID = $this->_subscriptionDetails->recur_id;
}
elseif ($this->contributionRecurID) {
$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();
}
// 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);
}
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('entityID', $this->contributionRecurID);
$type = 'next';
- if ($this->_selfService) {
+ if ($this->isSelfService()) {
$type = 'submit';
}
// define the buttons
$this->addButtons([
- [
- 'type' => $type,
- 'name' => ts('Save'),
- 'isDefault' => TRUE,
- ],
- [
- 'type' => 'cancel',
- 'name' => ts('Cancel'),
- ],
- ]
- );
+ [
+ 'type' => $type,
+ 'name' => ts('Save'),
+ 'isDefault' => TRUE,
+ ],
+ [
+ 'type' => 'cancel',
+ 'name' => ts('Cancel'),
+ ],
+ ]);
}
/**
// 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;
}
if ($this->_subscriptionDetails->installments != $params['installments']) {
$message .= "<br /> " . ts("Recurring contribution installments have been updated from %1 to %2 for this subscription.", [
- 1 => $this->_subscriptionDetails->installments,
- 2 => $params['installments'],
- ]) . ' ';
+ 1 => $this->_subscriptionDetails->installments,
+ 2 => $params['installments'],
+ ]) . ' ';
}
$activityParams = [