CRM-15377 fix - On changing price field option(s) from 'Change Fee Selection' doesn...
authormonishdeb <monish.deb@webaccessglobal.com>
Fri, 26 Sep 2014 12:05:34 +0000 (17:35 +0530)
committermonishdeb <monish.deb@webaccessglobal.com>
Fri, 26 Sep 2014 12:05:34 +0000 (17:35 +0530)
https://issues.civicrm.org/jira/browse/CRM-15377

CRM/Event/BAO/Participant.php
CRM/Event/Form/Registration/Register.php

index f33b33a8b6387e9cfd8718f623f586d9ed14aea2..537e2293d4c5d74e1b11818025a2c3ed1042fbaa 100644 (file)
@@ -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})
 ";
index 72a8ef6e4217d4af24874a28b3ccaa6cb256bab9..4c380c4e2034163c05e232aa7b25c5268b82dc6e 100644 (file)
@@ -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])) {