Advertisement
Guest User

Untitled

a guest
Dec 30th, 2016
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. app.controller('navCtrl', function ($scope, $location) {
  2.     $scope.logout = function () {
  3.         $scope.storage.removeItem('user');
  4.         $scope.storage.removeItem('userConfig');
  5.         $scope.storage.removeItem('userAddresses');
  6.         $location.path('/login');
  7.     };
  8.     $scope.openFilter = function () {
  9.         $('#filter-modal').modal('open');
  10.     };
  11.     $scope.goBack = function () {
  12.         window.history.back();
  13.     };
  14. });
  15. app.controller('mapCtrl', function ($scope) {
  16.     $('#filter-modal').modal();
  17.     $('#origin-modal').modal();
  18.     $('#destination-modal').modal();
  19.     $('#confirm-modal').modal();
  20.     $scope.user.location = [-19.9233504, -43.9142275];
  21.     $scope.origin = $scope.user.defaultAddresses.home;
  22.     $scope.chooseOrigin = function () {
  23.         $('#origin-modal').modal('open');
  24.     };
  25.     $scope.chooseDestination = function () {
  26.         $('#destination-modal').modal('open');
  27.     };
  28.     $scope.openConfirmModal = function () {
  29.         $('#confirm-modal').modal('open');
  30.     };
  31. });
  32. app.controller('configCtrl', function ($rootScope, $scope, userAPI, addressesAPI, $location, $routeParams) {
  33.     if ($routeParams.address_id) {
  34.         switch($routeParams.address_id) {
  35.             case 'home':
  36.                 $scope.address = {
  37.                     _id: 'home',
  38.                     name: 'Casa',
  39.                     address: $scope.user.defaultAddresses.home,
  40.                     default: true
  41.                 };
  42.                 break;
  43.             case 'work':
  44.                 $scope.address = {
  45.                     _id: 'work',
  46.                     name: 'Trabalho',
  47.                     address: $scope.user.defaultAddresses.work,
  48.                     default: true
  49.                 };
  50.                 break;
  51.             default:
  52.                 addressesAPI.get($routeParams.address_id).then(function success (address) {
  53.                     $scope.address = address.data;
  54.                 });
  55.         }
  56.     };
  57.     $('#update-profile-modal').modal();
  58.     $scope.deleteAccount = function (phone, password) {
  59.  
  60.     };
  61.     $scope.triggerUploadPhoto = function () {
  62.         $('#profile-img-upload').trigger('click');
  63.     };
  64.     $scope.uploadPhoto = function (photo) {
  65.         $rootScope.profilePhoto = 'data:image/png;base64,' + photo.base64;
  66.         $location.path('/crop-profile-photo');
  67.     };
  68.     $scope.updatePhoto = function (photo) {
  69.         $('#loading-modal').modal('open');
  70.         userAPI.putPhoto({id: $scope.user._id, photo: photo}).then(function success (user) {
  71.             $scope.storage.setItem('user', JSON.stringify(user.data));
  72.             var _config = $scope.user.config;
  73.             var _addresses = $scope.user.addresses;
  74.             $rootScope.user = user.data;
  75.             $rootScope.user.config = _config;
  76.             $rootScope.user.addresses = _addresses;
  77.             Materialize.toast('Foto atualizada com sucesso.', 2000);
  78.             $('#loading-modal').modal('close');
  79.             $location.path('/user');
  80.         });
  81.     };
  82.     if (!$scope.user.config.updatedProfile) {
  83.         $('#update-profile-modal').modal('open');
  84.         $rootScope.user.config.updatedProfile = true;
  85.         $scope.storage.setItem('userConfig', JSON.stringify($scope.user.config));
  86.     };
  87.     $('#config-modal').modal();
  88.     $scope.openConfig = function () {
  89.         $('#config-modal').modal('open');
  90.     };
  91.     $scope.updateName = function (name) {
  92.         userAPI.putName({name: name, id: $scope.user._id}).then(function success (user) {
  93.             $scope.storage.setItem('user', JSON.stringify(user.data));
  94.             var _config = $scope.user.config;
  95.             var _addresses = $scope.user.addresses;
  96.             $rootScope.user = user.data;
  97.             $rootScope.user.config = _config;
  98.             $rootScope.user.addresses = _addresses;
  99.             Materialize.toast('Nome atualizado com sucesso.', 2000);
  100.         });
  101.     };
  102.     $scope.postAddress = function (name, address) {
  103.         addressesAPI.post({name: name, address: address, id: $scope.user._id}).then(function success (address) {
  104.             $rootScope.user.addresses.push(address.data);
  105.             $scope.storage.setItem('userAddresses', JSON.stringify($scope.user.addresses));
  106.             Materialize.toast('Endereço adicionado.', 2000);
  107.             $location.path('/addresses');
  108.         });
  109.     };
  110.     $scope.deleteAddress = function (id) {
  111.         addressesAPI.delete(id).then(function success (addresses) {
  112.             $rootScope.user.addresses = addresses.data;
  113.             $scope.storage.setItem('userAddresses', JSON.stringify($scope.user.addresses));
  114.             Materialize.toast('Endereço removido.', 2000);
  115.         });
  116.     };
  117. });
  118. app.controller('signCtrl', function ($rootScope, $scope, userAPI, $location, addressesAPI, mapsAPI) {
  119.     $scope.login = function (phone, password) {
  120.         userAPI.login({phone: phone, password: password}).then(function success (user) {
  121.             if (user.data === 'error') {
  122.                 Materialize.toast('Número de telefone ou senha estão incorretos.', 2000);
  123.             } else {
  124.                 $rootScope.user = user.data;
  125.                 $rootScope.user.config = {notifications: true, statistics: true};
  126.                 $scope.storage.setItem('user', JSON.stringify(user.data));
  127.                 $scope.storage.setItem('userConfig', JSON.stringify($scope.user.config));
  128.                 addressesAPI.getUser(user.data._id).then(function success (addresses) {
  129.                     $rootScope.user.addresses = addresses.data;
  130.                     $scope.storage.setItem('userAddresses', JSON.stringify(addresses.data));
  131.                     $location.path('/');
  132.                 });
  133.             };
  134.         });
  135.     };
  136.     $scope.register = function (name, email, phone, password) {
  137.         userAPI.verify({email: email, phone: phone}).then(function success (err) {
  138.             if (err.data === 'invalid-phone') {
  139.                 Materialize.toast('Este número de telefone já está cadastrado.', 2000);
  140.             } else {
  141.                 if (err.data === 'invalid-email') {
  142.                     Materialize.toastr('Este endereço de e-mail já está cadastrado.', 2000);
  143.                 } else {
  144.                     mapsAPI.get(-19.9233504, -43.9142275).then(function success (address) {
  145.                         userAPI.post({name: name, email: email, phone: phone, password: password, home: address.data.results[0].formatted_address}).then(function success (user) {
  146.                             $rootScope.user = user.data;
  147.                             $rootScope.user.config = {notifications: true, statistics: true};
  148.                             $scope.storage.setItem('user', JSON.stringify(user.data));
  149.                             $scope.storage.setItem('userConfig', JSON.stringify($scope.user.config));
  150.                             $rootScope.user.addresses = [];
  151.                             $scope.storage.setItem('userAddresses', JSON.stringify($scope.user.addresses));
  152.                             $location.path('/first-config');
  153.                         });
  154.                     });
  155.                 };
  156.             };
  157.         });
  158.     };
  159. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement