From 7d9db5af8faee5e2e45bff97fc7411f5cc3ee506 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Sat, 5 May 2018 21:05:35 +1000 Subject: [PATCH] clean up logic --- booking.variety_admin.inc | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/booking.variety_admin.inc b/booking.variety_admin.inc index 497801a..6d73dee 100644 --- a/booking.variety_admin.inc +++ b/booking.variety_admin.inc @@ -777,31 +777,36 @@ function booking_variety_regn_edit_form_submit($form, &$form_state) { ->execute(); } else { - if ($booking_variety_ids[$previous_tid] != $previous_sid) { + $new_sid = $booking_variety_ids[$previous_tid]; + watchdog('booking_debug', 'Person @nid in timeslot @tid previously registered for session id @vid but new value is @new', array( + '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $previous_sid, '@new' => $new_sid)); + + // if variety session has changed then update the counts for old and new + if ($new_sid != $previous_sid) { // reduce regn count for old session watchdog('booking_debug', 'Person @nid in timeslot @tid is no longer registered for variety session @vid so reducing count by 1', array( - '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $previous_sid, - )); + '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $previous_sid)); + db_update('booking_variety_sessions') ->expression('booking_variety_regncount', 'booking_variety_regncount - :count', array(':count' => 1)) ->condition('vid', $previous_sid) ->execute(); + + // increase regn count for new session + watchdog('booking_debug', 'Person @nid in timeslot @tid is now registered for variety session @vid so increasing count by 1', array( + '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $booking_variety_ids[$previous_tid])); + + db_update('booking_variety_sessions') + ->expression('booking_variety_regncount', 'booking_variety_regncount + :count', array(':count' => 1)) + ->condition('vid', $booking_variety_ids[$previous_tid]) + ->execute(); + } + else { + watchdog('booking_debug', 'Person @nid in timeslot @tid has not changed variety session @vid', array( + '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $previous_sid)); } } - - watchdog('booking_debug', 'Person @nid in timeslot @tid is now registered for variety session @vid so increasing count by 1', array( - '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $booking_variety_ids[$previous_tid], - )); - // increase regn count for new session - db_update('booking_variety_sessions') - ->expression('booking_variety_regncount', 'booking_variety_regncount + :count', array(':count' => 1)) - ->condition('vid', $booking_variety_ids[$previous_tid]) - ->execute(); - - watchdog('booking_debug', 'Person @nid in timeslot @tid previously registered for session id @vid but new value is @new', array( - '@nid' => $values['nid'], '@tid' => $previous_tid, '@vid' => $previous_sid, '@new' => $booking_variety_ids[$previous_tid] - )); - } + } //end iterate over previous variety session registrations // update the session registration information for this person $result = db_update('booking_variety_regn')