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(){
var msg = "* Your personal and payment
information will always remain private"
if (auth.logged_in()) {
msg += "
You are already logged in."
}
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.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" }
delete data.DataProfiling2
delete data.ConfirmEmail
data.Birthday += "T00:00:00Z"
this.last_data = data
console.log(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
app.account.logged_in()
},
error: function(data){
console.log('error', data)
},
cancel: function(){
auth.deferred_product = null
},
/*
var new_user_data = {
"Email": "testit.account" + Math.floor(Math.random() * 10000000) + "@yoox.com",
"Password": "TestPassword",
"Gender": "M",
"Name": "TestName",
"Surname": "TestSurname",
"DataProfiling": true,
}
*/
})