Commit 95ca407d5d3c8f69d0cfa145d9a019ee51ca2a5a

Authored by Leonardo Merlin
1 parent af3db65c

Fixes #7

src/app/components/auth/auth.service.js
@@ -37,12 +37,22 @@ @@ -37,12 +37,22 @@
37 .then(function(response) { 37 .then(function(response) {
38 $log.debug('AuthService.register [SUCCESS] response', response); 38 $log.debug('AuthService.register [SUCCESS] response', response);
39 39
40 - var currentUser = Session.create(response.data); 40 + var data = response.data;
41 41
42 - $rootScope.currentUser = currentUser;  
43 - $rootScope.$broadcast(AUTH_EVENTS.registerSuccess, currentUser);  
44 - $rootScope.$broadcast(AUTH_EVENTS.loginSuccess, currentUser); 42 + if ( data.user && data.user.activated === false){
  43 + // usuário criado E não verificado o e-mail
  44 +
  45 + }
  46 +
  47 + if ( data.user && data.user.activated === true){
  48 + // usuário criado E não verificado o e-mail
  49 + var currentUser = Session.create(data);
45 50
  51 + $rootScope.currentUser = currentUser;
  52 + $rootScope.$broadcast(AUTH_EVENTS.loginSuccess, currentUser);
  53 + }
  54 +
  55 + $rootScope.$broadcast(AUTH_EVENTS.registerSuccess, currentUser);
46 return response; 56 return response;
47 }, function(response) { 57 }, function(response) {
48 $log.debug('AuthService.register [FAIL] response', response); 58 $log.debug('AuthService.register [FAIL] response', response);
src/app/pages/auth/auth.controller.js
@@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
61 // handle logout 61 // handle logout
62 vm.$scope.$on(vm.AUTH_EVENTS.logoutSuccess, function() { 62 vm.$scope.$on(vm.AUTH_EVENTS.logoutSuccess, function() {
63 vm.currentUser = vm.Session.getCurrentUser(); 63 vm.currentUser = vm.Session.getCurrentUser();
  64 + vm._attachCaptcha();
64 }); 65 });
65 }; 66 };
66 67
@@ -83,16 +84,15 @@ @@ -83,16 +84,15 @@
83 var vm = this; 84 var vm = this;
84 85
85 vm.$scope.$on(vm.AUTH_EVENTS.registerSuccess, function(event, response) { 86 vm.$scope.$on(vm.AUTH_EVENTS.registerSuccess, function(event, response) {
86 - vm.$log.debug('TODO: handle register success');  
87 vm.$log.debug('[register success] response', response); 87 vm.$log.debug('[register success] response', response);
88 }); 88 });
89 89
90 vm.$scope.$on(vm.AUTH_EVENTS.registerFailed, function(event, response) { 90 vm.$scope.$on(vm.AUTH_EVENTS.registerFailed, function(event, response) {
91 - vm.$log.debug('TODO: handle register error');  
92 vm.$log.debug('[register error] response', response); 91 vm.$log.debug('[register error] response', response);
93 92
94 - var reason = response.data.message;  
95 - vm.errorMessage = reason; 93 + // REMOVED: feedback alread on "reject handler"
  94 + // var reason = response.data.message;
  95 + // vm.errorMessage = reason;
96 }); 96 });
97 97
98 vm.$scope.$on('oauthClientPluginResult', function(event, response) { 98 vm.$scope.$on('oauthClientPluginResult', function(event, response) {
@@ -103,6 +103,12 @@ @@ -103,6 +103,12 @@
103 // var user = response.data.user; 103 // var user = response.data.user;
104 }); 104 });
105 105
  106 + vm._attachCaptcha();
  107 + };
  108 +
  109 + AuthPageController.prototype._attachCaptcha = function() {
  110 + var vm = this;
  111 +
106 var stop = null; 112 var stop = null;
107 stop = vm.$interval(function(){ 113 stop = vm.$interval(function(){
108 var $el = angular.element('#serpro_captcha'); 114 var $el = angular.element('#serpro_captcha');
@@ -137,17 +143,26 @@ @@ -137,17 +143,26 @@
137 // TODO: mensagens de sucesso 143 // TODO: mensagens de sucesso
138 // 'Cadastro efetuado com sucesso.' 144 // 'Cadastro efetuado com sucesso.'
139 // 'Verifique seu email para confirmar o cadastro.' 145 // 'Verifique seu email para confirmar o cadastro.'
140 - vm.messageTitle = 'Cadastro efetuado com sucesso!';  
141 - vm.successMessage = 'Verifique seu e-mail para confirmar o cadastro.'; 146 + vm.signupMessageTitle = 'Cadastro efetuado com sucesso!';
  147 + vm.signupSuccessMessage = 'Verifique seu e-mail para confirmar o cadastro.';
142 vm.redirectBack(); 148 vm.redirectBack();
143 }, function(response) { 149 }, function(response) {
144 vm.$log.debug('register error.response', response); 150 vm.$log.debug('register error.response', response);
145 151
146 - var message = response.data.message;  
147 - vm.errorMessage = message;  
148 -  
149 - if(response.data.code === 500){  
150 - vm.internalError = true; 152 + vm.internalError = true;
  153 +
  154 + switch (response.data.code) {
  155 + case 400: // bad request
  156 + var errors = JSON.parse(response.data.message);
  157 + if(errors && errors.email){
  158 + vm.signupErrorMessage = "E-mail já está em uso."
  159 + }
  160 + break;
  161 + case 500:
  162 + vm.signupErrorMessage = message;
  163 + break;
  164 + default:
  165 + break;
151 } 166 }
152 167
153 168
src/app/pages/auth/signin.html
@@ -8,14 +8,14 @@ @@ -8,14 +8,14 @@
8 <section role="main" class="section-gray auth-content"> 8 <section role="main" class="section-gray auth-content">
9 <div class="container"> 9 <div class="container">
10 <div class="row"> 10 <div class="row">
11 - <div ng-if="pageSignin.currentUser"> 11 + <div ng-if="pageSignin.currentUser || pageSignin.signupMessageTitle">
12 <div class="row"> 12 <div class="row">
13 <div class="col-sm-8 col-sm-offset-2"> 13 <div class="col-sm-8 col-sm-offset-2">
14 <div class="feedback-message"> 14 <div class="feedback-message">
15 <show-message 15 <show-message
16 type="'success'" 16 type="'success'"
17 - message="pageSignin.messageTitle || 'Você está logado!'"  
18 - description="pageSignin.successMessage" 17 + message="pageSignin.signupMessageTitle || 'Você está logado!'"
  18 + description="pageSignin.signupSuccessMessage"
19 ></show-message> 19 ></show-message>
20 20
21 <div class="row"> 21 <div class="row">
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 </div> 35 </div>
36 </div> 36 </div>
37 </div> 37 </div>
38 - <div ng-if="!pageSignin.currentUser"> 38 + <div ng-if="!pageSignin.currentUser && !pageSignin.signupMessageTitle">
39 <div class="col-sm-5"> 39 <div class="col-sm-5">
40 <div class="row"> 40 <div class="row">
41 <div class="col-md-12"> 41 <div class="col-md-12">
@@ -96,10 +96,10 @@ @@ -96,10 +96,10 @@
96 </p> 96 </p>
97 </div> 97 </div>
98 </div> 98 </div>
99 - <div class="row" ng-if="pageSignin.errorMessage"> 99 + <div class="row" ng-if="pageSignin.signupErrorMessage">
100 <div class="col-sm-12"> 100 <div class="col-sm-12">
101 <div class="alert alert-danger"> 101 <div class="alert alert-danger">
102 - {{pageSignin.errorMessage}} 102 + {{pageSignin.signupErrorMessage}}
103 </div> 103 </div>
104 <div ng-if="vm.internalError"> 104 <div ng-if="vm.internalError">
105 <p>Este erro parece ser um problema interno.<br/>Por favor, tente novamente mais tarde.</p> 105 <p>Este erro parece ser um problema interno.<br/>Por favor, tente novamente mais tarde.</p>