Skip to content

Commit

Permalink
[Ref] Separate url path calculation into the relevant classes
Browse files Browse the repository at this point in the history
  • Loading branch information
eileenmcnaughton committed Sep 16, 2020
1 parent 86517dd commit f36fd0f
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 49 deletions.
67 changes: 18 additions & 49 deletions CRM/Event/Form/Participant.php
Original file line number Diff line number Diff line change
Expand Up @@ -338,55 +338,7 @@ public function preProcess() {
return CRM_Event_Form_EventFees::preProcess($this);
}

//check the mode when this form is called either single or as
//search task action
if ($this->_single) {
$this->assign('urlPath', 'civicrm/contact/view/participant');
if (!$this->_id && !$this->_contactId) {
$breadCrumbs = [
[
'title' => ts('CiviEvent Dashboard'),
'url' => CRM_Utils_System::url('civicrm/event', 'reset=1'),
],
];

CRM_Utils_System::appendBreadCrumb($breadCrumbs);
}
}
else {
//set the appropriate action
$context = $this->get('context');
$urlString = 'civicrm/contact/search';
$this->_action = CRM_Core_Action::BASIC;
switch ($context) {
case 'advanced':
$urlString = 'civicrm/contact/search/advanced';
$this->_action = CRM_Core_Action::ADVANCED;
break;

case 'builder':
$urlString = 'civicrm/contact/search/builder';
$this->_action = CRM_Core_Action::PROFILE;
break;

case 'basic':
$urlString = 'civicrm/contact/search/basic';
$this->_action = CRM_Core_Action::BASIC;
break;

case 'custom':
$urlString = 'civicrm/contact/search/custom';
$this->_action = CRM_Core_Action::COPY;
break;
}
CRM_Contact_Form_Task::preProcessCommon($this);

$this->_contactId = NULL;

//set ajax path, this used for custom data building
$this->assign('urlPath', $urlString);
$this->assign('urlPathVar', "_qf_Participant_display=true&qfKey={$this->controller->_key}");
}
$this->assignUrlPath();

$this->assign('single', $this->_single);

Expand Down Expand Up @@ -2329,4 +2281,21 @@ public function getFeeDetails($participantIds, $hasLineItems = FALSE) {
return $feeDetails;
}

/**
* Assign the url path to the template.
*/
protected function assignUrlPath() {
$this->assign('urlPath', 'civicrm/contact/view/participant');
if (!$this->_id && !$this->_contactId) {
$breadCrumbs = [
[
'title' => ts('CiviEvent Dashboard'),
'url' => CRM_Utils_System::url('civicrm/event', 'reset=1'),
],
];

CRM_Utils_System::appendBreadCrumb($breadCrumbs);
}
}

}
38 changes: 38 additions & 0 deletions CRM/Event/Form/Task/Register.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,42 @@ class CRM_Event_Form_Task_Register extends CRM_Event_Form_Participant {
*/
public $_single = FALSE;

/**
* Assign the url path to the template.
*/
protected function assignUrlPath() {
//set the appropriate action
$context = $this->get('context');
$urlString = 'civicrm/contact/search';
$this->_action = CRM_Core_Action::BASIC;
switch ($context) {
case 'advanced':
$urlString = 'civicrm/contact/search/advanced';
$this->_action = CRM_Core_Action::ADVANCED;
break;

case 'builder':
$urlString = 'civicrm/contact/search/builder';
$this->_action = CRM_Core_Action::PROFILE;
break;

case 'basic':
$urlString = 'civicrm/contact/search/basic';
$this->_action = CRM_Core_Action::BASIC;
break;

case 'custom':
$urlString = 'civicrm/contact/search/custom';
$this->_action = CRM_Core_Action::COPY;
break;
}
CRM_Contact_Form_Task::preProcessCommon($this);

$this->_contactId = NULL;

//set ajax path, this used for custom data building
$this->assign('urlPath', $urlString);
$this->assign('urlPathVar', "_qf_Participant_display=true&qfKey={$this->controller->_key}");
}

}

0 comments on commit f36fd0f

Please sign in to comment.