diff options
Diffstat (limited to 'public/assets/js/lib/views/admin/password.js')
| -rw-r--r-- | public/assets/js/lib/views/admin/password.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/public/assets/js/lib/views/admin/password.js b/public/assets/js/lib/views/admin/password.js new file mode 100644 index 0000000..41d6ed6 --- /dev/null +++ b/public/assets/js/lib/views/admin/password.js @@ -0,0 +1,53 @@ +var ChangePasswordForm = FormView.extend({ + + el: "#admin_changePassword", + + events: { + }, + + action: "/api/admin/password/", + method: "put", + + initialize: function(opt){ + this.__super__.initialize.call(this, opt) + this.$select = this.$("select") + }, + + load: function(usernames){ + usernames = usernames || [] + usernames.forEach(username => { + option = document.createElement("option") + option.value = username + option.innerHTML = sanitize(username) + this.$select.append(option) + }) + this.$select.show() + }, + + validate: function(){ + var errors = [] + var pw = $("[name=password]").val() + var pw1 = $("[name=newpassword]").val() + var pw2 = $("[name=newpassword2]").val() + if (! pw) { + errors.push("Please enter your password.") + } + if (! pw1 || ! pw2) { + errors.push("Please enter the new password for this user.") + } + if (pw1 && pw2 && pw1 !== pw2) { + errors.push("Passwords don't match.") + } + return errors.length ? errors : null + }, + + success: function(data){ + this.$("[name]").val('') + this.$("select").val('Select a user...') + // window.location.reload() + console.log(this) + console.log(this.parent) + this.showErrors(['password changed']) + }, + +}) |
