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
  5    $scope.travel={};
  6    $scope.doRefresh = function() {
  7      /* travels refresh: */
  8        $http.get(urlapi + 'travels/id/' + $stateParams.travelid)
  9        .then(function(data){
 10            console.log('data success travels');
 11            console.log(data); // for browser console
 12            $scope.travel = data.data; // for UI
 13            $scope.$broadcast('scroll.refreshComplete');//refresher stop
 14
 15        }, function(data){
 16            console.log('data error');
 17            $scope.$broadcast('scroll.refreshComplete');//refresher stop
 18            $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
 19
 20        });
 21    };
 22    $scope.doRefresh();
 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
151
152    $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
153      //console.log(myArray+", "+searchTerm+", "+property);
154        if(myArray)
155        {
156            for(var i = 0, len = myArray.length; i < len; i++) {
157                if (myArray[i][property] === searchTerm){
158                    //console.log("i: " + i);
159                    return i;
160                }
161            }
162        }
163        //console.log("i: -1");
164        return -1;
165    };
166});