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