var SignupView = FormView.extend({ el: "#signup", action: sdk.account.signup, last_data: null, test_data: { "Email": "testit.account" + Math.floor(Math.random() * 10000000) + "@yoox.com", "Password": "TestPassword", "Password2": "TestPassword", "Gender": "U", "Name": "TestName", "Surname": "TestSurname", "BirthDay": "1978-11-12", "DataProfiling": true, "DataProfiling2": true, }, events: { "click .privacy-msg": "privacy_link", "submit form": "save", }, initialize: function(){ this.$form = this.$("form") this.$msg = this.$(".msg") this.scroller = new IScroll('#signup', app.iscroll_options) }, show: function(){ if (auth.logged_in()) { app.router.go("intro") return } var msg = "* Your personal and payment
information will always remain private" app.footer.show("SUBMIT", "CANCEL") this.$form.get(0).reset() this.$msg.html(msg) document.body.className = "signup" this.preload() }, validate_presence: { "Name": "Please enter your first name.", "Surname": "Please enter your last name.", "Email": "Please enter a valid email address.", "ConfirmEmail": "Please enter a valid email address.", "Password": "Please enter your password.", "Password2": "Please enter your password again.", "DataProfiling": "You must agree to data profiling.", }, validate_fields: function(data, errors){ if (data.Password.length < 7) { errors.push([ "Password", "Password must be 7 characters or more." ]) } if (data.Password !== data.Password2) { errors.push([ "Password2", "Passwords don't match." ]) } if (! data.Email.match("@")) { errors.push([ "Email", "Email address is not valid." ]) } if (data.Email.toLowerCase() !== data.ConfirmEmail.toLowerCase()) { errors.push([ "ConfirmEmail", "Email addresses don't match." ]) } // if (data.Gender === "NONE") { errors.push([ "Gender", "Please supply your gender." ]) } if (data.DataProfiling !== "true") { errors.push([ "DataProfiling", "You must consent to use this service." ]) } if (data.DataProfiling2 !== "true") { errors.push([ "DataProfiling2", "You must consent to use this service." ]) } if (! data.YooxLetter) { data.YooxLetter = false } }, finalize: function(data){ delete data.DataProfiling2 delete data.ConfirmEmail data.Gender = "U" data.BirthDay += "T00:00:00Z" this.last_data = data console.log(data) return data }, privacy_link: function(){ // rewrite app.privacy instance temporarily app.privacy.back = function(){ app.router.go("account/signup") } app.privacy.hide = function(){ app.privacy.back = app.privacy.hide = null } app.router.go("page/privacy") }, success: function(data){ console.log('success', data) auth.user = auth.user || {} auth.user.Name = this.last_data.Name auth.user.Surname = this.last_data.Surname auth.user.Email = this.last_data.Email auth.user.BirthDay = this.last_data.BirthDay app.account.logged_in(function(){ app.router.go("store") }) }, error: function(data){ console.log('error', data) }, cancel: function(){ auth.deferred_product = null }, })