// Copyright 2016 Documize Inc. . All rights reserved. // // This software (Documize Community Edition) is licensed under // GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html // // You can operate outside the AGPL restrictions by purchasing // Documize Enterprise Edition and obtaining a commercial license // by contacting . // // https://documize.com import Ember from 'ember'; import AuthProvider from '../mixins/auth'; const { computed, isEmpty, isEqual, isPresent } = Ember; export default Ember.Component.extend(AuthProvider, { password: { password: "", confirmation: "" }, hasFirstnameError: computed.empty('model.firstname'), hasLastnameError: computed.empty('model.lastname'), hasEmailError: computed.empty('model.email'), hasPasswordError: computed('passwordError', 'password.password', { get() { if (isPresent(this.get('passwordError'))) { return `error`; } if (isEmpty(this.get('password.password'))) { return null; } } }), hasConfirmPasswordError: computed('confirmPasswordError', { get() { if (isPresent(this.get("confirmPasswordError"))) { return `error`; } return; } }), actions: { save() { let password = this.get('password.password'); let confirmation = this.get('password.confirmation'); if (isEmpty(this.get('model.firstname'))) { return $("#firstname").focus(); } if (isEmpty(this.get('model.lastname'))) { return $("#lastname").focus(); } if (isEmpty(this.get('model.email'))) { return $("#email").focus(); } if (isPresent(password) && isEmpty(confirmation)) { Ember.set(this, 'confirmPasswordError', 'error'); return $("#confirmPassword").focus(); } if (isEmpty(password) && isPresent(confirmation)) { Ember.set(this, 'passwordError', 'error'); return $("#password").focus(); } if (!isEqual(password, confirmation)) { Ember.set(this, 'passwordError', 'error'); return $("#password").focus(); } let passwords = this.get('password'); this.get('save')(passwords).finally(() => { Ember.set(this, 'password.password', ''); Ember.set(this, 'password.confirmation', ''); }); } } });