Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert Event Participant Registration Date to datepicker #12979

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 18 additions & 34 deletions CRM/Event/Form/Participant.php
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ public function getDefaultContext() {
* Set variables up before form is built.
*
* @return void
* @throws \CRM_Core_Exception
*/
public function preProcess() {
parent::preProcess();
Expand Down Expand Up @@ -420,8 +421,8 @@ public function preProcess() {
* This function sets the default values for the form in edit/view mode
* the default values are retrieved from the database
*
*
* @return void
* @return array
* @throws \CRM_Core_Exception
*/
public function setDefaultValues() {
if ($this->_showFeeBlock) {
Expand Down Expand Up @@ -467,15 +468,6 @@ public function setDefaultValues() {
}
}

if ($this->_action & (CRM_Core_Action::VIEW | CRM_Core_Action::BROWSE)) {
$inactiveNeeded = TRUE;
$viewMode = TRUE;
}
else {
$viewMode = FALSE;
$inactiveNeeded = FALSE;
}

//setting default register date
if ($this->_action == CRM_Core_Action::ADD) {
$statuses = array_flip(CRM_Event_PseudoConstant::participantStatus());
Expand Down Expand Up @@ -513,6 +505,7 @@ public function setDefaultValues() {
if (!empty($submittedEvent[0])) {
$eventID = $submittedEvent[0];
}
$defaults[$this->_id]['register_date'] = date('Y-m-d H:i:s');
}
else {
$defaults[$this->_id]['record_contribution'] = 0;
Expand All @@ -532,9 +525,6 @@ public function setDefaultValues() {
}
}

list($defaults[$this->_id]['register_date'], $defaults[$this->_id]['register_date_time'])
= CRM_Utils_Date::setDateDefaults(CRM_Utils_Array::value('register_date', $defaults[$this->_id]), 'activityDateTime');

//assign event and role id, this is needed for Custom data building
$sep = CRM_Core_DAO::VALUE_SEPARATOR;
if (!empty($defaults[$this->_id]['participant_role_id'])) {
Expand Down Expand Up @@ -586,6 +576,8 @@ public function setDefaultValues() {
* Build the form object.
*
* @return void
* @throws \CRM_Core_Exception
* @throws \CiviCRM_API3_Exception
*/
public function buildQuickForm() {
$participantStatuses = CRM_Event_PseudoConstant::participantStatus();
Expand Down Expand Up @@ -680,8 +672,7 @@ public function buildQuickForm() {
}
}
CRM_Campaign_BAO_Campaign::addCampaign($this, $campaignId);

$this->addDateTime('register_date', ts('Registration Date'), TRUE, array('formatType' => 'activityDateTime'));
$this->add('datepicker', 'register_date', ts('Registration Date'), [], TRUE, array('time' => TRUE));

if ($this->_id) {
$this->assign('entityID', $this->_id);
Expand Down Expand Up @@ -780,7 +771,6 @@ public function buildQuickForm() {
/**
* Add local and global form rules.
*
*
* @return void
*/
public function addRules() {
Expand Down Expand Up @@ -972,7 +962,9 @@ public function postProcess() {
*
* @param array $params
*
* @return array
* @return string
* @throws \CRM_Core_Exception
* @throws \CiviCRM_API3_Exception
*/
public function submit($params) {
$participantStatus = CRM_Event_PseudoConstant::participantStatus();
Expand Down Expand Up @@ -1027,12 +1019,9 @@ public function submit($params) {
}
else {

//check if discount is selected
if (!empty($params['discount_id'])) {
$discountId = $params['discount_id'];
}
else {
$discountId = $params['discount_id'] = 'null';
// check that discount_id is set
if (empty($params['discount_id'])) {
$params['discount_id'] = 'null';
}

//lets carry currency, CRM-4453
Expand Down Expand Up @@ -1100,8 +1089,6 @@ public function submit($params) {
$amountOwed = $params['amount'];
unset($params['amount']);
}
$params['register_date'] = CRM_Utils_Date::processDate($params['register_date'], $params['register_date_time']);
$params['receive_date'] = CRM_Utils_Date::processDate(CRM_Utils_Array::value('receive_date', $params), CRM_Utils_Array::value('receive_date_time', $params));
$params['contact_id'] = $this->_contactId;

// overwrite actual payment amount if entered
Expand All @@ -1123,6 +1110,8 @@ public function submit($params) {
$this->_params['participant_register_date'] = $params['register_date'];
$roleIdWithSeparator = implode(CRM_Core_DAO::VALUE_SEPARATOR, $this->_params['participant_role_id']);

$now = date('YmdHis');

if ($this->_mode) {
if (!$this->_isPaidEvent) {
CRM_Core_Error::fatal(ts('Selected Event is not Paid Event '));
Expand Down Expand Up @@ -1150,7 +1139,6 @@ public function submit($params) {
$this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getPayment($this->_params['payment_processor_id'],
$this->_mode
);
$now = date('YmdHis');
$fields = array();

// set email for primary location.
Expand Down Expand Up @@ -1273,9 +1261,7 @@ public function submit($params) {

$this->set('params', $this->_params);
$this->assign('trxn_id', $result['trxn_id']);
$this->assign('receive_date',
CRM_Utils_Date::processDate($this->_params['receive_date'])
);
$this->assign('receive_date', $this->_params['receive_date']);

//add contribution record
$this->_params['financial_type_id']
Expand Down Expand Up @@ -1387,8 +1373,7 @@ public function submit($params) {
$contributionParams['non_deductible_amount'] = 'null';
$contributionParams['receipt_date'] = !empty($params['send_receipt']) ? CRM_Utils_Array::value('receive_date', $params) : 'null';
$contributionParams['contact_id'] = $this->_contactID;
// @todo change receive_date to datepicker field. Strip out all wrangling.
$contributionParams['receive_date'] = $params['receive_date'];
$contributionParams['receive_date'] = CRM_Utils_Array::value('receive_date', $params, 'null');

$recordContribution = array(
'financial_type_id',
Expand Down Expand Up @@ -1623,7 +1608,7 @@ public function submit($params) {
}

$this->assign('register_date', $params['register_date']);
if ($params['receive_date']) {
if (isset($params['receive_date'])) {
$this->assign('receive_date', $params['receive_date']);
}

Expand All @@ -1633,7 +1618,6 @@ public function submit($params) {
$participant[] = array('participant_test', '=', 1, 0, 0);
}

$template = CRM_Core_Smarty::singleton();
$customGroup = array();
//format submitted data
foreach ($params['custom'] as $fieldID => $values) {
Expand Down
8 changes: 1 addition & 7 deletions templates/CRM/Event/Form/Participant.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -268,13 +268,7 @@
</tr>
<tr class="crm-participant-form-block-register_date">
<td class="label">{$form.register_date.label}</td>
<td>
{if $hideCalendar neq true}
{include file="CRM/common/jcalendar.tpl" elementName=register_date}
{else}
{$form.register_date.value|crmDate}
{/if}
</td>
<td>{$form.register_date.html}</td>
</tr>
<tr class="crm-participant-form-block-status_id">
<td class="label">{$form.status_id.label}</td>
Expand Down
11 changes: 4 additions & 7 deletions tests/phpunit/CRM/Event/Form/ParticipantTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ public function setUp() {
public function testSubmit() {
$form = $this->getForm();
$form->submit(array(
'register_date' => 'now',
'register_date_time' => '00:00:00',
'register_date' => date('Ymd'),
'status_id' => 1,
'role_id' => 1,
'event_id' => $form->_eventId,
Expand All @@ -36,7 +35,7 @@ public function testSubmit() {
*
* @throws \Exception
*/
public function testSubmitUpaidPriceChangeWhileStillPending() {
public function testSubmitUnpaidPriceChangeWhileStillPending() {
$form = $this->getForm(array('is_monetary' => 1, 'financial_type_id' => 1));
$form->_quickConfig = TRUE;

Expand Down Expand Up @@ -66,8 +65,7 @@ public function testSubmitUpaidPriceChangeWhileStillPending() {
$form->setAction(CRM_Core_Action::ADD);
$form->_priceSetId = $this->_ids['price_set'];
$form->submit(array(
'register_date' => 'now',
'register_date_time' => '00:00:00',
'register_date' => date('Ymd'),
'status_id' => 5,
'role_id' => 1,
'event_id' => $form->_eventId,
Expand Down Expand Up @@ -135,8 +133,7 @@ public function testSubmitWithPayment($thousandSeparator) {
'from_email_id' => array('abc@gmail.com' => 1),
);
$form->submit(array(
'register_date' => 'now',
'register_date_time' => '00:00:00',
'register_date' => date('Ymd'),
'status_id' => 1,
'role_id' => 1,
'event_id' => $form->_eventId,
Expand Down