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    $scope.likeUser = function(){
 27        $http({
 28            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 29            url: urlapi + 'users/id/like/'+ $scope.user._id,
 30            method: "POST",
 31            data: {}
 32        })
 33        .then(function(data) {
 34            // success
 35            if(data.data.success==false){
 36                console.log("failed");
 37                $ionicLoading.show({template: 'Error on like', noBackdrop: true, duration: 2000});
 38            }else{
 39                $scope.user = data.data; // for UI
 40            }
 41        },
 42        function(response) { // optional
 43                // failed
 44        });
 45    };
 46    $scope.unlikeUser = function(){
 47        $http({
 48            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 49            url: urlapi + 'users/id/unlike/'+ $scope.user._id,
 50            method: "POST",
 51            data: {}
 52        })
 53        .then(function(data) {
 54            // success
 55            if(data.data.success==false){
 56                console.log("failed");
 57                $ionicLoading.show({template: 'Error on unlike', noBackdrop: true, duration: 2000});
 58            }else{
 59                $scope.user = data.data; // for UI
 60            }
 61        },
 62        function(response) { // optional
 63                // failed
 64        });
 65    };
 66
 67
 68    $scope.favUser = function(){
 69        $scope.newfav={
 70            //travelId: $stateParams.travelId,
 71            /*userId: localStorage.getItem("c_userid"),
 72            username: localStorage.getItem("c_username"),
 73            avatar: localStorage.getItem("c_avatar")*/
 74        };
 75        $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
 76        $http({
 77            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
 78            url: urlapi + 'users/'+ $scope.user._id+'/fav',
 79            method: "POST",
 80            data: $scope.newfav
 81        })
 82        .then(function(response) {
 83                // success
 84                console.log("response: ");
 85                console.log(response);
 86
 87                $scope.users=response.data;
 88                localStorage.setItem('c_users', JSON.stringify($scope.users));
 89                $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
 90
 91        },
 92        function(response) { // optional
 93                // failed
 94        });
 95    };
 96    $scope.unfavUser = function(){
 97        console.log("unfav");
 98        $scope.unfav={
 99            /*userId: localStorage.getItem("c_userid"),
100            username: localStorage.getItem("c_username"),
101            avatar: localStorage.getItem("c_avatar")*/
102        };
103        $http({
104            //url: urlapi + 'users/'+ $stateParams.username+'/fav',
105            url: urlapi + 'users/'+ $scope.user._id+'/unfav',
106            method: "POST",
107            data: $scope.unfav
108        })
109        .then(function(response) {
110                // success
111                console.log("response: ");
112                console.log(response);
113
114                $scope.users=response.data;
115                localStorage.setItem('c_users', JSON.stringify($scope.users));
116                $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
117
118        },
119        function(response) { // optional
120                // failed
121        });
122    };
123
124    $ionicModal.fromTemplateUrl('templates/favsList.html', {
125      scope: $scope
126    }).then(function(modal) {
127      $scope.modalFavsList = modal;
128    });
129    $scope.closeModalFavsList = function() {
130      $scope.modalFavsList.hide();
131    };
132    $scope.showFavsList = function(){
133      $scope.modalFavsList.show();
134    };
135    $scope.closeModalAndGoUser = function(){
136      $scope.modalFavsList.hide();
137    };
138
139    $scope.arrayObjectIndexOf = function(myArray, searchTerm) {
140        if(myArray){
141            for(var i = 0, len = myArray.length; i < len; i++) {
142                if (myArray[i] === searchTerm){
143                    return i;
144                }
145            }
146        }
147        return -1;
148    };
149});