| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- const Mn       = require('backbone.marionette');
 
- const App      = require('../main');
 
- const template = require('./password.ejs');
 
- require('jquery-serializejson');
 
- module.exports = Mn.View.extend({
 
-     template:  template,
 
-     className: 'modal-dialog',
 
-     ui: {
 
-         form:           'form',
 
-         buttons:        '.modal-footer button',
 
-         cancel:         'button.cancel',
 
-         save:           'button.save',
 
-         newSecretError: '.new-secret-error',
 
-         generalError:   '#error-info',
 
-     },
 
-     events: {
 
-         'click @ui.save': function (e) {
 
-             e.preventDefault();
 
-             this.ui.newSecretError.hide();
 
-             this.ui.generalError.hide();
 
-             let form = this.ui.form.serializeJSON();
 
-             if (form.new_password1 !== form.new_password2) {
 
-                 this.ui.newSecretError.text('Passwords do not match!').show();
 
-                 return;
 
-             }
 
-             let data = {
 
-                 type:    'password',
 
-                 current: form.current_password,
 
-                 secret:  form.new_password1
 
-             };
 
-             this.ui.buttons.prop('disabled', true).addClass('btn-disabled');
 
-             App.Api.Users.setPassword(this.model.get('id'), data)
 
-                 .then(() => {
 
-                     App.UI.closeModal();
 
-                     App.Controller.showUsers();
 
-                 })
 
-                 .catch(err => {
 
-                     // Change error message to make it a little clearer
 
-                     if (err.message === 'Invalid password') {
 
-                         err.message = 'Current password is invalid';
 
-                     }
 
-                     this.ui.generalError.text(err.message).show();
 
-                     this.ui.buttons.prop('disabled', false).removeClass('btn-disabled');
 
-                 });
 
-         }
 
-     },
 
-     isSelf: function () {
 
-         return App.Cache.User.get('id') === this.model.get('id');
 
-     },
 
-     templateContext: function () {
 
-         return {
 
-             isSelf: this.isSelf.bind(this)
 
-         };
 
-     },
 
-     onRender: function () {
 
-         this.ui.newSecretError.hide();
 
-         this.ui.generalError.hide();
 
-     },
 
- });
 
 
  |