Skip to content

Commit

Permalink
Cleanup variable names/pseudoconstants/redundant code for payment pro…
Browse files Browse the repository at this point in the history
…cessor classes
  • Loading branch information
mattwire committed Feb 7, 2018
1 parent 8d654c9 commit 2e03c7b
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 58 deletions.
106 changes: 53 additions & 53 deletions CRM/Admin/Form/PaymentProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,12 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {

protected $_fields = NULL;

protected $_ppDAO;
protected $_paymentProcessorDAO;

/**
* @var int $_ppType Payment processor Type ID
* @var int $_paymentProcessorType Payment processor Type ID
*/
protected $_ppType;

/**
* @var array $_ppTypes Array of payment processor types
*/
protected $_ppTypes;
protected $_paymentProcessorType;

/**
* Get the name of the base entity being edited.
Expand All @@ -66,30 +61,30 @@ public function preProcess() {
parent::preProcess();

if ($this->_id) {
$this->_ppType = CRM_Utils_Request::retrieve('pp', 'String', $this, FALSE, NULL);
if (!$this->_ppType) {
$this->_ppType = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessor',
$this->_paymentProcessorType = CRM_Utils_Request::retrieve('pp', 'String', $this, FALSE, NULL);
if (!$this->_paymentProcessorType) {
$this->_paymentProcessorType = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessor',
$this->_id,
'payment_processor_type_id'
);
}
$this->set('pp', $this->_ppType);
$this->set('pp', $this->_paymentProcessorType);
}
else {
$this->_ppType = CRM_Utils_Request::retrieve('pp', 'String', $this, TRUE, NULL);
$this->_paymentProcessorType = CRM_Utils_Request::retrieve('pp', 'String', $this, TRUE, NULL);
}

$this->assign('ppType', $this->_ppType);
$this->assign('ppType', $this->_paymentProcessorType);
$ppTypeName = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessorType',
$this->_ppType,
$this->_paymentProcessorType,
'name'
);
$this->assign('ppTypeName', $ppTypeName);

$this->_ppDAO = new CRM_Financial_DAO_PaymentProcessorType();
$this->_ppDAO->id = $this->_ppType;
$this->_paymentProcessorDAO = new CRM_Financial_DAO_PaymentProcessorType();
$this->_paymentProcessorDAO->id = $this->_paymentProcessorType;

$this->_ppDAO->find(TRUE);
$this->_paymentProcessorDAO->find(TRUE);

if ($this->_id) {
$refreshURL = CRM_Utils_System::url('civicrm/admin/paymentProcessor',
Expand All @@ -114,24 +109,24 @@ public function preProcess() {
$this->refreshURL = $refreshURL;
$this->assign('refreshURL', $refreshURL);

$this->assign('is_recur', $this->_ppDAO->is_recur);
$this->assign('is_recur', $this->_paymentProcessorDAO->is_recur);

$this->_fields = array(
array(
'name' => 'user_name',
'label' => $this->_ppDAO->user_name_label,
'label' => $this->_paymentProcessorDAO->user_name_label,
),
array(
'name' => 'password',
'label' => $this->_ppDAO->password_label,
'label' => $this->_paymentProcessorDAO->password_label,
),
array(
'name' => 'signature',
'label' => $this->_ppDAO->signature_label,
'label' => $this->_paymentProcessorDAO->signature_label,
),
array(
'name' => 'subject',
'label' => $this->_ppDAO->subject_label,
'label' => $this->_paymentProcessorDAO->subject_label,
),
array(
'name' => 'url_site',
Expand All @@ -141,7 +136,7 @@ public function preProcess() {
),
);

if ($this->_ppDAO->is_recur) {
if ($this->_paymentProcessorDAO->is_recur) {
$this->_fields[] = array(
'name' => 'url_recur',
'label' => ts('Recurring Payments URL'),
Expand All @@ -150,7 +145,7 @@ public function preProcess() {
);
}

if (!empty($this->_ppDAO->url_button_default)) {
if (!empty($this->_paymentProcessorDAO->url_button_default)) {
$this->_fields[] = array(
'name' => 'url_button',
'label' => ts('Button URL'),
Expand All @@ -159,7 +154,7 @@ public function preProcess() {
);
}

if (!empty($this->_ppDAO->url_api_default)) {
if (!empty($this->_paymentProcessorDAO->url_api_default)) {
$this->_fields[] = array(
'name' => 'url_api',
'label' => ts('API URL'),
Expand Down Expand Up @@ -198,8 +193,11 @@ public function buildQuickForm($check = FALSE) {
$attributes['description']
);

$this->_ppTypes = CRM_Core_PseudoConstant::paymentProcessorType();
$this->add('select', 'payment_processor_type_id', ts('Payment Processor Type'), $this->_ppTypes, TRUE,
$this->add('select',
'payment_processor_type_id',
ts('Payment Processor Type'),
CRM_Financial_BAO_PaymentProcessor::buildOptions('payment_processor_type_id'),
TRUE,
array('onchange' => "reload(true)")
);

Expand Down Expand Up @@ -316,18 +314,18 @@ public function setDefaultValues() {

if (!$this->_id) {
$defaults['is_active'] = $defaults['is_default'] = 1;
$defaults['url_site'] = $this->_ppDAO->url_site_default;
$defaults['url_api'] = $this->_ppDAO->url_api_default;
$defaults['url_recur'] = $this->_ppDAO->url_recur_default;
$defaults['url_button'] = $this->_ppDAO->url_button_default;
$defaults['test_url_site'] = $this->_ppDAO->url_site_test_default;
$defaults['test_url_api'] = $this->_ppDAO->url_api_test_default;
$defaults['test_url_recur'] = $this->_ppDAO->url_recur_test_default;
$defaults['test_url_button'] = $this->_ppDAO->url_button_test_default;
$defaults['payment_instrument_id'] = $this->_ppDAO->payment_instrument_id;
$defaults['url_site'] = $this->_paymentProcessorDAO->url_site_default;
$defaults['url_api'] = $this->_paymentProcessorDAO->url_api_default;
$defaults['url_recur'] = $this->_paymentProcessorDAO->url_recur_default;
$defaults['url_button'] = $this->_paymentProcessorDAO->url_button_default;
$defaults['test_url_site'] = $this->_paymentProcessorDAO->url_site_test_default;
$defaults['test_url_api'] = $this->_paymentProcessorDAO->url_api_test_default;
$defaults['test_url_recur'] = $this->_paymentProcessorDAO->url_recur_test_default;
$defaults['test_url_button'] = $this->_paymentProcessorDAO->url_button_test_default;
$defaults['payment_instrument_id'] = $this->_paymentProcessorDAO->payment_instrument_id;
// When user changes payment processor type, it is passed in via $this->_ppType so update defaults array.
if ($this->_ppType) {
$defaults['payment_processor_type_id'] = $this->_ppType;
if ($this->_paymentProcessorType) {
$defaults['payment_processor_type_id'] = $this->_paymentProcessorType;
}
return $defaults;
}
Expand All @@ -341,12 +339,14 @@ public function setDefaultValues() {
}

CRM_Core_DAO::storeValues($dao, $defaults);
// When user changes payment processor type, it is passed in via $this->_ppType so update defaults array.
if ($this->_ppType && array_key_exists($this->_ppType, $this->_ppTypes)) {
$defaults['payment_processor_type_id'] = $this->_ppType;
// If payment processor ID does not exist, $paymentProcessorName will be FALSE
$paymentProcessorName = CRM_Core_PseudoConstant::getName('CRM_Financial_BAO_PaymentProcessor', 'payment_processor_type_id', $this->_paymentProcessorType);
if ($this->_paymentProcessorType && $paymentProcessorName) {
// When user changes payment processor type, it is passed in via $this->_ppType so update defaults array.
$defaults['payment_processor_type_id'] = $this->_paymentProcessorType;
}
else {
CRM_Core_Session::setStatus('Payment Processor Type (ID=' . $this->_ppType . ') not found. Did you disable the payment processor extension?', 'Missing Payment Processor', 'alert');
CRM_Core_Session::setStatus('Payment Processor Type (ID=' . $this->_paymentProcessorType . ') not found. Did you disable the payment processor extension?', 'Missing Payment Processor', 'alert');
}

$cards = json_decode(CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_PaymentProcessor',
Expand Down Expand Up @@ -398,12 +398,12 @@ public function postProcess() {
CRM_Core_DAO::executeQuery($query);
}

if ($this->_ppType !== $values['payment_processor_type_id']) {
if ($this->_paymentProcessorType !== $values['payment_processor_type_id']) {
// If we changed the payment processor type, need to update the object as well
$this->_ppType = $values['payment_processor_type_id'];
$this->_ppDAO = new CRM_Financial_DAO_PaymentProcessorType();
$this->_ppDAO->id = $values['payment_processor_type_id'];
$this->_ppDAO->find(TRUE);
$this->_paymentProcessorType = $values['payment_processor_type_id'];
$this->_paymentProcessorDAO = new CRM_Financial_DAO_PaymentProcessorType();
$this->_paymentProcessorDAO->id = $values['payment_processor_type_id'];
$this->_paymentProcessorDAO->find(TRUE);
}
$this->updatePaymentProcessor($values, $domainID, FALSE);
$this->updatePaymentProcessor($values, $domainID, TRUE);
Expand Down Expand Up @@ -453,11 +453,11 @@ public function updatePaymentProcessor(&$values, $domainID, $test) {
'is_test' => $test,
'is_active' => 0,
'is_default' => 0,
'is_recur' => $this->_ppDAO->is_recur,
'billing_mode' => $this->_ppDAO->billing_mode,
'class_name' => $this->_ppDAO->class_name,
'payment_type' => $this->_ppDAO->payment_type,
'payment_instrument_id' => $this->_ppDAO->payment_instrument_id,
'is_recur' => $this->_paymentProcessorDAO->is_recur,
'billing_mode' => $this->_paymentProcessorDAO->billing_mode,
'class_name' => $this->_paymentProcessorDAO->class_name,
'payment_type' => $this->_paymentProcessorDAO->payment_type,
'payment_instrument_id' => $this->_paymentProcessorDAO->payment_instrument_id,
'financial_account_id' => $values['financial_account_id'],
'accepted_credit_cards' => $creditCards,
), $values);
Expand Down
5 changes: 3 additions & 2 deletions CRM/Contribute/PseudoConstant.php
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,13 @@ public static function &financialType($id = NULL, $includeDisabled = FALSE) {

/**
* @deprecated. Please use the buildOptions() method in the appropriate BAO object.
* TODO: buildOptions() doesn't replace this as it doesn't support filtering, which is used with this function.
*
* Get all the financial Accounts
* Get all/filtered array of the financial Accounts
*
*
* @param int $id
* @param int $financialAccountTypeId
* @param int $financialAccountTypeId Optional filer to return only financial accounts of type
* @param string $retrieveColumn
* @param string $key
*
Expand Down
3 changes: 0 additions & 3 deletions Civi/Payment/System.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,6 @@ public function getByProcessor($processor, $force = FALSE) {
if (empty($processor['class_name'])) {
throw new \CRM_Core_Exception('no class provided');
}
if (class_exists($paymentClass)) {
require_once str_replace('_', DIRECTORY_SEPARATOR, $paymentClass) . '.php';
}
}

$processorObject = NULL;
Expand Down

0 comments on commit 2e03c7b

Please sign in to comment.