Adding to the registrant (add/edit)
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 20 Oct 2017 17:31:03 +0000 (13:31 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 20 Oct 2017 17:32:31 +0000 (13:32 -0400)
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
js/models/front/regRequestRegistrant.js
models/admin/ajax/regFront/registrant.php
models/front/registrations/registration.php

index 6d34363..689b5a8 100644 (file)
@@ -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';
+        //     }
+        // }
     },
 
 });
index fe70b66..5fc6819 100644 (file)
@@ -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';
+        //     }
+        // }
     },
 
 });
index 5b48354..0bb02fc 100644 (file)
@@ -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
index c218d3a..e43bc2a 100644 (file)
                                         }
 
                                         // 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.
                                 }