From edcf3d36bf2afc6e45e2d6a6d3b22d6153f60c20 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Tue, 15 May 2018 13:03:35 +1000 Subject: [PATCH] Update feedback based on query result --- booking.variety_form.inc | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/booking.variety_form.inc b/booking.variety_form.inc index 1015aab..89963bf 100644 --- a/booking.variety_form.inc +++ b/booking.variety_form.inc @@ -124,10 +124,34 @@ function _booking_get_variety_timeslot_options($timeslot_id) { * Callback function to rebuild the variety session fieldset */ function booking_variety_session_form_callback($form, &$form_state) { - $form_state['rebuild'] = TRUE; + global $event; + $data = $form_state['input']; + //$form['form']['variety-sessions']['booking_feedback_wrapper']['#markup'] = '
Test
'; //return $form['form']['variety-sessions']; - $form['form']['identity']['booking_feedback_wrapper']['#markup'] = '
Test
'; + + // Perform lookup on person to make sure it matches someone attending the current event + $db_and = db_and(); + $db_and->condition('p.booking_eventid', $event->eid, '='); + $db_and->condition('p.booking_status', 1, '='); + $db_and->condition('p.nid', $data['booking_nid'], '='); + $db_and->condition('p.booking_lastname', $data['booking_lastname'], '='); + + $query = db_select('booking_person', 'p'); + $query->condition($db_and) + ->fields('p'); + $person = $query->execute() + ->fetchObject(); + + // Update feedback based on query result + if (! $person) { + $form['form']['identity']['booking_feedback_wrapper']['#markup'] = '
Identity not found.
'; + } + else { + $form['form']['identity']['booking_feedback_wrapper']['#markup'] = '
Identity matched.
'; + } + + $form_state['rebuild'] = TRUE; return $form['form']; }