diff --git a/booking.variety_form.inc b/booking.variety_form.inc index e958002..2aca303 100644 --- a/booking.variety_form.inc +++ b/booking.variety_form.inc @@ -131,6 +131,8 @@ function booking_variety_regn_form_validate($form, &$form_state) { return; } + // --- Check that the registration number is valid --- + //verify that user-entered data is a number if (! preg_match('/^[0-9]+$/', $values['booking_nid'])) { form_set_error('booking_nid', t('You have entered an invalid booking reference number.')); @@ -152,6 +154,14 @@ function booking_variety_regn_form_validate($form, &$form_state) { form_set_error('booking_nid', t('You have entered an invalid booking reference number.')); } + // --- Check that this person hasn't already registered for variety sessions + $query_already_registered = db_query("SELECT * FROM {booking_variety_regn} WHERE booking_person_nid = :nid", + array(':nid' => $values['booking_nid'])); + + if ($query_already_registered) { + form_set_error('booking_nid', t('You have already registered for variety sessions.')); + } + // --- Check there is still space available in the selected variety sessions --- //get a list of timeslot IDs from matching form values