arnaucube
arnaucube/commonroutesAppPublic Self-hosted repository
commonroutesApp/www/js/travel.js
www/js/travel.jsRaw
  1angular.module('app.travel', ['pascalprecht.translate'])
  2
  3.controller('TravelCtrl', function($scope, $stateParams, $http, $ionicModal, $ionicPopup, $filter) {
  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    console.log($stateParams.travelId);
  9    $scope.travels= JSON.parse(localStorage.getItem('c_travels'));
 10    $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
 11
 12    /*$http.get(urlapi + 'travels/comment/'+$stateParams.travelId)
 13        .success(function(data, status, headers,config){
 14            console.log(data); // for browser console
 15            $scope.comments = data; // for UI
 16        })
 17        .error(function(data, status, headers,config){
 18            console.log('data error');
 19        })
 20        .then(function(result){
 21            comments = result.data;
 22    });*/
 23
 24    $scope.deleteTravel = function(){
 25
 26       var confirmPopup = $ionicPopup.confirm({
 27         title: 'Deleting publication',
 28         template: 'Are you sure you want to delete <b>'+ $scope.travel.title+'</b>?'
 29       });
 30       confirmPopup.then(function(res) {
 31       if(res) {
 32         console.log('You are sure');
 33         console.log("delete travel: " + $stateParams.travelId);
 34         $http({
 35             url: urlapi + 'travels/' + $stateParams.travelId,
 36             method: "DELETE"
 37         })
 38         .then(function(response) {
 39                 console.log(response);
 40                 $scope.travels=response.data;
 41                 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
 42                 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
 43
 44         },
 45         function(response) { // optional
 46                 // failed
 47         });
 48       } else {
 49         console.log('You are not sure');
 50       }
 51     });
 52
 53
 54    };
 55    $scope.joinTravel = function(){
 56        $scope.newjoin={
 57            //travelId: $stateParams.travelId,
 58            /*joinedUserId: localStorage.getItem("c_userid"),
 59            joinedUsername: localStorage.getItem("c_username"),
 60            joinedAvatar: localStorage.getItem("c_avatar")*/
 61        };
 62        $http({
 63            url: urlapi + 'travels/'+ $stateParams.travelId+'/join',
 64            method: "POST",
 65            data: $scope.newjoin
 66        })
 67        .then(function(response) {
 68                // success
 69                console.log("response: ");
 70                console.log(response);
 71
 72                $scope.travels=response.data;
 73                localStorage.setItem('c_travels', JSON.stringify($scope.travels));
 74                localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
 75                $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
 76
 77        },
 78        function(response) { // optional
 79                // failed
 80        });
 81    };
 82    $scope.unjoinTravel = function(){
 83        console.log("unjoin");
 84        $scope.unjoin={
 85            travelId: $stateParams.travelId,
 86            /*joinedUserId: localStorage.getItem("c_userid"),
 87            joinedUsername: localStorage.getItem("c_username"),
 88            joinedAvatar: localStorage.getItem("c_avatar")*/
 89        };
 90        $http({
 91            url: urlapi + 'travels/'+ $stateParams.travelId+'/unjoin',
 92            method: "POST",
 93            data: $scope.unjoin
 94        })
 95        .then(function(response) {
 96                // success
 97                console.log("response: ");
 98                console.log(response);
 99
100                $scope.travels=response.data;
101                localStorage.setItem('c_travels', JSON.stringify($scope.travels));
102                localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
103                $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
104
105        },
106        function(response) { // optional
107                // failed
108        });
109    };
110
111    /* adding comment */
112    $scope.doingNewComment=false;
113    $scope.newComment={};
114
115    $scope.showNewComment = function() {
116      $scope.doingNewComment=true;
117    };
118    $scope.closeNewComment = function() {
119        $scope.doingNewComment=false;
120    };
121    $scope.doNewComment = function() {
122        /*$scope.newComment.commentUserId=localStorage.getItem("c_userid");
123        $scope.newComment.commentUsername=localStorage.getItem("c_username");
124        $scope.newComment.commentAvatar=localStorage.getItem("c_avatar");*/
125console.log($scope.newComment);
126        $http({
127          url: urlapi + 'travels/'+ $stateParams.travelId+'/comment',
128          method: "POST",
129          data: $scope.newComment
130        })
131        .then(function(response) {
132              // success
133              console.log("newComment added to server: " + response);
134              console.log(response);
135              $scope.travels=response.data;
136              localStorage.setItem('c_travels', JSON.stringify($scope.travels));
137              localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
138              $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
139
140              if(response.data.success==false){
141
142                  $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
143              }
144        },
145        function(response) { // optional
146              // failed
147        });
148        $scope.closeNewComment();
149    };
150    console.log("a");
151    console.log($scope.storageusername);
152    console.log($scope.travel.owner);
153
154
155    $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
156      //console.log(myArray+", "+searchTerm+", "+property);
157        if(myArray)
158        {
159            for(var i = 0, len = myArray.length; i < len; i++) {
160                if (myArray[i][property] === searchTerm){
161                    //console.log("i: " + i);
162                    return i;
163                }
164            }
165        }
166        //console.log("i: -1");
167        return -1;
168    };
169});