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']) }, })