From 9fb0fe9b7ef614d2248b00ea2b964205f3453f41 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 10 Jun 2014 12:00:24 -0400 Subject: split up builder functionality --- .../assets/javascripts/ui/site/EditProfileModal.js | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 public/assets/javascripts/ui/site/EditProfileModal.js (limited to 'public/assets/javascripts/ui/site/EditProfileModal.js') diff --git a/public/assets/javascripts/ui/site/EditProfileModal.js b/public/assets/javascripts/ui/site/EditProfileModal.js new file mode 100644 index 0000000..6b89ad8 --- /dev/null +++ b/public/assets/javascripts/ui/site/EditProfileModal.js @@ -0,0 +1,56 @@ + +var EditProfileModal = ModalFormView.extend({ + el: ".mediaDrawer.editProfile", + action: "/api/profile", + method: "put", + + load: function(){ + this.reset() + $.get("/api/profile", $.proxy(function(data){ + console.log(data) + + for (var i in data) { + this.$("[name='" + i + "']").val(data[i]) + } + + this.$("#profile_username").html(data.username) + + if (data.photo && data.photo.length) { + this.$("#load_avatar").attr("src", data.photo) + } + else { + this.$("#load_avatar").hide() + } + + this.show() + }, this)) + }, + + validate: function(){ + var errors = [] + + var email = this.$("#profile_email").val() + var pw0 = this.$("#profile_old_password").val() + var pw1 = this.$("#profile_new_password").val() + var pw2 = this.$("#profile_new_password2").val() + + if (pw1.length) { + if (! pw0.length) { + errors.push("Please enter your old password.") + } + if (pw1 !== pw2) { + errors.push("New passwords don't match"); + } + } + if (email.length && email.indexOf("@") === -1) { + errors.push("Please enter a valid email address"); + } + + return errors + }, + + success: function(){ + window.location.href = "/profile" + } + +}) -- cgit v1.2.3-70-g09d2