Commit 88565c87d5cb3de6e02d1f1c5774d0147970d0b6

Authored by Caio Almeida
1 parent 50d191bc

refatoring of load state and city of profile

Showing 1 changed file with 44 additions and 1 deletions   Show diff stats
www/js/controllers.js
@@ -306,6 +306,49 @@ angular.module('confjuvapp.controllers', []) @@ -306,6 +306,49 @@ angular.module('confjuvapp.controllers', [])
306 }); 306 });
307 }; 307 };
308 308
  309 + //FIXME Refactor this code
  310 + // Load State
  311 + $scope.setStateAndCityOfProfile = function() {
  312 + $scope.loading = true;
  313 +
  314 + var path = 'states/';
  315 + if($scope.profile && $scope.profile.region){
  316 + path += $scope.profile.region.parent_id;
  317 + }
  318 +
  319 + $http.get(ConfJuvAppUtils.pathTo(path))
  320 + .then(function(resp) {
  321 + $scope.profile.state = resp.data;
  322 + if($scope.profile.state){
  323 + $scope.setCityOfProfile();
  324 + }
  325 + $scope.loading = false;
  326 + }, function(err) {
  327 + $ionicPopup.alert({ title: 'Estados', template: 'Não foi possível atribuir o estado ao perfil' });
  328 + $scope.loading = false;
  329 + });
  330 + };
  331 +
  332 + //FIXME Refactor this code
  333 + // Load City
  334 + $scope.setCityOfProfile = function() {
  335 + $scope.loading = true;
  336 + var path = 'states/';
  337 +
  338 + if($scope.profile && $scope.profile.region){
  339 + path += $scope.profile.region.parent_id + '/cities/' + $scope.profile.region.id;
  340 + }
  341 +
  342 + $http.get(ConfJuvAppUtils.pathTo(path))
  343 + .then(function(resp) {
  344 + $scope.profile.city = resp.data;
  345 + $scope.loading = false;
  346 + }, function(err) {
  347 + $ionicPopup.alert({ title: 'Cidade', template: 'Não foi possível atribuir a cidade ao perfil' });
  348 + $scope.loading = false;
  349 + });
  350 + };
  351 +
309 // Load Cities 352 // Load Cities
310 $scope.loadCitiesByState = function(state_id) { 353 $scope.loadCitiesByState = function(state_id) {
311 $scope.loading = true; 354 $scope.loading = true;
@@ -313,7 +356,6 @@ angular.module('confjuvapp.controllers', []) @@ -313,7 +356,6 @@ angular.module('confjuvapp.controllers', [])
313 356
314 $http.get(ConfJuvAppUtils.pathTo(path)) 357 $http.get(ConfJuvAppUtils.pathTo(path))
315 .then(function(resp) { 358 .then(function(resp) {
316 - $scope.loading = false;  
317 $scope.cities = resp.data; 359 $scope.cities = resp.data;
318 $scope.shouldDisplayCities = true; 360 $scope.shouldDisplayCities = true;
319 $scope.loading = false; 361 $scope.loading = false;
@@ -1162,6 +1204,7 @@ angular.module('confjuvapp.controllers', []) @@ -1162,6 +1204,7 @@ angular.module('confjuvapp.controllers', [])
1162 .then(function(resp) { 1204 .then(function(resp) {
1163 $scope.profile = resp.data.person; 1205 $scope.profile = resp.data.person;
1164 $scope.loginCallback(ConfJuvAppUtils.getPrivateToken()); 1206 $scope.loginCallback(ConfJuvAppUtils.getPrivateToken());
  1207 + $scope.setStateAndCityOfProfile();
1165 $scope.loading = false; 1208 $scope.loading = false;
1166 }, function(err) { 1209 }, function(err) {
1167 $scope.token = ConfJuvAppUtils.setPrivateToken(null); 1210 $scope.token = ConfJuvAppUtils.setPrivateToken(null);