summaryrefslogtreecommitdiff
path: root/public/assets/js/lib/views/admin/password.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/lib/views/admin/password.js')
-rw-r--r--public/assets/js/lib/views/admin/password.js53
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'])
+ },
+
+})