From 3d9d36d1cdd8a682b6f742e12299d0a4345f8d01 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 20 Oct 2017 13:31:03 -0400 Subject: [PATCH] Adding to the registrant (add/edit) When adding/updating registrant Setting class_name in reg_request_class table. Setting rate_name in reg_request_rate table. Setting event_datetime in reg_request_registrant table. --- js/frontRegApp.js | 12 ++-- js/models/front/regRequestRegistrant.js | 12 ++-- models/admin/ajax/regFront/registrant.php | 69 ++++++++++----------- models/front/registrations/registration.php | 23 +++---- 4 files changed, 58 insertions(+), 58 deletions(-) diff --git a/js/frontRegApp.js b/js/frontRegApp.js index 6d34363..689b5a8 100644 --- a/js/frontRegApp.js +++ b/js/frontRegApp.js @@ -228,12 +228,12 @@ app.Models.Front.RegRequestRegistrant = Backbone.Model.extend({ if ( attribs.lname === undefined || attribs.lname === '' ) { return 'Last Name Required'; } - if ( attribs.email != '' ) { - var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; - if ( reg.test( attribs.email ) == false ) { - return 'Invalid Email Address'; - } - } + // if ( attribs.email != '' ) { + // var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; + // if ( reg.test( attribs.email ) == false ) { + // return 'Invalid Email Address'; + // } + // } }, }); diff --git a/js/models/front/regRequestRegistrant.js b/js/models/front/regRequestRegistrant.js index fe70b66..5fc6819 100644 --- a/js/models/front/regRequestRegistrant.js +++ b/js/models/front/regRequestRegistrant.js @@ -36,12 +36,12 @@ app.Models.Front.RegRequestRegistrant = Backbone.Model.extend({ if ( attribs.lname === undefined || attribs.lname === '' ) { return 'Last Name Required'; } - if ( attribs.email != '' ) { - var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; - if ( reg.test( attribs.email ) == false ) { - return 'Invalid Email Address'; - } - } + // if ( attribs.email != '' ) { + // var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; + // if ( reg.test( attribs.email ) == false ) { + // return 'Invalid Email Address'; + // } + // } }, }); diff --git a/models/admin/ajax/regFront/registrant.php b/models/admin/ajax/regFront/registrant.php index 5b48354..0bb02fc 100644 --- a/models/admin/ajax/regFront/registrant.php +++ b/models/admin/ajax/regFront/registrant.php @@ -156,12 +156,23 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations $modelData['reg_request'] ) ); + // At this point we need to get the class data + $regClass = $this->wpdb->get_row( + $this->wpdb->prepare( + "SELECT * + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_class + WHERE id = %d", + $modelData['reg_class'] + ), + ARRAY_A + ); $data = array( 'reg_event' => $modelData['reg_event'], 'event_datetime' => $modelData['event_datetime'], 'reg_request' => $modelData['reg_request'], 'reg_request_event' => $regRequestEventId, 'class' => $modelData['reg_class'], + 'class_name' => $regClass['name'], ); $dataFormat = array( '%d', // reg_event @@ -169,6 +180,7 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations '%d', // reg_request '%d', // reg_request_event '%d', // class + '%s', // class_name ); if ( !$regRequestClassId ) { $this->wpdb->insert( @@ -229,7 +241,7 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations '%d', // reg_request_event '%d', // reg_request_class '%d', // rate - '%d', // rate_name + '%s', // rate_name '%f', // base_rate '%f', // per_registrant '%d', // registrant_credits @@ -305,40 +317,20 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations ) ); - /* - * Check for availability - If available then place a hold by creating a reg_time_pending entry - */ - // - - // Get availability from reg_time entry -/* - * *** NEED TO REVISIT THIS *** - * The reg_time table entry data should be passed to the front-end attendee selection and the ID of the - * selected reg_time entry is what should be used to get the current availability. - * The availability is sent to the registration page now so we can check against that before sending. - * This will also be cheked again in the cart anyway. - * - $regRequestRegistrantAvailble = $this->wpdb->get_var( + $regTime = $this->wpdb->get_row( $this->wpdb->prepare( - "SELECT attendees_available - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time - WHERE reg_event = %d - AND account = %d - AND reg_request_event = %d - AND reg_request_class = %d", - $modelData['reg_request'], - $accountId, - $regRequestEventId, - $regRequestClassId - ) - ); -*/ - + "SELECT * + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time + WHERE id = %d", + $modelData['reg_time'] + ), + ARRAY_A + ); $data = array( 'account' => $accountId, 'reg_event' => $modelData['reg_event'], 'reg_time' => $modelData['reg_time'], - // 'event_datetime' => $modelData['event_datetime'], + 'event_datetime' => $regTime['start_datetime'], 'reg_request' => $modelData['reg_request'], 'reg_request_event' => $regRequestEventId, 'reg_request_class' => $regRequestClassId, @@ -350,7 +342,7 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations '%d', // account '%d', // reg_event '%s', // reg_time - // '%s', // event_datetime + '%s', // event_datetime '%d', // reg_request '%d', // reg_request_event '%d', // reg_request_class @@ -437,14 +429,22 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations } if ( $regRequestRegistrantId = filter_var( $modelData['id'], FILTER_VALIDATE_INT ) ) { + $regTime = $this->wpdb->get_row( + $this->wpdb->prepare( + "SELECT * + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time + WHERE id = %d", + $modelData['reg_time'] + ), + ARRAY_A + ); // Check the account to see what's changed // Check for a new reg_time $data = array( 'account' => $modelData['account'], 'reg_event' => $modelData['reg_event'], - 'event_name' => $modelData['event_name'], 'reg_time' => $modelData['reg_time'], - // 'event_datetime' => $modelData['event_datetime'], + 'event_datetime' => $regTime['start_datetime'], 'reg_request' => $modelData['reg_request'], 'reg_request_event' => $modelData['reg_request_event'], 'reg_request_class' => $modelData['reg_request_class'], @@ -455,9 +455,8 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations $dataFormat = array( '%d', // account '%d', // reg_event - '%s', // event_name '%s', // reg_time - // '%s', // event_datetime + '%s', // event_datetime '%d', // reg_request '%d', // reg_request_event '%d', // reg_request_class diff --git a/models/front/registrations/registration.php b/models/front/registrations/registration.php index c218d3a..e43bc2a 100644 --- a/models/front/registrations/registration.php +++ b/models/front/registrations/registration.php @@ -287,17 +287,18 @@ } // Setup the registrant for this level. - $registrant['class_id'] = $classId; - $registrant['reg_class'] = $classId; - $registrant['email'] = $email; - $registrant['validated'] = $accountData['validated']; - $registrant['addr1'] = $accountData['addr1']; - $registrant['addr2'] = $accountData['addr2']; - $registrant['city'] = $accountData['city']; - $registrant['state'] = $accountData['state']; - $registrant['zip'] = $accountData['zip']; - $registrant['country'] = $accountData['country']; - $registrants[] = $registrant; + $registrant['class_id'] = $classId; + $registrant['reg_class'] = $classId; + $registrant['email'] = $email; + $registrant['validated'] = $accountData['validated']; + $registrant['addr1'] = $accountData['addr1']; + $registrant['addr2'] = $accountData['addr2']; + $registrant['city'] = $accountData['city']; + $registrant['state'] = $accountData['state']; + $registrant['zip'] = $accountData['zip']; + $registrant['country'] = $accountData['country']; + $registrant['reg_request'] = $rEvent['reg_request']; + $registrants[] = $registrant; } // - End loop through for registrants array. } -- 2.17.1