Work on RegRequest and cart
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 20 Sep 2017 20:45:51 +0000 (16:45 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 20 Sep 2017 20:45:51 +0000 (16:45 -0400)
Working on setting up data into the database for reg_class and reg_rate
to bring them into the front end with the model. Getting different type
of data for the pricing. Remove extra $ from the template.

Starting working on the cart. I'll need to create new model for the
registrants.

13 files changed:
gulpfile.js
js/collections/front/accounts.js
js/frontRegApp.js
js/models/front/account.js
js/models/front/cart.js
js/models/front/request.js
js/views/front/app.js
js/views/front/regClass.js
models/admin/ajax/account.php
models/admin/ajax/regFront.php
models/admin/ajax/regFront/account.php [new file with mode: 0644]
models/front/registrations/registration.php
views/front/registrations/registration.html

index 4f3ea37..165297b 100644 (file)
@@ -34,7 +34,7 @@ gulp.task('watch', function(){
         'js/model/admin/*.js',
         'js/collections/admin/*.js',
         'js/views/admin/*.js',
-    ], {awaitWriteFinish: true}, ['adminscripts']);
+    ], ['adminscripts']);
     gulp.watch([
         'js/model/front/*.js',
         'js/collections/front/*.js',
index ec77db6..f52c837 100644 (file)
@@ -8,40 +8,18 @@ app.Collections.Front.Accounts = Backbone.Collection.extend({
         this.parent = parent;
     },
 
-    //localStorage: new Backbone.LocalStorage( 'Accounts-' ),
+    url: ajaxUrl+'&glm_action=regFront&collection=accounts',
 
-    urlBase: function(){
-        return appAccountUrl;
-    },
-
-    // sync: function( method, model, options ){
-    //     console.log('sync called on collection. method: ' + method );
-    //     //console.log( method );
-    //     switch( method ){
-    //         case 'create':
-    //             console.log('Create called on Accounts' + model);
-    //             break;
-    //         case 'read':
-    //             console.log('Read called on Accounts' + model);
-    //             break;
-    //         case 'update':
-    //             console.log('Update called on Accounts' + model);
-    //             break;
-    //         case 'delete':
-    //             console.log('Delete called on Accounts' + model);
-    //             break;
-    //     }
-    //
+    // create: function( model ){
+    //     console.log( model );
+    //     //model.save();
+    //     //localStorage.setItem('Account-' + model.parent + '-'+ model.id, JSON.stringify( model ) );
+    //     //this.add( model );
     // },
 
-    create: function( model ){
-        localStorage.setItem('Account-' + model.parent + '-'+ model.id, JSON.stringify( model ) );
-        this.add( model );
-    },
-
     remove: function( model ){
         localStorage.removeItem( localStorage.key('Account-' + model.parent + '-'+ model.id ) );
-        console.log( 'Delete called in collection ' );
+        //console.log( 'Delete called in collection ' );
     },
 
     read: function(){
index ff44eb0..c136931 100644 (file)
@@ -10,22 +10,20 @@ app.Models.Front.Account = Backbone.Model.extend({
         parent: '',
     },
 
-    url: function(){
-        return appAccountUrl + '?model=' + this.id;
-    },
-
-    sync: function( method, model ){
-        // console.log( 'sync in model' );
-        // console.log( method );
-        // console.log( model );
-        switch ( method ) {
-            case 'delete':
-                console.log( 'Delete called in account model' );
-                break;
-        }
-        return false; //Backbone.sync.apply(this, arguments);
+    url: ajaxUrl+'&glm_action=regFront&collection=account',
 
-    },
+    // sync: function( method, model ){
+    //     console.log( 'sync in model' );
+    //     // console.log( method );
+    //     // console.log( model );
+    //     switch ( method ) {
+    //         case 'delete':
+    //             console.log( 'Delete called in account model' );
+    //             break;
+    //     }
+    //     Backbone.sync.apply(this, arguments);
+    //
+    // },
 
     initialize: function(){
         this.on( 'invalid', function( model, error ){
@@ -43,18 +41,6 @@ app.Models.Front.Account = Backbone.Model.extend({
         }
     },
 
-    // save: function( model, options ){
-    //     console.log( 'Save called on model account' );
-    //     console.log( this );
-    //     console.log( model );
-    //     console.log( options );
-    //     get the localStorage item and update it
-    //     localStorage.setItem(
-    //         'Account-' + this.parent + '-'+ this.id,
-    //         JSON.stringify({id: this.id, email: this.email, parent: this.parent})
-    //     );
-    // },
-
 });
 
 // js/models/accountDetail.js
@@ -92,11 +78,12 @@ app.Models.Front.Cart = Backbone.Model.extend({
         accounts: [],
         times: [],
         request: {},
+        events: [],
     },
 
     setRequest: function( request ){
         this.request = new app.Models.Front.Request( request );
-        this.request.save();
+        //this.request.save();
     },
 
     setAccounts: function( accounts ){
@@ -215,8 +202,33 @@ app.Models.Front.Request = Backbone.Model.extend({
     defaults: {
         id: null,
         account: null,
-        account_fname: '',
-        account_lname: '',
+        validated: false,
+        validation_message: '',
+        bill_fname: '',
+        bill_lname: '',
+        bill_org: '',
+        bill_title: '',
+        bill_addr1: '',
+        bill_addr2: '',
+        bill_city: '',
+        bill_state: '',
+        bill_zip: '',
+        bill_country: '',
+        date_submitted: '',
+        pay_method: '',
+        status: '',
+        total: '',
+        cc_type: '',
+        cc_name: '',
+        cc_numb: '',
+        cc_exp: '',
+        cc_cvv: '',
+        cc_conf: '',
+        summary: '',
+        mf_data: '',
+        notes: '',
+        user_trace_info: '',
+        last_update: '',
     },
 
     url: ajaxUrl+'&glm_action=regFront&collection=request',
@@ -233,40 +245,18 @@ app.Collections.Front.Accounts = Backbone.Collection.extend({
         this.parent = parent;
     },
 
-    //localStorage: new Backbone.LocalStorage( 'Accounts-' ),
-
-    urlBase: function(){
-        return appAccountUrl;
-    },
+    url: ajaxUrl+'&glm_action=regFront&collection=accounts',
 
-    // sync: function( method, model, options ){
-    //     console.log('sync called on collection. method: ' + method );
-    //     //console.log( method );
-    //     switch( method ){
-    //         case 'create':
-    //             console.log('Create called on Accounts' + model);
-    //             break;
-    //         case 'read':
-    //             console.log('Read called on Accounts' + model);
-    //             break;
-    //         case 'update':
-    //             console.log('Update called on Accounts' + model);
-    //             break;
-    //         case 'delete':
-    //             console.log('Delete called on Accounts' + model);
-    //             break;
-    //     }
-    //
+    // create: function( model ){
+    //     console.log( model );
+    //     //model.save();
+    //     //localStorage.setItem('Account-' + model.parent + '-'+ model.id, JSON.stringify( model ) );
+    //     //this.add( model );
     // },
 
-    create: function( model ){
-        localStorage.setItem('Account-' + model.parent + '-'+ model.id, JSON.stringify( model ) );
-        this.add( model );
-    },
-
     remove: function( model ){
         localStorage.removeItem( localStorage.key('Account-' + model.parent + '-'+ model.id ) );
-        console.log( 'Delete called in collection ' );
+        //console.log( 'Delete called in collection ' );
     },
 
     read: function(){
@@ -401,6 +391,8 @@ app.Views.Front.App = Backbone.View.extend({
         this.cart = cart;
         this.event = new app.Views.Front.RegEvent({ model: regEvent });
         this.render();
+        // var regRequest = cart.get( 'request' );
+        // console.log( regRequest.id );
     },
 
     render: function(){
@@ -409,7 +401,14 @@ app.Views.Front.App = Backbone.View.extend({
     },
 
     events: {
-        'click #appLogin': 'login'
+        'click #appLogin': 'login',
+        'click #glm-reg-cart-continue': 'continue',
+    },
+
+    continue: function(){
+        console.log( cart );
+        // Need to update the cart
+
     },
 
     login: function(){
@@ -471,24 +470,40 @@ app.Views.Front.RegClass = Backbone.View.extend({
     template: _.template( jQuery('#regClass-template').html() ),
 
     initialize: function(){
+        this.model.accounts.fetch();
+
         this.listenTo( this.model.accounts, 'add', this.addOne );
         this.listenTo( this.model.accounts, 'create', this.addOne );
-        this.listenTo( this.model.accounts, 'reset', this.addAll );
-        this.listenTo( this.model, 'change', this.updateCount );
+        //this.listenTo( this.model.accounts, 'reset', this.addAll );
+        //this.listenTo( this.model.accounts, 'all', this.render );
+        this.listenTo( this.model, 'change', this.render );
 
-        this.model.accounts.fetch();
         return this;
     },
 
-    deleteOne: function(){
-        console.log( 'Delete called' );
-        //console.log( event );
+    render: function(){
+        this.model.set({ reg_count: this.model.accounts.length });
+        this.$el.html( this.template( this.model.toJSON() ) );
+        // Need to see if this class has attendees and render them
+        var view = this.model.accounts.map(function(item){
+            return (new app.Views.Front.Account({ model: item })).render().el;
+        });
+        var accountContainer = this.$('.reg-class-accounts');
+        accountContainer.append(view);
+        return this;
+    },
+
+    deleteOne: function( item ){
+        console.log( item );
+        console.log( 'Delete called in view' );
+        console.log( this.model.accounts.length );
+        this.render();
     },
 
     events: {
         'click .addRegistrant': 'newEntry',
-        'click .toggle-class-open': 'toggleClassOpen',
-        'click .toggle-class-close': 'toggleClassClose',
+        // 'click .toggle-class-open': 'toggleClassOpen',
+        // 'click .toggle-class-close': 'toggleClassClose',
         //'click .glm-reg-level-registrant-delete': 'deleteOne',
     },
 
@@ -533,7 +548,7 @@ app.Views.Front.RegClass = Backbone.View.extend({
                     email: account.email,
                     parent: this.model.id
                 });
-                this.model.trigger('change');
+                //this.model.trigger('change');
                 this.$newEmail.val('');
             } else if ( account.email !== undefined ) {
                 // use the dummy id
@@ -543,7 +558,7 @@ app.Views.Front.RegClass = Backbone.View.extend({
                     email: account.email,
                     parent: this.model.id
                 });
-                this.model.trigger('change');
+                //this.model.trigger('change');
                 this.$newEmail.val('');
             }
         })
@@ -552,28 +567,17 @@ app.Views.Front.RegClass = Backbone.View.extend({
         });
     },
 
-    render: function(){
-        this.model.set({ reg_count: this.model.accounts.length });
-        this.$el.html( this.template( this.model.toJSON() ) );
-        // Need to see if this class has attendees and render them
-        var view = this.model.accounts.map(function(item){
-            return (new app.Views.Front.Account({ model: item })).render().el;
-        });
-        var accountContainer = this.$('.reg-class-accounts');
-        accountContainer.append(view);
-        return this;
-    },
-
-    updateCount: function(){
-        this.model.set({ reg_count: this.model.accounts.length });
-        this.render();
-    },
+    // updateCount: function(){
+    //     this.model.set({ reg_count: this.model.accounts.length });
+    //     this.render();
+    // },
 
     addOne: function( item ){
-        if ( item.isValid() ) {
-            var view = new app.Views.Front.Account({ model: item });
-            this.$el.append( view.render().el );
-        }
+        this.render();
+        // if ( item.isValid() ) {
+        //     var view = new app.Views.Front.Account({ model: item });
+        //     this.$el.append( view.render().el );
+        // }
     },
 
     addAll: function(){
index 7e671a1..9542d6a 100644 (file)
@@ -10,22 +10,20 @@ app.Models.Front.Account = Backbone.Model.extend({
         parent: '',
     },
 
-    url: function(){
-        return appAccountUrl + '?model=' + this.id;
-    },
-
-    sync: function( method, model ){
-        // console.log( 'sync in model' );
-        // console.log( method );
-        // console.log( model );
-        switch ( method ) {
-            case 'delete':
-                console.log( 'Delete called in account model' );
-                break;
-        }
-        return false; //Backbone.sync.apply(this, arguments);
-
-    },
+    url: ajaxUrl+'&glm_action=regFront&collection=account',
+
+    // sync: function( method, model ){
+    //     console.log( 'sync in model' );
+    //     // console.log( method );
+    //     // console.log( model );
+    //     switch ( method ) {
+    //         case 'delete':
+    //             console.log( 'Delete called in account model' );
+    //             break;
+    //     }
+    //     Backbone.sync.apply(this, arguments);
+    //
+    // },
 
     initialize: function(){
         this.on( 'invalid', function( model, error ){
@@ -43,16 +41,4 @@ app.Models.Front.Account = Backbone.Model.extend({
         }
     },
 
-    // save: function( model, options ){
-    //     console.log( 'Save called on model account' );
-    //     console.log( this );
-    //     console.log( model );
-    //     console.log( options );
-    //     get the localStorage item and update it
-    //     localStorage.setItem(
-    //         'Account-' + this.parent + '-'+ this.id,
-    //         JSON.stringify({id: this.id, email: this.email, parent: this.parent})
-    //     );
-    // },
-
 });
index 3e0deb4..b792caa 100644 (file)
@@ -6,11 +6,12 @@ app.Models.Front.Cart = Backbone.Model.extend({
         accounts: [],
         times: [],
         request: {},
+        events: [],
     },
 
     setRequest: function( request ){
         this.request = new app.Models.Front.Request( request );
-        this.request.save();
+        //this.request.save();
     },
 
     setAccounts: function( accounts ){
index cf94aef..d437c53 100644 (file)
@@ -2,8 +2,33 @@ app.Models.Front.Request = Backbone.Model.extend({
     defaults: {
         id: null,
         account: null,
-        account_fname: '',
-        account_lname: '',
+        validated: false,
+        validation_message: '',
+        bill_fname: '',
+        bill_lname: '',
+        bill_org: '',
+        bill_title: '',
+        bill_addr1: '',
+        bill_addr2: '',
+        bill_city: '',
+        bill_state: '',
+        bill_zip: '',
+        bill_country: '',
+        date_submitted: '',
+        pay_method: '',
+        status: '',
+        total: '',
+        cc_type: '',
+        cc_name: '',
+        cc_numb: '',
+        cc_exp: '',
+        cc_cvv: '',
+        cc_conf: '',
+        summary: '',
+        mf_data: '',
+        notes: '',
+        user_trace_info: '',
+        last_update: '',
     },
 
     url: ajaxUrl+'&glm_action=regFront&collection=request',
index a61b4c6..fc363fe 100644 (file)
@@ -11,6 +11,8 @@ app.Views.Front.App = Backbone.View.extend({
         this.cart = cart;
         this.event = new app.Views.Front.RegEvent({ model: regEvent });
         this.render();
+        // var regRequest = cart.get( 'request' );
+        // console.log( regRequest.id );
     },
 
     render: function(){
@@ -19,7 +21,14 @@ app.Views.Front.App = Backbone.View.extend({
     },
 
     events: {
-        'click #appLogin': 'login'
+        'click #appLogin': 'login',
+        'click #glm-reg-cart-continue': 'continue',
+    },
+
+    continue: function(){
+        console.log( cart );
+        // Need to update the cart
+
     },
 
     login: function(){
index 75efb09..f829e1f 100644 (file)
@@ -8,24 +8,40 @@ app.Views.Front.RegClass = Backbone.View.extend({
     template: _.template( jQuery('#regClass-template').html() ),
 
     initialize: function(){
+        this.model.accounts.fetch();
+
         this.listenTo( this.model.accounts, 'add', this.addOne );
         this.listenTo( this.model.accounts, 'create', this.addOne );
-        this.listenTo( this.model.accounts, 'reset', this.addAll );
-        this.listenTo( this.model, 'change', this.updateCount );
+        //this.listenTo( this.model.accounts, 'reset', this.addAll );
+        //this.listenTo( this.model.accounts, 'all', this.render );
+        this.listenTo( this.model, 'change', this.render );
 
-        this.model.accounts.fetch();
         return this;
     },
 
-    deleteOne: function(){
-        console.log( 'Delete called' );
-        //console.log( event );
+    render: function(){
+        this.model.set({ reg_count: this.model.accounts.length });
+        this.$el.html( this.template( this.model.toJSON() ) );
+        // Need to see if this class has attendees and render them
+        var view = this.model.accounts.map(function(item){
+            return (new app.Views.Front.Account({ model: item })).render().el;
+        });
+        var accountContainer = this.$('.reg-class-accounts');
+        accountContainer.append(view);
+        return this;
+    },
+
+    deleteOne: function( item ){
+        console.log( item );
+        console.log( 'Delete called in view' );
+        console.log( this.model.accounts.length );
+        this.render();
     },
 
     events: {
         'click .addRegistrant': 'newEntry',
-        'click .toggle-class-open': 'toggleClassOpen',
-        'click .toggle-class-close': 'toggleClassClose',
+        // 'click .toggle-class-open': 'toggleClassOpen',
+        // 'click .toggle-class-close': 'toggleClassClose',
         //'click .glm-reg-level-registrant-delete': 'deleteOne',
     },
 
@@ -70,7 +86,7 @@ app.Views.Front.RegClass = Backbone.View.extend({
                     email: account.email,
                     parent: this.model.id
                 });
-                this.model.trigger('change');
+                //this.model.trigger('change');
                 this.$newEmail.val('');
             } else if ( account.email !== undefined ) {
                 // use the dummy id
@@ -80,7 +96,7 @@ app.Views.Front.RegClass = Backbone.View.extend({
                     email: account.email,
                     parent: this.model.id
                 });
-                this.model.trigger('change');
+                //this.model.trigger('change');
                 this.$newEmail.val('');
             }
         })
@@ -89,28 +105,17 @@ app.Views.Front.RegClass = Backbone.View.extend({
         });
     },
 
-    render: function(){
-        this.model.set({ reg_count: this.model.accounts.length });
-        this.$el.html( this.template( this.model.toJSON() ) );
-        // Need to see if this class has attendees and render them
-        var view = this.model.accounts.map(function(item){
-            return (new app.Views.Front.Account({ model: item })).render().el;
-        });
-        var accountContainer = this.$('.reg-class-accounts');
-        accountContainer.append(view);
-        return this;
-    },
-
-    updateCount: function(){
-        this.model.set({ reg_count: this.model.accounts.length });
-        this.render();
-    },
+    // updateCount: function(){
+    //     this.model.set({ reg_count: this.model.accounts.length });
+    //     this.render();
+    // },
 
     addOne: function( item ){
-        if ( item.isValid() ) {
-            var view = new app.Views.Front.Account({ model: item });
-            this.$el.append( view.render().el );
-        }
+        this.render();
+        // if ( item.isValid() ) {
+        //     var view = new app.Views.Front.Account({ model: item });
+        //     this.$el.append( view.render().el );
+        // }
     },
 
     addAll: function(){
index 09bd803..11fa076 100644 (file)
@@ -91,10 +91,10 @@ class GlmMembersAdmin_ajax_account extends GLMDataRegistrationsAccount
      */
     public function modelAction( $actionData = false )
     {
-        static $accountId = 10;
+        //static $accountId = 10;
         $return = false;
 
-        $option = filter_var( ~_REQUEST['option'], FILTER_SANITIZE_STRING );
+        $option = filter_var( $_REQUEST['option'], FILTER_SANITIZE_STRING );
 
         switch ( $option ) {
         case 'login':
index 87fe752..82721ae 100644 (file)
@@ -75,7 +75,7 @@ class GlmMembersAdmin_ajax_regFront
         $collection = filter_var( $_REQUEST['collection'], FILTER_SANITIZE_STRING );
 
         // If not a valid collection, die quietly
-        if (!in_array($collection, array('regClasses', 'request'))) {
+        if (!in_array($collection, array('regClasses', 'request', 'account'))) {
             wp_die();
         }
 
diff --git a/models/admin/ajax/regFront/account.php b/models/admin/ajax/regFront/account.php
new file mode 100644 (file)
index 0000000..eef6857
--- /dev/null
@@ -0,0 +1,128 @@
+<?php
+/**
+ * Gaslight Media Members Database
+ * Admin Registrations AJAX processing for Registration Request Events
+ *
+ * PHP version 5.5
+ *
+ * @category glmWordPressPlugin
+ * @package  glmMembersDatabase
+ * @author   Chuck Scott <cscott@gaslightmedia.com>
+ * @license  http://www.gaslightmedia.com Gaslightmedia
+ * @release  regRequestEvent.php,v 1.0 2014/10/31 19:31:47 cscott Exp $
+ * @link     http://dev.gaslightmedia.com/
+ */
+
+// Load Registrations data abstract
+require_once GLM_MEMBERS_REGISTRATIONS_PLUGIN_CLASS_PATH.'/data/dataRegRequest.php';
+
+class GlmMembersAdmin_registrations_ajax_account extends GlmDataRegistrationsRegRequest
+{
+
+    /**
+     * WordPress Database Object
+     *
+     * @var $wpdb
+     * @access public
+     */
+    public $wpdb;
+    /**
+     * Plugin Configuration Data
+     *
+     * @var $config
+     * @access public
+     */
+    public $config;
+
+    /**
+     * Constructor
+     *
+     * This contructor performs the work for this model. This model returns
+     * an array containing the following.
+     *
+     * 'status'
+     *
+     * True if successfull and false if there was a fatal failure.
+     *
+     * 'view'
+     *
+     * A suggested view name that the contoller should use instead of the
+     * default view for this model or false to indicate that the default view
+     * should be used.
+     *
+     * 'data'
+     *
+     * Data that the model is returning for use in merging with the view to
+     * produce output.
+     *
+     * @wpdb object WordPress database object
+     *
+     * @return array Array containing status, suggested view, and any data
+     */
+    public function __construct ($wpdb, $config)
+    {
+
+        // Save WordPress Database object
+        $this->wpdb = $wpdb;
+
+        // Save plugin configuration object
+        $this->config = $config;
+
+        /*
+         * Run constructor for the REgistrations data class
+         *
+         * Note, the third parameter is a flag that indicates to the Contacts
+         * data class that it should flag a group of fields as 'view_only'.
+         */
+        parent::__construct(false, false, true);
+
+    }
+
+    public function modelAction($modelData)
+    {
+
+trigger_error(print_r($modelData,1));
+
+        if ( !isset( $modelData['option'] ) ) {
+            $option = null;
+        } else {
+            $option = $modelData['option'];
+        }
+
+        // Perform specified action
+        switch ( $option ) {
+
+            case 'add':
+                break;
+
+            case 'get':
+                break;
+
+            case 'update':
+                break;
+
+            case 'delete':
+                break;
+
+            default:
+                // If the model has an id then add it to the registrant table
+                // Check to see if the registrant is there if not create one
+                // $registrantId = $this->wpdb->get_var(
+                //     $this->wpdb->prepare(
+                //         "SELECT id
+                //            FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_registrant"
+                //     )
+                // );
+                die();  // should never get here
+                break;
+
+        }
+
+        wp_die();
+
+
+
+    }
+
+
+}
index e48edf9..8354dc8 100644 (file)
         $view = 'registration';
 
         // Check to see if a session is set for this cart
-        include GLM_MEMBERS_REGISTRATIONS_PLUGIN_CLASS_PATH .  '/regCartSupport.php';
+        include GLM_MEMBERS_REGISTRATIONS_PLUGIN_CLASS_PATH . '/regCartSupport.php';
         $regCart = new GlmRegCartSupport( $this->wpdb, $this->config );
         if ( isset( $_SESSION['glm_reg_cart_id'] ) ) {
             $cartId = $_SESSION['glm_reg_cart_id'];
-            //unset( $_SESSION['glm_reg_cart_id'] );
-            //echo '<pre>$cartId: ' . print_r( $cartId, true ) . '</pre>';
         } else {
             // create one
             $cartId = $regCart->createRegistrationCart();
-            //echo '<pre>$cart: ' . print_r( $cart, true ) . '</pre>';
             if ( isset( $cartId ) && filter_var( $cartId, FILTER_VALIDATE_INT ) ) {
                 $_SESSION['glm_reg_cart_id'] = $cartId;
             }
         }
         if ( isset( $cartId ) && filter_var( $cartId, FILTER_VALIDATE_INT ) ) {
             $cart = $regCart->getRegistrationCart( $cartId );
-            echo '<pre>$cart: ' . print_r( $cart, true ) . '</pre>';
+            //echo '<pre>$cart: ' . print_r( $cart, true ) . '</pre>';
             $regRequestJSON = json_encode( $cart['request'] );
         }
         //echo '<pre>$_SESSION: ' . print_r( $_SESSION, true ) . '</pre>';
                 'attendee_max_per_reg' => $regEvent['attendee_max_per_reg'],
                 'reg_hold_minutes'     => $regEvent['reg_hold_minutes'],
                 'cart_hold_days'       => $regEvent['cart_hold_days'],
-                'terms'                => 'Sample terms and conditions',
+                'terms'                => $regEvent['terms'],
             );
 
+            // get the reg_classes
+            $RegClass = new GlmDataRegistrationsRegClass( $this->wpdb, $this->config );
+            $where = " T.reg_event = $eventRegID";
+            $regClass = $RegClass->getList( $where );
+            //echo '<pre>$regClass: ' . print_r( $regClass, true ) . '</pre>';
+            $RegRate = new GlmDataRegistrationsRegRate( $this->wpdb, $this->config);
+            foreach ( $regClass as &$rClass ) {
+                // grab the reg rate for this class
+                $rates = $RegRate->getList( "T.reg_class = " . $rClass['id'] );
+                //echo '<pre>$rates: ' . print_r( $rates, true ) . '</pre>';
+                foreach ( $rates as $rate ) {
+                    $rClass['reg_rate_name']       = $rate['name'];
+                    $rClass['reg_rate_base_price'] = $rate['base_rate'];
+                    $rClass['reg_rate_per_reg']    = $rate['per_registrant'];
+                }
+            }
+            //echo '<pre>$regClass: ' . print_r( $regClass, true ) . '</pre>';
+
             break;
 
         }
         // including test data for now
         include GLM_MEMBERS_REGISTRATIONS_PLUGIN_PATH . '/data/event_setup.php';
 
-        $regClass = $regEventSample['reg_class'];
+        //$regClass = $regEventSample['reg_class'];
 
         // Find the regClass rate to be used
         // There will only be one as this is based on the date.
 
         // Build the Class array of json objects for the classes.
         $jsonClasses = array();
+
         foreach ( $regClass as $rClass ) {
             $jsonClasses[] = json_encode( $rClass );
         }
index 9980ab1..79198f2 100644 (file)
@@ -3,23 +3,26 @@
 {literal}
 <script type="text/template" id="regEvent-template">
     <h2><%= event_name %></h2>
-    <div class="glm-reg-compcode-entry">
+    <div class="glm-reg-compcode-entry glm-hidden">
         <input type="text" placeholder="Enter Comp Code Here" />
     </div>
     <div>
         <p><%= descr %></p>
+        <% if ( attendee_max > 0 ) { %>
         <p>Maximum Registrants: <%- attendee_max %></p>
+        <% } %>
+        <p><%= terms %></p>
     </div>
 
-    <div class="glm-reg-entryforms clearfix">
+    <div class="glm-reg-entryforms clearfix glm-hidden">
         <div class="glm-reg-dates">
             <h4>Pick your registration dates</h4>
             <input type="date" placeholder="Enter Date" />
             <input type="text" placeholder="Enter Time" />
         </div>
-        <div class="glm-reg-submit">
-            <input type="submit" value="Continue to Cart" />
-        </div>
+    </div>
+    <div class="glm-reg-submit">
+        <input id="glm-reg-cart-continue" type="submit" value="Continue to Cart" />
     </div>
 </script>
 
@@ -44,8 +47,8 @@
     <div class="reg-class-detail">
         <div><%- descr %></div>
         <div>Current Rate: <%= reg_rate_name %></div>
-        <div>Base Price: $<%= reg_rate_base_price %></div>
-        <div>Per Registrant: $<%= reg_rate_per_reg %></div>
+        <div>Base Price: <%= reg_rate_base_price %></div>
+        <div>Per Registrant: <%= reg_rate_per_reg %></div>
         <div class="registrant-add clearfix">
             <input type="text" class="addEmail" placeholder="Enter Email Address">
             <input type="submit" class="addRegistrant" value="Add">