diff --git a/src/js/app.js b/src/js/app.js index 9c73482..196c6b2 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -16,6 +16,8 @@ if (typeof window.applicationCache !== 'undefined') { var DialogCtrl = require('./controller/dialog'), AddAccountCtrl = require('./controller/add-account'), + CreateAccountCtrl = require('./controller/create-account'), + ValidatePhoneCtrl = require('./controller/validate-phone'), AccountCtrl = require('./controller/account'), SetPassphraseCtrl = require('./controller/set-passphrase'), PrivateKeyUploadCtrl = require('./controller/privatekey-upload'), @@ -63,12 +65,12 @@ app.config(function($routeProvider) { controller: AddAccountCtrl }); $routeProvider.when('/create-account', { - templateUrl: 'tpl/create-account.html'/*, - controller: AddAccountCtrl*/ + templateUrl: 'tpl/create-account.html', + controller: CreateAccountCtrl }); $routeProvider.when('/validate-phone', { - templateUrl: 'tpl/validate-phone.html'/*, - controller: AddAccountCtrl*/ + templateUrl: 'tpl/validate-phone.html', + controller: ValidatePhoneCtrl }); $routeProvider.when('/login-set-credentials', { templateUrl: 'tpl/login-set-credentials.html', diff --git a/src/js/controller/add-account.js b/src/js/controller/add-account.js index 8eb4083..8d08488 100644 --- a/src/js/controller/add-account.js +++ b/src/js/controller/add-account.js @@ -11,6 +11,7 @@ var AddAccountCtrl = function($scope, $location, $routeParams, $http) { $scope.getAccountSettings = function() { if ($scope.form.$invalid) { + $scope.errMsg = 'Please enter a valid email address!'; return; } diff --git a/src/js/controller/create-account.js b/src/js/controller/create-account.js index 57f7155..7222d3d 100644 --- a/src/js/controller/create-account.js +++ b/src/js/controller/create-account.js @@ -11,16 +11,24 @@ var CreateAccountCtrl = function($scope, $location, $routeParams) { $scope.createWhiteoutAccount = function() { if ($scope.form.$invalid) { + $scope.errMsg = 'Please fill out all required fields!'; return; } $scope.busy = true; $scope.errMsg = undefined; // reset error msg - $scope.emailAddress = $scope.user + '@' + cfg.wmailDomain; + var emailAddress = $scope.user + '@' + cfg.wmailDomain; + + // set to state for next view + $scope.state.createAccount = { + emailAddress: emailAddress, + pass: $scope.pass, + realname: $scope.realname + }; // call REST api appCtrl._adminDao.createUser({ - emailAddress: $scope.emailAddress, + emailAddress: emailAddress, password: $scope.pass, phone: $scope.phone.replace(/\s+/g, ''), // remove spaces from the phone number betaCode: $scope.betaCode.toUpperCase() diff --git a/src/js/controller/validate-phone.js b/src/js/controller/validate-phone.js index e793c27..1631644 100644 --- a/src/js/controller/validate-phone.js +++ b/src/js/controller/validate-phone.js @@ -10,21 +10,22 @@ var ValidatePhoneCtrl = function($scope, $location, $routeParams) { } $scope.validateUser = function() { - if ($scope.formValidate.$invalid) { + if ($scope.form.$invalid) { + $scope.errMsg = 'Please fill out all required fields!'; return; } - $scope.busyValidate = true; - $scope.errMsgValidate = undefined; // reset error msg + $scope.busy = true; + $scope.errMsg = undefined; // reset error msg // verify user to REST api appCtrl._adminDao.validateUser({ - emailAddress: $scope.emailAddress, + emailAddress: $scope.state.createAccount.emailAddress, token: $scope.token.toUpperCase() }, function(err) { if (err) { - $scope.busyValidate = false; - $scope.errMsgValidate = err.errMsg || err.message; + $scope.busy = false; + $scope.errMsg = err.errMsg || err.message; $scope.$apply(); return; } @@ -38,10 +39,10 @@ var ValidatePhoneCtrl = function($scope, $location, $routeParams) { // store credentials in memory appCtrl._auth.setCredentials({ provider: 'wmail', - emailAddress: $scope.emailAddress, - username: $scope.emailAddress, - realname: $scope.realname, - password: $scope.pass, + emailAddress: $scope.state.createAccount.emailAddress, + username: $scope.state.createAccount.emailAddress, + realname: $scope.state.createAccount.realname, + password: $scope.state.createAccount.pass, imap: cfg.wmail.imap, smtp: cfg.wmail.smtp }); diff --git a/src/sass/blocks/basics/_form.scss b/src/sass/blocks/basics/_form.scss index 5ce9b5a..515a36c 100644 --- a/src/sass/blocks/basics/_form.scss +++ b/src/sass/blocks/basics/_form.scss @@ -93,8 +93,7 @@ color: $color-text-light; } - &:invalid, - &.ng-invalid, + &.ng-touched.ng-invalid, &--error { border-color: $color-error; } diff --git a/src/tpl/add-account.html b/src/tpl/add-account.html index e65d033..1a7cd8b 100644 --- a/src/tpl/add-account.html +++ b/src/tpl/add-account.html @@ -9,10 +9,10 @@