Skip to content

Commit

Permalink
Convert register_date to datepicker
Browse files Browse the repository at this point in the history
  • Loading branch information
mattwire committed Oct 23, 2018
1 parent 8f86a6b commit 6ba1830
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 48 deletions.
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

0 comments on commit 6ba1830

Please sign in to comment.