arnaucube
arnaucube/commonroutesAppPublic Self-hosted repository
commonroutesApp/www/js/user.js
www/js/user.jsRaw
  1angular.module('app.user', ['pascalprecht.translate'])
  2
  3.controller('UserCtrl', function($scope, $stateParams, $http, $filter, $ionicModal) {
  4    if(localStorage.getItem('c_token')){// adding token to the headers
  5        $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
  6    }
  7    $scope.storageusername=localStorage.getItem("c_username");
  8    $scope.users= JSON.parse(localStorage.getItem('c_users'));
  9    $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
 10    //$scope.user="";
 11    console.log($stateParams.username);
 12    /*$http.get(urlapi + 'users/byusername/'+$stateParams.username)
 13        .success(function(data, status, headers,config){
 14            console.log('data success');
 15            console.log(data); // for browser console
 16            $scope.user = data; // for UI
 17        })
 18        .error(function(data, status, headers,config){
 19            console.log('data error');
 20        })
 21        .then(function(result){
 22            user = result.data;
 23    });*/
 24
 25    $http.get(urlapi + 'travels/user/'+$stateParams.username)
 26        .success(function(data, status, headers,config){
 27            console.log('data success');
 28            console.log(data); // for browser console
 29            $scope.travels = data; // for UI
 30        })
 31        .error(function(data, status, headers,config){
 32            console.log('data error');
 33        })
 34        .then(function(result){
 35            travels = result.data;
 36    });
 37
 38
 39
 40    $scope.favUser = function(){
 41        $scope.newfav={
 42            //travelId: $stateParams.travelId,
 43            /*userId: localStorage.getItem("c_userid"),
 44            username: localStorage.getItem("c_username"),
 45            avatar: localStorage.getItem("c_avatar")*/
 46        };
 47        $scope.user.favs.push($scope.newfav);//al unfav no cal fer aquest simulacre pq ja no existeix a l'array i no el resta dos cops en cas de que cliquin dos cops
 48        $http({
 49            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 50            url: urlapi + 'users/'+ $scope.user._id+'/fav',
 51            method: "POST",
 52            data: $scope.newfav
 53        })
 54        .then(function(response) {
 55                // success
 56                console.log("response: ");
 57                console.log(response);
 58
 59                $scope.users=response.data;
 60                localStorage.setItem('c_users', JSON.stringify($scope.users));
 61                $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
 62
 63        },
 64        function(response) { // optional
 65                // failed
 66        });
 67    };
 68    $scope.unfavUser = function(){
 69        console.log("unfav");
 70        $scope.unfav={
 71            /*userId: localStorage.getItem("c_userid"),
 72            username: localStorage.getItem("c_username"),
 73            avatar: localStorage.getItem("c_avatar")*/
 74        };
 75        $http({
 76            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 77            url: urlapi + 'users/'+ $scope.user._id+'/unfav',
 78            method: "POST",
 79            data: $scope.unfav
 80        })
 81        .then(function(response) {
 82                // success
 83                console.log("response: ");
 84                console.log(response);
 85
 86                $scope.users=response.data;
 87                localStorage.setItem('c_users', JSON.stringify($scope.users));
 88                $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
 89
 90        },
 91        function(response) { // optional
 92                // failed
 93        });
 94    };
 95
 96    $ionicModal.fromTemplateUrl('templates/favsList.html', {
 97      scope: $scope
 98    }).then(function(modal) {
 99      $scope.modalFavsList = modal;
100    });
101    $scope.closeModalFavsList = function() {
102      $scope.modalFavsList.hide();
103    };
104    $scope.showFavsList = function(){
105      $scope.modalFavsList.show();
106    };
107    $scope.closeModalAndGoUser = function(){
108      $scope.modalFavsList.hide();
109    };
110
111    $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
112        if(myArray){
113            for(var i = 0, len = myArray.length; i < len; i++) {
114                if (myArray[i][property] === searchTerm){
115                    return i;
116                }
117            }
118        }
119        return -1;
120    };
121});