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