More re-organizing the javascript files.
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 8 Sep 2017 18:50:24 +0000 (14:50 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 8 Sep 2017 18:50:24 +0000 (14:50 -0400)
Setting up a global eventReg instead of trying to use
app.Models.eventReg.

29 files changed:
js/collections/admin/regClasses.js [new file with mode: 0644]
js/collections/admin/regRates.js [new file with mode: 0644]
js/collections/front/accounts.js
js/collections/front/regClasses.js
js/collections/front/regRates.js
js/models/admin/regAdminClass.js [deleted file]
js/models/admin/regAdminEvent.js [deleted file]
js/models/admin/regClass.js [new file with mode: 0644]
js/models/admin/regEvent.js [new file with mode: 0644]
js/models/admin/regRate.js [new file with mode: 0644]
js/models/front/account.js
js/models/front/accountDetail.js
js/models/front/login.js
js/models/front/regClass.js
js/models/front/regEvent.js
js/models/front/regRate.js
js/regApp.js
js/views/admin/adminRegClass.js [deleted file]
js/views/admin/adminRegEvent.js [deleted file]
js/views/admin/eventEditLevels.js
js/views/admin/regClass.js [new file with mode: 0644]
js/views/admin/regEvent.js [new file with mode: 0644]
js/views/front/account.js
js/views/front/app.js
js/views/front/login.js
js/views/front/regClass.js
js/views/front/regEvent.js
views/admin/registrations/eventEditLevels.html
views/front/registrations/registration.html

diff --git a/js/collections/admin/regClasses.js b/js/collections/admin/regClasses.js
new file mode 100644 (file)
index 0000000..7c25470
--- /dev/null
@@ -0,0 +1,7 @@
+// js/collections/classes.js
+
+// Classes Collection
+app.Collections.Admin.RegClasses = Backbone.Collection.extend({
+    model: app.Models.Admin.RegClass,
+
+});
diff --git a/js/collections/admin/regRates.js b/js/collections/admin/regRates.js
new file mode 100644 (file)
index 0000000..aaaf8e2
--- /dev/null
@@ -0,0 +1,8 @@
+// js/collections/regRates.js
+
+// Registration Rate Collection
+app.Collections.Admin.RegRates = Backbone.Collection.extend({
+    model: app.Models.Admin.RegRate,
+
+    // localStorage
+});
index b98ec57..5055e74 100644 (file)
@@ -1,20 +1,11 @@
 // js/collections/accounts.js
 
 // Event Registrant collection
-app.Collections.Accounts = Backbone.Collection.extend({
-    model: app.Models.Account,
+app.Collections.Front.Accounts = Backbone.Collection.extend({
+    model: app.Models.Front.Account,
 
     localStorage: new Backbone.LocalStorage( 'Accounts' ),
 
-    // create: function( item ) {
-    //     console.log( item );
-    //     localStorage.setItem(
-    //         'Account_' + item.colName,
-    //         JSON.stringify( item )
-    //     );
-    //     return item.save();
-    // },
-
     sync: function( method, model, options ){
         console.log('sync called on collection. method: ' + method );
     },
index 2e11e2b..3878513 100644 (file)
@@ -1,7 +1,7 @@
 // js/collections/classes.js
 
 // Classes Collection
-app.Collections.RegClasses = Backbone.Collection.extend({
-    model: app.Models.RegClass,
+app.Collections.Front.RegClasses = Backbone.Collection.extend({
+    model: app.Models.Front.RegClass,
 
 });
index e66fc01..ef101ce 100644 (file)
@@ -1,8 +1,8 @@
 // js/collections/regRates.js
 
 // Registration Rate Collection
-app.Collections.RegRates = Backbone.Collection.extend({
-    model: app.Models.RegRate,
+app.Collections.Front.RegRates = Backbone.Collection.extend({
+    model: app.Models.Front.RegRate,
 
     // localStorage
 });
diff --git a/js/models/admin/regAdminClass.js b/js/models/admin/regAdminClass.js
deleted file mode 100644 (file)
index 56ec5fa..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// js/models/regAdminClass.js
-
-// Admin Registration Class model
-app.Models.AdminRegClass = Backbone.Model.extend({
-
-    // Defaults
-    defaults: {
-        reg_event: 0,
-        name: '',
-        descr: '',
-    },
-
-    initialize: function(){
-        this.rates = new app.Collections.Rates;
-    },
-
-});
diff --git a/js/models/admin/regAdminEvent.js b/js/models/admin/regAdminEvent.js
deleted file mode 100644 (file)
index 666ebe9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// js/models/regAdminEvent.js
-
-// Event Reg model
-app.Models.AdminRegEvent = Backbone.Model.extend({
-
-    // Default regEvent values
-    defaults: {
-        name: 'regEvent',
-        event_name: '',
-        event_code: '',
-        notify_email: '',
-        attendees_max: 0,
-        attendees_max_per_reg: 0,
-        reg_hold_minutes: 0,
-        cart_hold_days: 0,
-        terms: '',
-    },
-
-    initialize: function(){
-        // for setting up classes
-        this.classes = new app.Collections.RegClasses;
-    },
-
-    setClasses: function( regClasses ){
-        this.classes.reset( regClasses );
-    },
-
-});
diff --git a/js/models/admin/regClass.js b/js/models/admin/regClass.js
new file mode 100644 (file)
index 0000000..31ec135
--- /dev/null
@@ -0,0 +1,17 @@
+// js/models/regAdminClass.js
+
+// Admin Registration Class model
+app.Models.Admin.RegClass = Backbone.Model.extend({
+
+    // Defaults
+    defaults: {
+        reg_event: 0,
+        name: '',
+        descr: '',
+    },
+
+    initialize: function(){
+        this.rates = new app.Collections.Admin.RegRates;
+    },
+
+});
diff --git a/js/models/admin/regEvent.js b/js/models/admin/regEvent.js
new file mode 100644 (file)
index 0000000..f276af3
--- /dev/null
@@ -0,0 +1,28 @@
+// js/models/regAdminEvent.js
+
+// Event Reg model
+app.Models.Admin.RegEvent = Backbone.Model.extend({
+
+    // Default regEvent values
+    defaults: {
+        name: 'regEvent',
+        event_name: '',
+        event_code: '',
+        notify_email: '',
+        attendees_max: 0,
+        attendees_max_per_reg: 0,
+        reg_hold_minutes: 0,
+        cart_hold_days: 0,
+        terms: '',
+    },
+
+    initialize: function(){
+        // for setting up classes
+        this.classes = new app.Collections.Admin.RegClasses;
+    },
+
+    setClasses: function( regClasses ){
+        this.classes.reset( regClasses );
+    },
+
+});
diff --git a/js/models/admin/regRate.js b/js/models/admin/regRate.js
new file mode 100644 (file)
index 0000000..be92467
--- /dev/null
@@ -0,0 +1,23 @@
+// js/models/regRate.js
+
+// Event Reg model
+
+app.Models.Admin.RegRate = Backbone.Model.extend({
+
+    // Default regRate values
+    defaults: {
+        reg_event: 0,
+        reg_class: '',
+        name: '',
+        start_days: 0,
+        end_days: 0,
+        base_rate: 0.0,
+        per_registrant: 0.0,
+        registrant_credits: 0
+    },
+
+    initialize: function(){
+        // for setting up classes
+    },
+
+});
index 979d9d2..b9f0771 100644 (file)
@@ -1,7 +1,7 @@
 // js/models/account.js
 
 // Event Registrant Model
-app.Models.Account = Backbone.Model.extend({
+app.Models.Front.Account = Backbone.Model.extend({
 
     // Default registrant values
     defaults: {
index e07c243..d59d4cb 100644 (file)
@@ -1,7 +1,7 @@
 // js/models/accountDetail.js
 
 // Event Registrant Detail Model
-app.Models.AccountDetail = app.Models.Account.extend({
+app.Models.Front.AccountDetail = app.Models.Front.Account.extend({
     // Default registrant values
     defaults: {
         id: '',
index 1098f07..270ad76 100644 (file)
@@ -1,7 +1,7 @@
 // js/models/login.js
 
 // Login Model
-app.Models.Login = Backbone.Model.extend({
+app.Models.Front.Login = Backbone.Model.extend({
 
     defaults:  {
         username: '',
index b5fceba..1dc6450 100644 (file)
@@ -1,7 +1,7 @@
 // js/models/regClass.js
 
 // Registration Class Model
-app.Models.RegClass = Backbone.Model.extend({
+app.Models.Front.RegClass = Backbone.Model.extend({
 
     // Defaults
     defaults: {
@@ -15,7 +15,7 @@ app.Models.RegClass = Backbone.Model.extend({
     },
 
     initialize: function(){
-        this.accounts = new app.Collections.Accounts;
+        this.accounts = new app.Collections.Front.Accounts;
         //this.accounts.fetch();
     },
 
index fc654cb..6a6ed67 100644 (file)
@@ -1,7 +1,7 @@
 // js/models/regEvent.js
 
 // Event Reg model
-app.Models.RegEvent = Backbone.Model.extend({
+app.Models.Front.RegEvent = Backbone.Model.extend({
 
     // Default regEvent values
     defaults: {
@@ -18,7 +18,7 @@ app.Models.RegEvent = Backbone.Model.extend({
 
     initialize: function(){
         // for setting up classes
-        this.classes = new app.Collections.RegClasses;
+        this.classes = new app.Collections.Front.RegClasses;
     },
 
     setClasses: function( regClasses ){
index 59f7ef2..6a59b49 100644 (file)
@@ -2,7 +2,7 @@
 
 // Event Reg model
 
-app.Models.regRate = Backbone.Model.extend({
+app.Models.Front.regRate = Backbone.Model.extend({
 
     // Default regRate values
     defaults: {
index ab86387..0884735 100644 (file)
@@ -1 +1 @@
-app.Models.Account=Backbone.Model.extend({defaults:{id:"",email:"",parent:""},initialize:function(){this.on("invalid",function(e,t){console.log(t)})},validate:function(e,t){if(void 0===e.email||""===e.email)return"Need an email address!"}}),app.Models.AccountDetail=app.Models.Account.extend({defaults:{id:"",fname:"",lname:"",org:"",title:"",addr1:"",addr2:"",city:"",state:"",zip:"",country:"",phone:"",fax:"",email_ok:!1,is_member:!1,date_created:"",email:"",parent:""}}),app.Models.Login=Backbone.Model.extend({defaults:{username:"",password:""},urlRoot:appLoginUrl,initialize:function(){this.on("invalid",function(e,t){console.log(t)})},validate:function(e,t){return void 0===e.username||""===e.username?"Username required!":void 0===e.password||""===e.password?"Password required!":void 0}}),app.Models.RegClass=Backbone.Model.extend({defaults:{reg_event:0,name:"",descr:"",reg_rate_name:"",reg_rate_base_price:"",reg_rate_per_reg:"",reg_count:0},initialize:function(){this.accounts=new app.Collections.Accounts}}),app.Models.RegEvent=Backbone.Model.extend({defaults:{name:"regEvent",event_name:"",event_code:"",notify_email:"",attendees_max:0,attendees_max_per_reg:0,reg_hold_minutes:0,cart_hold_days:0,terms:""},initialize:function(){this.classes=new app.Collections.RegClasses},setClasses:function(e){this.classes.reset(e)}}),app.Models.regRate=Backbone.Model.extend({defaults:{reg_event:0,reg_class:"",name:"",start_days:0,end_days:0,base_rate:0,per_registrant:0,registrant_credits:0},initialize:function(){}}),app.Models.AdminRegClass=Backbone.Model.extend({defaults:{reg_event:0,name:"",descr:""},initialize:function(){this.rates=new app.Collections.Rates}}),app.Models.AdminRegEvent=Backbone.Model.extend({defaults:{name:"regEvent",event_name:"",event_code:"",notify_email:"",attendees_max:0,attendees_max_per_reg:0,reg_hold_minutes:0,cart_hold_days:0,terms:""},initialize:function(){this.classes=new app.Collections.RegClasses},setClasses:function(e){this.classes.reset(e)}}),app.Collections.Accounts=Backbone.Collection.extend({model:app.Models.Account,localStorage:new Backbone.LocalStorage("Accounts"),sync:function(e,t,i){console.log("sync called on collection. method: "+e)}}),app.Collections.RegClasses=Backbone.Collection.extend({model:app.Models.RegClass}),app.Collections.RegRates=Backbone.Collection.extend({model:app.Models.RegRate}),app.Views.Account=Backbone.View.extend({tagName:"div",className:"glm-reg-level-registrant clearfix",template:_.template(jQuery("#account-template").html()),events:{"click label":"edit","click .glm-reg-level-registrant-delete":"deleteOne","click .saveRegistrant":"close"},initialize:function(){return this.listenTo(this.model,"change",this.render),this.listenTo(this.model,"destroy",this.remove),this},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.$nameInput=this.$(".editName"),this.$emailInput=this.$(".editEmail"),this},deleteOne:function(){this.model.destroy()},edit:function(){this.$el.addClass("editing"),this.$nameInput.focus()},close:function(){var e=this.$nameInput.val().trim(),t=this.$emailInput.val().trim();e&&t?this.model.save({name:e,email:t}):this.clear(),this.$el.removeClass("editing")}}),Backbone.emulateJSON=!0,Backbone.emulateHTTP=!0,app.Views.App=Backbone.View.extend({el:"#regApp",initialize:function(){this.event=new app.Views.RegEvent({model:app.Models.regEvent}),this.render()},render:function(){return this.$el.append(this.event.render().el),this},events:{"click #appLogin":"login"},login:function(){this.loginView=new app.Views.Login({model:new app.Models.Login}),this.$el.append(this.loginView.render().el),jQuery("#appLogin").hide()}}),app.Views.Login=Backbone.View.extend({tagName:"div",className:"glm-reg-login",template:_.template(jQuery("#eventReg-account-login").html()),events:{"click .accountLogin":"loginToAccount","click #loginCancel":"closeLoginForm"},initialize:function(){return this},closeLoginForm:function(){this.remove(),jQuery("#appLogin").show()},loginToAccount:function(){jQuery.ajax({url:ajaxUrl})},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.$userInput=jQuery(".login"),this.$pwdInput=jQuery(".password"),this}}),app.Views.RegClass=Backbone.View.extend({tagName:"div",className:"glm-reg-level",template:_.template(jQuery("#regClass-template").html()),initialize:function(){return 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},events:{"click .addRegistrant":"newEntry"},newEntry:function(){this.$newEmail=jQuery(".addEmail"),this.$newEmail.val().trim()&&jQuery.ajax({context:this,url:ajaxUrl+"&glm_action=account&option=checkEmail",dataType:"json",data:"email="+this.$newEmail.val().trim()}).done(function(e){!0!==e.validEmail?alert("Must be a valid email address!"):!0!==e.valid?alert("No account matched that email address!"):void 0!==e.id&&void 0!==e.email&&(this.model.accounts.create({id:e.id,email:e.email,parent:this.model.id}),this.model.trigger("change"),this.$newEmail.val(""))}).fail(function(e){console.log("Fail: "+e)})},render:function(){return this.$el.html(this.template(this.model.toJSON())),this},updateCount:function(){return this.model.reg_count=this.model.accounts.length,console.log("Updating Count: "+this.model.reg_count),this.render,this},addOne:function(e){if(e.isValid()){var t=new app.Views.Account({model:e});this.$el.append(t.render().el)}},addAll:function(){jQuery(".glm-reg-level").html("")}}),app.Views.RegEvent=Backbone.View.extend({tagName:"div",className:"glm-reg-event-item clearfix",template:_.template(jQuery("#regEvent-template").html()),initialize:function(){this.listenTo(this.model,"change",this.render)},render:function(){this.$el.html(this.template(this.model.toJSON()));var e=app.Models.regEvent.classes.map(function(e){return new app.Views.RegClass({model:e}).render().el});return this.$el.append(e),this}}),app.Views.AdminRegClass=Backbone.View.extend({tagName:"div",className:"glm-reg-level",template:_.template(jQuery("#regClass-template").html()),initialize:function(){return 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},events:{"click .addRegistrant":"newEntry"},newEntry:function(){this.$newEmail=this.$(".addEmail"),this.$newEmail.val().trim()&&jQuery.ajax({context:this,url:ajaxUrl+"&glm_action=account&option=checkEmail",dataType:"json",data:"email="+this.$newEmail.val().trim()}).done(function(e){!0!==e.validEmail?alert("Must be a valid email address!"):!0!==e.valid?alert("No account matched that email address!"):void 0!==e.id&&void 0!==e.email&&(this.model.accounts.create({id:e.id,email:e.email,parent:this.model.id}),this.model.trigger("change"),this.$newEmail.val(""))}).fail(function(e){console.log("Fail: "+e)})},render:function(){return this.$el.html(this.template(this.model.toJSON())),this},updateCount:function(){return this.model.reg_count=this.model.accounts.length,console.log("Updating Count: "+this.model.reg_count),this.render,this},addOne:function(e){if(e.isValid()){var t=new app.Views.Account({model:e});this.$el.append(t.render().el)}},addAll:function(){jQuery(".glm-reg-level").html("")}}),app.Views.AdminRegEvent=Backbone.View.extend({tagName:"div",className:"glm-reg-event-item clearfix",template:_.template(jQuery("#regEvent-template").html()),initialize:function(){this.listenTo(this.model,"change",this.render)},render:function(){this.$el.html(this.template(this.model.toJSON()));var e=app.Models.regEvent.classes.map(function(e){return new app.Views.AdminRegClass({model:e}).render().el});return this.$el.append(e),this}}),Backbone.emulateJSON=!0,Backbone.emulateHTTP=!0,app.Views.EventEditLevels=Backbone.View.extend({el:"#regApp",initialize:function(){this.event=new app.Views.RegEvent({model:app.Models.regEvent}),this.render()},render:function(){return this.$el.append(this.event.render().el),this},events:{"click #appLogin":"login"},login:function(){this.loginView=new app.Views.Login({model:new app.Models.Login}),this.$el.append(this.loginView.render().el),jQuery("#appLogin").hide()}});
\ No newline at end of file
+app.Models.Front.Account=Backbone.Model.extend({defaults:{id:"",email:"",parent:""},initialize:function(){this.on("invalid",function(e,t){console.log(t)})},validate:function(e,t){if(void 0===e.email||""===e.email)return"Need an email address!"}}),app.Models.Front.AccountDetail=app.Models.Front.Account.extend({defaults:{id:"",fname:"",lname:"",org:"",title:"",addr1:"",addr2:"",city:"",state:"",zip:"",country:"",phone:"",fax:"",email_ok:!1,is_member:!1,date_created:"",email:"",parent:""}}),app.Models.Front.Login=Backbone.Model.extend({defaults:{username:"",password:""},urlRoot:appLoginUrl,initialize:function(){this.on("invalid",function(e,t){console.log(t)})},validate:function(e,t){return void 0===e.username||""===e.username?"Username required!":void 0===e.password||""===e.password?"Password required!":void 0}}),app.Models.Front.RegClass=Backbone.Model.extend({defaults:{reg_event:0,name:"",descr:"",reg_rate_name:"",reg_rate_base_price:"",reg_rate_per_reg:"",reg_count:0},initialize:function(){this.accounts=new app.Collections.Front.Accounts}}),app.Models.Front.RegEvent=Backbone.Model.extend({defaults:{name:"regEvent",event_name:"",event_code:"",notify_email:"",attendees_max:0,attendees_max_per_reg:0,reg_hold_minutes:0,cart_hold_days:0,terms:""},initialize:function(){this.classes=new app.Collections.Front.RegClasses},setClasses:function(e){this.classes.reset(e)}}),app.Models.Front.regRate=Backbone.Model.extend({defaults:{reg_event:0,reg_class:"",name:"",start_days:0,end_days:0,base_rate:0,per_registrant:0,registrant_credits:0},initialize:function(){}}),app.Models.Admin.RegClass=Backbone.Model.extend({defaults:{reg_event:0,name:"",descr:""},initialize:function(){this.rates=new app.Collections.Admin.RegRates}}),app.Models.Admin.RegEvent=Backbone.Model.extend({defaults:{name:"regEvent",event_name:"",event_code:"",notify_email:"",attendees_max:0,attendees_max_per_reg:0,reg_hold_minutes:0,cart_hold_days:0,terms:""},initialize:function(){this.classes=new app.Collections.Admin.RegClasses},setClasses:function(e){this.classes.reset(e)}}),app.Models.Admin.RegRate=Backbone.Model.extend({defaults:{reg_event:0,reg_class:"",name:"",start_days:0,end_days:0,base_rate:0,per_registrant:0,registrant_credits:0},initialize:function(){}}),app.Collections.Front.Accounts=Backbone.Collection.extend({model:app.Models.Front.Account,localStorage:new Backbone.LocalStorage("Accounts"),sync:function(e,t,n){console.log("sync called on collection. method: "+e)}}),app.Collections.Front.RegClasses=Backbone.Collection.extend({model:app.Models.Front.RegClass}),app.Collections.Front.RegRates=Backbone.Collection.extend({model:app.Models.Front.RegRate}),app.Collections.Admin.RegClasses=Backbone.Collection.extend({model:app.Models.Admin.RegClass}),app.Collections.Admin.RegRates=Backbone.Collection.extend({model:app.Models.Admin.RegRate}),app.Views.Front.Account=Backbone.View.extend({tagName:"div",className:"glm-reg-level-registrant clearfix",template:_.template(jQuery("#account-template").html()),events:{"click label":"edit","click .glm-reg-level-registrant-delete":"deleteOne","click .saveRegistrant":"close"},initialize:function(){return this.listenTo(this.model,"change",this.render),this.listenTo(this.model,"destroy",this.remove),this},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.$nameInput=this.$(".editName"),this.$emailInput=this.$(".editEmail"),this},deleteOne:function(){this.model.destroy()},edit:function(){this.$el.addClass("editing"),this.$nameInput.focus()},close:function(){var e=this.$nameInput.val().trim(),t=this.$emailInput.val().trim();e&&t?this.model.save({name:e,email:t}):this.clear(),this.$el.removeClass("editing")}}),Backbone.emulateJSON=!0,Backbone.emulateHTTP=!0,app.Views.Front.App=Backbone.View.extend({el:"#regApp",initialize:function(){this.event=new app.Views.Front.RegEvent({model:regEvent}),this.render()},render:function(){return this.$el.append(this.event.render().el),this},events:{"click #appLogin":"login"},login:function(){this.loginView=new app.Views.Front.Login({model:new app.Models.Front.Login}),this.$el.append(this.loginView.render().el),jQuery("#appLogin").hide()}}),app.Views.Front.Login=Backbone.View.extend({tagName:"div",className:"glm-reg-login",template:_.template(jQuery("#eventReg-account-login").html()),events:{"click .accountLogin":"loginToAccount","click #loginCancel":"closeLoginForm"},initialize:function(){return this},closeLoginForm:function(){this.remove(),jQuery("#appLogin").show()},loginToAccount:function(){jQuery.ajax({url:ajaxUrl})},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.$userInput=jQuery(".login"),this.$pwdInput=jQuery(".password"),this}}),app.Views.Front.RegClass=Backbone.View.extend({tagName:"div",className:"glm-reg-level",template:_.template(jQuery("#regClass-template").html()),initialize:function(){return 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},events:{"click .addRegistrant":"newEntry"},newEntry:function(){this.$newEmail=jQuery(".addEmail"),this.$newEmail.val().trim()&&jQuery.ajax({context:this,url:ajaxUrl+"&glm_action=account&option=checkEmail",dataType:"json",data:"email="+this.$newEmail.val().trim()}).done(function(e){!0!==e.validEmail?alert("Must be a valid email address!"):!0!==e.valid?alert("No account matched that email address!"):void 0!==e.id&&void 0!==e.email&&(this.model.accounts.create({id:e.id,email:e.email,parent:this.model.id}),this.model.trigger("change"),this.$newEmail.val(""))}).fail(function(e){console.log("Fail: "+e)})},render:function(){return this.$el.html(this.template(this.model.toJSON())),this},updateCount:function(){return this.model.reg_count=this.model.accounts.length,console.log("Updating Count: "+this.model.reg_count),this.render,this},addOne:function(e){if(e.isValid()){var t=new app.Views.Front.Account({model:e});this.$el.append(t.render().el)}},addAll:function(){jQuery(".glm-reg-level").html("")}}),app.Views.Front.RegEvent=Backbone.View.extend({tagName:"div",className:"glm-reg-event-item clearfix",template:_.template(jQuery("#regEvent-template").html()),initialize:function(){this.listenTo(this.model,"change",this.render)},render:function(){this.$el.html(this.template(this.model.toJSON()));var e=regEvent.classes.map(function(e){return new app.Views.Front.RegClass({model:e}).render().el});return this.$el.append(e),this}}),Backbone.emulateJSON=!0,Backbone.emulateHTTP=!0,app.Views.Admin.EventEditLevels=Backbone.View.extend({el:"#regApp",initialize:function(){this.event=new app.Views.Admin.RegEvent({model:regEvent}),this.render()},render:function(){return this.$el.append(this.event.render().el),this},events:{}}),app.Views.Admin.RegClass=Backbone.View.extend({tagName:"div",className:"glm-reg-level",template:_.template(jQuery("#regClass-template").html()),initialize:function(){return 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},events:{},render:function(){return this.$el.html(this.template(this.model.toJSON())),this},addOne:function(e){if(e.isValid()){var t=new app.Views.Admin.Account({model:e});this.$el.append(t.render().el)}},addAll:function(){jQuery(".glm-reg-level").html("")}}),app.Views.Admin.RegEvent=Backbone.View.extend({tagName:"div",className:"glm-reg-event-item clearfix",template:_.template(jQuery("#regEvent-template").html()),initialize:function(){this.listenTo(this.model,"change",this.render)},render:function(){this.$el.html(this.template(this.model.toJSON()));var e=regEvent.classes.map(function(e){return new app.Views.Admin.RegClass({model:e}).render().el});return this.$el.append(e),this}});
\ No newline at end of file
diff --git a/js/views/admin/adminRegClass.js b/js/views/admin/adminRegClass.js
deleted file mode 100644 (file)
index cb38cab..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-// js/views/regClass.js
-
-app.Views.AdminRegClass = Backbone.View.extend({
-    tagName: 'div',
-
-    className: 'glm-reg-level',
-
-    template: _.template( jQuery('#regClass-template').html() ),
-
-    initialize: function(){
-        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, 'change:accounts', this.render );
-
-        //this.model.accounts.fetch();
-        return this;
-    },
-
-    events: {
-        'click .addRegistrant': 'newEntry',
-    },
-
-    // For the new entry check the email from the server and see
-    // if there's already an account setup.
-    newEntry: function(){
-        this.$newEmail = this.$('.addEmail');
-
-        if ( !this.$newEmail.val().trim() ) {
-             return;
-        }
-        // Check for this email address
-        jQuery.ajax({
-            context: this,
-            url: ajaxUrl + '&glm_action=account&option=checkEmail',
-            dataType: 'json',
-            data: 'email=' + this.$newEmail.val().trim()
-        })
-        .done(function(account){
-            // Check for id and email
-            if ( account.validEmail !== true ) {
-                // If not found then nothing was found for that email.
-                alert('Must be a valid email address!');
-            } else if ( account.valid !== true ) {
-                alert( 'No account matched that email address!' );
-            } else if ( account.id !== undefined && account.email !== undefined ) {
-                this.model.accounts.create({
-                    id: account.id,
-                    email: account.email,
-                    parent: this.model.id
-                });
-                this.model.trigger('change');
-                this.$newEmail.val('');
-            }
-        })
-        .fail(function(msg){
-            console.log('Fail: ' + msg);
-        });
-    },
-
-    render: function(){
-        this.$el.html( this.template( this.model.toJSON() ) );
-        return this;
-    },
-
-    updateCount: function(){
-        this.model.reg_count = this.model.accounts.length;
-        console.log( 'Updating Count: ' + this.model.reg_count );
-        this.render;
-        return this;
-    },
-
-    addOne: function( item ){
-        if ( item.isValid() ) {
-            var view = new app.Views.Account({ model: item });
-            this.$el.append( view.render().el );
-        }
-    },
-
-    addAll: function(){
-        jQuery('.glm-reg-level').html('');
-        //this.model.accounts.each( this.addOne, this );
-    },
-
-});
diff --git a/js/views/admin/adminRegEvent.js b/js/views/admin/adminRegEvent.js
deleted file mode 100644 (file)
index 4fbe663..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// js/views/adminRegEvent.js
-
-// Admin reg view
-app.Views.AdminRegEvent = Backbone.View.extend({
-
-    tagName: 'div',
-
-    className: 'glm-reg-event-item clearfix',
-
-    template: _.template( jQuery('#regEvent-template').html() ),
-
-    // Called when the view is first created
-    initialize: function(){
-        this.listenTo( this.model, 'change', this.render );
-    },
-    render: function(){
-        this.$el.html( this.template( this.model.toJSON() ) );
-        var view = app.Models.regEvent.classes.map(function(item){
-            return (new app.Views.AdminRegClass({ model: item })).render().el;
-        });
-        this.$el.append(view);
-        return this;
-    },
-
-});
index b964fc9..768c6c1 100644 (file)
@@ -3,12 +3,12 @@ Backbone.emulateJSON = true;
 Backbone.emulateHTTP = true;
 
 // Event Registrant List View
-app.Views.EventEditLevels = Backbone.View.extend({
+app.Views.Admin.EventEditLevels = Backbone.View.extend({
 
     el: '#regApp',
 
     initialize: function(){
-        this.event = new app.Views.RegEvent({ model: app.Models.regEvent });
+        this.event = new app.Views.Admin.RegEvent({ model: regEvent });
         this.render();
     },
 
@@ -18,18 +18,6 @@ app.Views.EventEditLevels = Backbone.View.extend({
     },
 
     events: {
-        'click #appLogin': 'login'
     },
 
-    login: function(){
-        this.loginView = new app.Views.Login({ model: new app.Models.Login() });
-        this.$el.append( this.loginView.render().el );
-        jQuery('#appLogin').hide();
-    },
-
-    // start: function( bootstrap ){
-    //     app.Models.regEvent  = new app.Models.RegEvent( bootstrap.regEvent );
-    //     app.Models.regEvent.setClasses( bootstrap.regEventClasses );
-    // },
-
 });
diff --git a/js/views/admin/regClass.js b/js/views/admin/regClass.js
new file mode 100644 (file)
index 0000000..30eb68d
--- /dev/null
@@ -0,0 +1,40 @@
+// js/views/regClass.js
+
+app.Views.Admin.RegClass = Backbone.View.extend({
+    tagName: 'div',
+
+    className: 'glm-reg-level',
+
+    template: _.template( jQuery('#regClass-template').html() ),
+
+    initialize: function(){
+        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, 'change:accounts', this.render );
+
+        //this.model.accounts.fetch();
+        return this;
+    },
+
+    events: {
+    },
+
+    render: function(){
+        this.$el.html( this.template( this.model.toJSON() ) );
+        return this;
+    },
+
+    addOne: function( item ){
+        if ( item.isValid() ) {
+            var view = new app.Views.Admin.Account({ model: item });
+            this.$el.append( view.render().el );
+        }
+    },
+
+    addAll: function(){
+        jQuery('.glm-reg-level').html('');
+    },
+
+});
diff --git a/js/views/admin/regEvent.js b/js/views/admin/regEvent.js
new file mode 100644 (file)
index 0000000..33c1821
--- /dev/null
@@ -0,0 +1,25 @@
+// js/views/adminRegEvent.js
+
+// Admin reg view
+app.Views.Admin.RegEvent = Backbone.View.extend({
+
+    tagName: 'div',
+
+    className: 'glm-reg-event-item clearfix',
+
+    template: _.template( jQuery('#regEvent-template').html() ),
+
+    // Called when the view is first created
+    initialize: function(){
+        this.listenTo( this.model, 'change', this.render );
+    },
+    render: function(){
+        this.$el.html( this.template( this.model.toJSON() ) );
+        var view = regEvent.classes.map(function(item){
+            return (new app.Views.Admin.RegClass({ model: item })).render().el;
+        });
+        this.$el.append(view);
+        return this;
+    },
+
+});
index 33fd7d4..ba7cfc2 100644 (file)
@@ -1,7 +1,7 @@
 // js/views/account.js
 
 // Event Registrant View
-app.Views.Account = Backbone.View.extend({
+app.Views.Front.Account = Backbone.View.extend({
     tagName: 'div',
 
     className: 'glm-reg-level-registrant clearfix',
index b9f2645..fc0a947 100644 (file)
@@ -3,12 +3,12 @@ Backbone.emulateJSON = true;
 Backbone.emulateHTTP = true;
 
 // Event Registrant List View
-app.Views.App = Backbone.View.extend({
+app.Views.Front.App = Backbone.View.extend({
 
     el: '#regApp',
 
     initialize: function(){
-        this.event = new app.Views.RegEvent({ model: app.Models.regEvent });
+        this.event = new app.Views.Front.RegEvent({ model: regEvent });
         this.render();
     },
 
@@ -22,14 +22,9 @@ app.Views.App = Backbone.View.extend({
     },
 
     login: function(){
-        this.loginView = new app.Views.Login({ model: new app.Models.Login() });
+        this.loginView = new app.Views.Front.Login({ model: new app.Models.Front.Login() });
         this.$el.append( this.loginView.render().el );
         jQuery('#appLogin').hide();
     },
 
-    // start: function( bootstrap ){
-    //     app.Models.regEvent  = new app.Models.RegEvent( bootstrap.regEvent );
-    //     app.Models.regEvent.setClasses( bootstrap.regEventClasses );
-    // },
-
 });
index f7ce8f6..3fbdbd9 100644 (file)
@@ -1,7 +1,7 @@
 // js/views/login.js
 
 // Login View
-app.Views.Login = Backbone.View.extend({
+app.Views.Front.Login = Backbone.View.extend({
     tagName: 'div',
 
     className: 'glm-reg-login',
index f42af05..d399bb7 100644 (file)
@@ -1,6 +1,6 @@
 // js/views/regClass.js
 
-app.Views.RegClass = Backbone.View.extend({
+app.Views.Front.RegClass = Backbone.View.extend({
     tagName: 'div',
 
     className: 'glm-reg-level',
@@ -73,7 +73,7 @@ app.Views.RegClass = Backbone.View.extend({
 
     addOne: function( item ){
         if ( item.isValid() ) {
-            var view = new app.Views.Account({ model: item });
+            var view = new app.Views.Front.Account({ model: item });
             this.$el.append( view.render().el );
         }
     },
index b7ca426..7d180e6 100644 (file)
@@ -1,7 +1,7 @@
 // js/views/regEvent.js
 
 // Reg Event View
-app.Views.RegEvent = Backbone.View.extend({
+app.Views.Front.RegEvent = Backbone.View.extend({
 
     tagName: 'div',
 
@@ -16,8 +16,8 @@ app.Views.RegEvent = Backbone.View.extend({
 
     render: function(){
         this.$el.html( this.template( this.model.toJSON() ) );
-        var view = app.Models.regEvent.classes.map(function(item){
-            return (new app.Views.RegClass({ model: item })).render().el;
+        var view = regEvent.classes.map(function(item){
+            return (new app.Views.Front.RegClass({ model: item })).render().el;
         });
         this.$el.append(view);
         return this;
index 4b4f77b..4df6b19 100644 (file)
     var appLoginUrl = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=login';
     var ajaxUrl = '{$ajaxUrl}?action=glm_members_admin_ajax';
     var app = {
-        Models: {},
-        Collections: {},
-        Views: {},
+        Models: { Front: {}, Admin: {} },
+        Collections: { Front: {}, Admin: {} },
+        Views: { Front: {}, Admin: {} },
     };
+    var regEvent = '';
     jQuery(function($){
-        app.Models.regEvent = new app.Models.RegEvent;
-        app.Models.regEvent.set( {$regEventJSON} );
-        app.Models.regEvent.setClasses( {$regClassJSON} );
-        //new app.Views.App();
-        new app.Views.EventEditLevels();
+        regEvent = new app.Models.Admin.RegEvent;
+        regEvent.set( {$regEventJSON} );
+        regEvent.setClasses( {$regClassJSON} );
+        new app.Views.Admin.EventEditLevels();
     });
     </script>
 
index 372d2af..6423115 100644 (file)
 var appLoginUrl = '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=login';
 var ajaxUrl = '{$ajaxUrl}?action=glm_members_admin_ajax';
 var app = {
-    Models: {},
-    Collections: {},
-    Views: {},
+    Models: { Front: {}, Admin: {} },
+    Collections: { Front: {}, Admin: {} },
+    Views: { Front: {}, Admin: {} },
 };
+var regEvent = '';
 jQuery(function($){
-    app.Models.regEvent = new app.Models.RegEvent;
-    app.Models.regEvent.set( {$regEventJSON} );
-    app.Models.regEvent.setClasses( {$regClassesJSON} );
-    new app.Views.App();
+    regEvent = new app.Models.Front.RegEvent;
+    regEvent.set( {$regEventJSON} );
+    regEvent.setClasses( {$regClassesJSON} );
+    new app.Views.Front.App();
 });
 </script>