diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-11-24 20:18:57 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-11-24 20:18:57 -0500 |
| commit | 144a3ecb4f610879c12dd10c31a7e310755e4781 (patch) | |
| tree | e6b8566d06d138c20b9b3a6af06afe19da4c6e2d /StoneIsland/www/js/lib/account | |
| parent | 5feeefffa62b131baff63e3241441727cf956fb6 (diff) | |
update profile
Diffstat (limited to 'StoneIsland/www/js/lib/account')
| -rw-r--r-- | StoneIsland/www/js/lib/account/OrdersView.js | 1 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/account/PaymentView.js | 1 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/account/ProfileView.js | 65 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/account/SettingsView.js | 1 | ||||
| -rw-r--r-- | StoneIsland/www/js/lib/account/ShippingView.js | 1 |
5 files changed, 68 insertions, 1 deletions
diff --git a/StoneIsland/www/js/lib/account/OrdersView.js b/StoneIsland/www/js/lib/account/OrdersView.js index f9a2a35c..7283b65c 100644 --- a/StoneIsland/www/js/lib/account/OrdersView.js +++ b/StoneIsland/www/js/lib/account/OrdersView.js @@ -13,6 +13,7 @@ var OrdersView = View.extend({ }, show: function(){ + if (! auth.logged_in()) { return app.router.go("intro") } app.footer.hide() document.body.className = "orders" this.el.className = "list" diff --git a/StoneIsland/www/js/lib/account/PaymentView.js b/StoneIsland/www/js/lib/account/PaymentView.js index 4d6ccce5..d61ab5ab 100644 --- a/StoneIsland/www/js/lib/account/PaymentView.js +++ b/StoneIsland/www/js/lib/account/PaymentView.js @@ -14,6 +14,7 @@ var PaymentView = FormView.extend({ }, show: function(){ + if (! auth.logged_in()) { return app.router.go("intro") } app.footer.show("SAVE", "CANCEL") document.body.className = "payment" }, diff --git a/StoneIsland/www/js/lib/account/ProfileView.js b/StoneIsland/www/js/lib/account/ProfileView.js index 83ab0cdc..9150f874 100644 --- a/StoneIsland/www/js/lib/account/ProfileView.js +++ b/StoneIsland/www/js/lib/account/ProfileView.js @@ -12,8 +12,11 @@ var ProfileView = FormView.extend({ }, show: function(){ + if (! auth.logged_in()) { return app.router.go("intro") } app.footer.show("SAVE", "CANCEL") document.body.className = "profile" + + this.preload(auth.user) }, validate_presence: { @@ -23,9 +26,69 @@ var ProfileView = FormView.extend({ }, validate_fields: function(data, errors){ - if (! data.CurrentPassword && data.NewPassword) { errors.push([ "CurrentPassword", "Please enter your current password." ]) } + if (! data.Email.match("@")) { errors.push([ "Email", "Email address is not valid." ]) } + if (! data.CurrentPassword && (data.NewPassword || data.Email !== auth.user.Email)) { errors.push([ "CurrentPassword", "Please enter your current password." ]) } if (data.CurrentPassword && ! data.NewPassword) { errors.push([ "NewPassword", "Please enter your new password." ]) } if (data.NewPassword && data.NewPassword.length < 7) { errors.push([ "CurrentPassword", "New password must be 7 characters or more." ]) } + if (data.Gender === "NONE") { errors.push([ "Gender", "Please supply your gender." ]) } + + data.BirthDay += "T00:00:00Z" + data.YooxLetter = data.YooxLetter || "false" + }, + + save: function(e){ + e && e.preventDefault() + + var valid = this.validate() + if (valid.errors.length) { + this.show_errors(valid.errors) + return + } + else { + this.hide_errors() + } + + var data = valid.data + if (data.CurrentPassword && (data.NewPassword || data.Email !== auth.user.Email)) { + data.NewPassword = data.NewPassword || data.CurrentPassword + data.NewEmail = data.NewEmail || auth.user.Email + + sdk.account.update_mail_and_password({ + data: { + Password: data.CurrentPassword, + NewPassword: data.NewPassword || data.CurrentPassword, + Email: auth.user, + NewEmail: data.NewEmail || auth.user.Email, + }, + success: function(){ console.log("updated password") }, + error: function(){ console.log("error updating password") }, + }) + } + + var submissible_data = _.pick(valid.data, "Name Surname BirthDay Gender YooxLetter".split(" ")) + + submissible_data.idUser = auth.user_id + submissible_data.AccessToken = auth.access_token + submissible_data.Premium = "false" + submissible_data.LanguageId = "" + submissible_data.SiteCode = "STONEISLAND_US" + submissible_data.FuriganaName = "" + submissible_data.FuriganaSurname = "" + submissible_data.UserPromocode = "" + submissible_data.DataProfiling = "true" + + app.curtain.show("loading") + sdk.account.update({ + data: submissible_data, + success: function(data){ + app.curtain.hide("loading") + this.success(data) + }.bind(this), + error: function(data){ + app.curtain.hide("loading") + this.error(data) + }.bind(this), + }) }, success: function(data){ diff --git a/StoneIsland/www/js/lib/account/SettingsView.js b/StoneIsland/www/js/lib/account/SettingsView.js index ba871543..81b8b5cc 100644 --- a/StoneIsland/www/js/lib/account/SettingsView.js +++ b/StoneIsland/www/js/lib/account/SettingsView.js @@ -12,6 +12,7 @@ var SettingsView = FormView.extend({ }, show: function(){ + if (! auth.logged_in()) { return app.router.go("intro") } app.footer.show("SAVE", "CANCEL") document.body.className = "settings" }, diff --git a/StoneIsland/www/js/lib/account/ShippingView.js b/StoneIsland/www/js/lib/account/ShippingView.js index bc4d24ef..f5bf1661 100644 --- a/StoneIsland/www/js/lib/account/ShippingView.js +++ b/StoneIsland/www/js/lib/account/ShippingView.js @@ -13,6 +13,7 @@ var ShippingView = FormView.extend({ }, show: function(){ + if (! auth.logged_in()) { return app.router.go("intro") } app.footer.show("SAVE", "CANCEL") document.body.className = "shipping" }, |
