From 065c87b4e217634fef785aa78e77255c44630af2 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Thu, 23 Jun 2016 11:24:36 +1000 Subject: [PATCH] handle person addition to leader/helper edit form --- booking.studygroup_leaders.inc | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/booking.studygroup_leaders.inc b/booking.studygroup_leaders.inc index 9e6720c..7862477 100644 --- a/booking.studygroup_leaders.inc +++ b/booking.studygroup_leaders.inc @@ -401,7 +401,7 @@ function booking_studygroup_leadhelp_edit_form_submit($form, &$form_state) { //if $person is now different, run an update query if ($person_nid != $previous_value) { $update_messages[] = t("Adding role @role to nid @id in group @group and session @session.", - array('@id' => $previous_value, '@group' => $group_id, '@role' => $type_id, '@session' => $session_id)); + array('@id' => $person_nid, '@group' => $group_id, '@role' => $type_id, '@session' => $session_id)); //add the role to the new person db_update('booking_studygroup_mapping') ->fields(array( @@ -412,21 +412,24 @@ function booking_studygroup_leadhelp_edit_form_submit($form, &$form_state) { ->condition('booking_node_id', $person_nid) //->condition('booking_session_id', $session_id) ->execute(); - //remove the role from the old person - $update_messages[] = t("Removing role @role from nid @id in group @group and session @session.", - array('@id' => $previous_value, '@group' => $group_id, '@role' => $type_id, '@session' => $session_id)); - db_update('booking_studygroup_mapping') - ->fields(array( - 'booking_studygroup_role' => 0, - )) - ->condition('booking_studygroup_id', $group_id) - ->condition('booking_node_id', $previous_value) - ->execute(); $counter++; - } - } - } - } + //remove the role from the old person if there was someone else there before + if ($previous_value != 0) { + $update_messages[] = t("Removing role @role from nid @id in group @group and session @session.", + array('@id' => $previous_value, '@group' => $group_id, '@role' => $type_id, '@session' => $session_id)); + db_update('booking_studygroup_mapping') + ->fields(array( + 'booking_studygroup_role' => 0, + )) + ->condition('booking_studygroup_id', $group_id) + ->condition('booking_node_id', $previous_value) + ->execute(); + $counter++; + } //end previous value check + } //end different person check + } //end empty person check + } //iterate session + } //iterate role type $final_message = "Updated $counter leader/helper roles for study group id $group_id"; drupal_set_message($final_message, 'status', FALSE);