Commit f5e0759dd33b824a99825b6b4c5aba61608c3367
1 parent
59545714
Exists in
master
and in
5 other branches
fix login handler (fix #325)
Showing
1 changed file
with
41 additions
and
10 deletions
Show diff stats
js/main.js
| ... | ... | @@ -657,8 +657,9 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 657 | 657 | showLogout: function(){ |
| 658 | 658 | $('#login-button').hide(); |
| 659 | 659 | var name = ''; |
| 660 | - if(this.user){ | |
| 661 | - name = this.user.person.name + ' - '; | |
| 660 | + var user = Main.getUser(); | |
| 661 | + if(user){ | |
| 662 | + name = user.person.name + ' - '; | |
| 662 | 663 | } |
| 663 | 664 | $('#logout-button .name').text(name); |
| 664 | 665 | $('#logout-button').show(); |
| ... | ... | @@ -830,6 +831,10 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 830 | 831 | .removeClass('col-sm-4') |
| 831 | 832 | .addClass('col-sm-12'); |
| 832 | 833 | |
| 834 | + if(logged_in){ | |
| 835 | + Main.showLogout(); | |
| 836 | + } | |
| 837 | + | |
| 833 | 838 | $(document).on('click', '#login-button', function (e){ |
| 834 | 839 | e.preventDefault(); |
| 835 | 840 | loginButton = $(this); |
| ... | ... | @@ -1071,7 +1076,6 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 1071 | 1076 | //withCredentials: true |
| 1072 | 1077 | } |
| 1073 | 1078 | }).done(function(data) { |
| 1074 | - $(document).trigger('login:success', data); | |
| 1075 | 1079 | |
| 1076 | 1080 | var $sectionContent = $form.closest('.section-content'); |
| 1077 | 1081 | if($sectionContent && $sectionContent.length > 0){ |
| ... | ... | @@ -1083,8 +1087,8 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 1083 | 1087 | $loginPanel.hide(); |
| 1084 | 1088 | } |
| 1085 | 1089 | |
| 1090 | + $(document).trigger('login:success', data); | |
| 1086 | 1091 | }).fail(function(data) { |
| 1087 | - $(document).trigger('login:fail', data); | |
| 1088 | 1092 | |
| 1089 | 1093 | $message.show(); |
| 1090 | 1094 | if(data.status==401){ |
| ... | ... | @@ -1092,6 +1096,8 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 1092 | 1096 | }else{ |
| 1093 | 1097 | $message.text('Um erro inesperado ocorreu'); |
| 1094 | 1098 | } |
| 1099 | + | |
| 1100 | + $(document).trigger('login:fail', data); | |
| 1095 | 1101 | }); |
| 1096 | 1102 | }); |
| 1097 | 1103 | |
| ... | ... | @@ -1135,9 +1141,10 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 1135 | 1141 | message.text(''); |
| 1136 | 1142 | |
| 1137 | 1143 | var signup = $(this).parents('form.signup'); |
| 1138 | - var loading = $('.login-container .loading'); | |
| 1139 | - loading.show(); | |
| 1144 | + var $loading = $('.login-container .loading'); | |
| 1145 | + $loading.show(); | |
| 1140 | 1146 | signup.hide(); |
| 1147 | + signup.removeClass('hide'); | |
| 1141 | 1148 | var button = $(this); |
| 1142 | 1149 | |
| 1143 | 1150 | $.ajax({ |
| ... | ... | @@ -1145,15 +1152,39 @@ define(['jquery', 'handlebars', 'fastclick', 'handlebars_helpers', 'piwik'], fun |
| 1145 | 1152 | url: host + '/api/v1/register', |
| 1146 | 1153 | data: $(this).parents('.signup').serialize(), |
| 1147 | 1154 | }).done(function(data) { |
| 1148 | - Main.loginCallback(true, data.private_token); | |
| 1149 | - Main.displaySuccess(button.closest('.section-content'), 'Cadastro efetuado com sucesso', 1000, 'icon-user-created'); | |
| 1155 | + | |
| 1156 | + var $sectionContent = button.closest('.section-content'); | |
| 1157 | + if($sectionContent && $sectionContent.length > 0){ | |
| 1158 | + Main.displaySuccess($sectionContent, 'Cadastro efetuado com sucesso', 1000, 'icon-user-created'); | |
| 1159 | + } | |
| 1160 | + | |
| 1161 | + $(document).trigger('login:success', data); | |
| 1150 | 1162 | }).fail(function(data) { |
| 1151 | - var msg = Main.responseToText(data.responseJSON.message); | |
| 1163 | + var msg = ""; | |
| 1164 | + try{ | |
| 1165 | + msg = Main.responseToText(data.responseJSON.message); | |
| 1166 | + }catch(ex){ | |
| 1167 | + var ptBR = {}; | |
| 1168 | + // (Invalid request) email can't be saved | |
| 1169 | + ptBR['(Invalid request) email can\'t be saved'] = 'E-mail inválido.'; | |
| 1170 | + // (Invalid request) login can't be saved | |
| 1171 | + ptBR['(Invalid request) login can\'t be saved'] = 'Nome de usuário inválido.'; | |
| 1172 | + | |
| 1173 | + msg = ptBR[data.responseJSON.message] || data.responseJSON.message; | |
| 1174 | + } | |
| 1175 | + | |
| 1152 | 1176 | message.show(); |
| 1153 | 1177 | message.html('Não foi possível efetuar o cadastro: <br/><br/>' + msg); |
| 1178 | + | |
| 1179 | + $(document).trigger('login:fail', data); | |
| 1154 | 1180 | }).always(function() { |
| 1155 | - loading.hide(); | |
| 1181 | + $loading.hide(); | |
| 1156 | 1182 | signup.show(); |
| 1183 | + | |
| 1184 | + // var $loginPanel = $loading.closest('#login-panel'); | |
| 1185 | + // if($loginPanel && $loginPanel.length > 0){ | |
| 1186 | + // $loginPanel.hide(); | |
| 1187 | + // } | |
| 1157 | 1188 | }); |
| 1158 | 1189 | grecaptcha.reset(); |
| 1159 | 1190 | e.preventDefault(); | ... | ... |