diff --git a/booking.variety_admin.inc b/booking.variety_admin.inc index 4341873..52ffc5a 100644 --- a/booking.variety_admin.inc +++ b/booking.variety_admin.inc @@ -764,20 +764,33 @@ function booking_variety_regn_edit_form_submit($form, &$form_state) { foreach ($previous_variety_ids as $previous_tid => $previous_sid) { if ($booking_variety_ids[$previous_tid] != $previous_sid) { + // reduce regn count for old session + 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 + 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] )); } } - /* + + // update the session registration information for this person $result = db_update('booking_variety_regn') ->fields(array( - 'booking_variety_ids' => drupal_json_encode(), + 'booking_variety_ids' => drupal_json_encode($booking_variety_ids), )) ->condition('booking_person_nid', $values['nid']) ->execute(); - watchdog('booking', "Updated variety session registration for person ID !nid", array('!nid' => $values['nid'])); - */ + watchdog('booking', "Updated variety session registration for person ID !nid", array('!nid' => $values['nid'])); + $form_state['redirect'] = $redirect_path; } }