From 8dfe9fe312f45f131414530b2939e9b2124e269e Mon Sep 17 00:00:00 2001 From: monishdeb Date: Fri, 26 Sep 2014 17:35:34 +0530 Subject: [PATCH] CRM-15377 fix - On changing price field option(s) from 'Change Fee Selection' doesn't update lineitem's label and unit_price https://issues.civicrm.org/jira/browse/CRM-15377 --- CRM/Event/BAO/Participant.php | 7 ++++--- CRM/Event/Form/Registration/Register.php | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CRM/Event/BAO/Participant.php b/CRM/Event/BAO/Participant.php index f33b33a8b6..537e2293d4 100644 --- a/CRM/Event/BAO/Participant.php +++ b/CRM/Event/BAO/Participant.php @@ -1866,8 +1866,7 @@ WHERE cpf.price_set_id = %1 AND cpfv.label LIKE %2"; unset($insertLines[$previousLineItem['price_field_value_id']]); // for updating the line items i.e. use-case - once deselect-option selecting again if ($previousLineItem['line_total'] != $submittedLineItems[$previousLineItem['price_field_value_id']]['line_total']) { - $updateLines[$previousLineItem['price_field_value_id']]['qty'] = $submittedLineItems[$previousLineItem['price_field_value_id']]['qty']; - $updateLines[$previousLineItem['price_field_value_id']]['line_total'] = $submittedLineItems[$previousLineItem['price_field_value_id']]['line_total']; + $updateLines[$previousLineItem['price_field_value_id']] = $submittedLineItems[$previousLineItem['price_field_value_id']];; } } } @@ -1923,7 +1922,9 @@ GROUP BY li.entity_table, li.entity_id, price_field_value_id $updateLineItem = " UPDATE civicrm_line_item li SET li.qty = {$vals['qty']}, - li.line_total = {$vals['line_total']} + li.line_total = {$vals['line_total']}, + li.unit_price = {$vals['unit_price']}, + li.label = '{$vals['label']}' WHERE (li.entity_table = 'civicrm_participant' AND li.entity_id = {$participantId}) AND (price_field_value_id = {$valueId}) "; diff --git a/CRM/Event/Form/Registration/Register.php b/CRM/Event/Form/Registration/Register.php index 72a8ef6e42..4c380c4e20 100644 --- a/CRM/Event/Form/Registration/Register.php +++ b/CRM/Event/Form/Registration/Register.php @@ -756,7 +756,7 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration { //but we don't want to allow participant to increase //seats at the time of re-walking registration. if ($count && - $form->_allowConfirmation && + !empty($form->_allowConfirmation) && !empty($formattedPriceSetDefaults) ) { if (empty($formattedPriceSetDefaults["price_{$field}"]) || empty($formattedPriceSetDefaults["price_{$fieldId}"][$optId])) { -- 2.25.1