Commit 88565c87d5cb3de6e02d1f1c5774d0147970d0b6
1 parent
50d191bc
Exists in
master
and in
2 other branches
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); |