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
  5
  6    $scope.user={};
  7    $http.get(urlapi + 'users/getByUserId/'+$stateParams.userid)
  8        .success(function(data, status, headers,config){
  9            console.log('data success');
 10            console.log(data); // for browser console
 11            $scope.user = data; // for UI
 12        })
 13        .error(function(data, status, headers,config){
 14            console.log('data error');
 15        })
 16        .then(function(result){
 17            travels = result.data;
 18    });
 19
 20
 21
 22    $scope.favUser = function(){
 23        $scope.newfav={
 24            //travelId: $stateParams.travelId,
 25            /*userId: localStorage.getItem("c_userid"),
 26            username: localStorage.getItem("c_username"),
 27            avatar: localStorage.getItem("c_avatar")*/
 28        };
 29        $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
 30        $http({
 31            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 32            url: urlapi + 'users/'+ $scope.user._id+'/fav',
 33            method: "POST",
 34            data: $scope.newfav
 35        })
 36        .then(function(response) {
 37                // success
 38                console.log("response: ");
 39                console.log(response);
 40
 41                $scope.users=response.data;
 42                localStorage.setItem('c_users', JSON.stringify($scope.users));
 43                $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
 44
 45        },
 46        function(response) { // optional
 47                // failed
 48        });
 49    };
 50    $scope.unfavUser = function(){
 51        console.log("unfav");
 52        $scope.unfav={
 53            /*userId: localStorage.getItem("c_userid"),
 54            username: localStorage.getItem("c_username"),
 55            avatar: localStorage.getItem("c_avatar")*/
 56        };
 57        $http({
 58            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 59            url: urlapi + 'users/'+ $scope.user._id+'/unfav',
 60            method: "POST",
 61            data: $scope.unfav
 62        })
 63        .then(function(response) {
 64                // success
 65                console.log("response: ");
 66                console.log(response);
 67
 68                $scope.users=response.data;
 69                localStorage.setItem('c_users', JSON.stringify($scope.users));
 70                $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
 71
 72        },
 73        function(response) { // optional
 74                // failed
 75        });
 76    };
 77
 78    $ionicModal.fromTemplateUrl('templates/favsList.html', {
 79      scope: $scope
 80    }).then(function(modal) {
 81      $scope.modalFavsList = modal;
 82    });
 83    $scope.closeModalFavsList = function() {
 84      $scope.modalFavsList.hide();
 85    };
 86    $scope.showFavsList = function(){
 87      $scope.modalFavsList.show();
 88    };
 89    $scope.closeModalAndGoUser = function(){
 90      $scope.modalFavsList.hide();
 91    };
 92
 93    $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
 94        if(myArray){
 95            for(var i = 0, len = myArray.length; i < len; i++) {
 96                if (myArray[i][property] === searchTerm){
 97                    return i;
 98                }
 99            }
100        }
101        return -1;
102    };
103});