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 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 352 // Load Cities
310 353 $scope.loadCitiesByState = function(state_id) {
311 354 $scope.loading = true;
... ... @@ -313,7 +356,6 @@ angular.module('confjuvapp.controllers', [])
313 356  
314 357 $http.get(ConfJuvAppUtils.pathTo(path))
315 358 .then(function(resp) {
316   - $scope.loading = false;
317 359 $scope.cities = resp.data;
318 360 $scope.shouldDisplayCities = true;
319 361 $scope.loading = false;
... ... @@ -1162,6 +1204,7 @@ angular.module('confjuvapp.controllers', [])
1162 1204 .then(function(resp) {
1163 1205 $scope.profile = resp.data.person;
1164 1206 $scope.loginCallback(ConfJuvAppUtils.getPrivateToken());
  1207 + $scope.setStateAndCityOfProfile();
1165 1208 $scope.loading = false;
1166 1209 }, function(err) {
1167 1210 $scope.token = ConfJuvAppUtils.setPrivateToken(null);
... ...