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});