commonroutesWebApp/views/travel/travel.js
views/travel/travel.jsRaw
1'use strict';
2
3angular.module('app.travel', ['ngRoute', 'ui-leaflet'])
4
5 .config(['$routeProvider', function($routeProvider) {
6 $routeProvider.when('/travel/:travelid', {
7 templateUrl: 'views/travel/travel.html',
8 controller: 'TravelCtrl'
9 });
10 }])
11
12 .controller('TravelCtrl', function($scope, $http, $routeParams,
13 leafletData, leafletBoundsHelpers, toastr) {
14
15 $scope.storageuser = JSON.parse(localStorage.getItem("cr_webapp_userdata"));
16 $scope.travel = {};
17
18
19 //map
20 $scope.center = {
21 /*lat: 0,
22 lng: 0,
23 zoom: 1*/
24 };
25 $scope.bounds = {};
26 $scope.markers = [];
27 $scope.tiles = {
28 url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
29 options: {
30 attribution: '<a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
31 }
32 };
33
34 $http.get(urlapi + 'travels/id/' + $routeParams.travelid)
35 .then(function(data, status, headers, config) {
36 console.log('data success');
37 console.log(data);
38
39 $scope.travel = data.data;
40
41 //map
42 $scope.markers = [];
43 $scope.markers.push({
44 lat: Number($scope.travel.from.lat),
45 lng: Number($scope.travel.from.long),
46 message: $scope.travel.from.name
47 });
48 $scope.markers.push({
49 lat: Number($scope.travel.to.lat),
50 lng: Number($scope.travel.to.long),
51 message: $scope.travel.to.name
52 });
53 $scope.center = {
54 lat: (Number($scope.travel.from.lat) + Number($scope.travel.to.lat)) / 2,
55 lng: (Number($scope.travel.from.long) + Number($scope.travel.to.long)) / 2,
56 zoom: 4
57 };
58 }, function(data, status, headers, config) {
59 console.log('data error');
60 });
61
62
63 //delete travel
64 $scope.deleteTravel = function() {
65 console.log("delete travel: " + $routeParams.travelid);
66 $http({
67 url: urlapi + '/admin/travels/id/' + $routeParams.travelid,
68 method: "DELETE"
69 })
70 .then(function(data) {
71 console.log(data);
72 $scope.travels = data.data;
73 toastr.info('Travel deleted');
74
75 window.location = "#!/main/";
76 },
77 function(data) { // optional
78 // failed
79 toastr.error('Error on delete travel');
80 });
81 };
82
83 $scope.joinTravel = function() {
84 $http({
85 url: urlapi + 'travels/join/' + $routeParams.travelid,
86 method: "POST",
87 data: {}
88 })
89 .then(function(data) {
90 console.log("data: ");
91 console.log(data);
92 if (data.data.success == false) {
93 toastr.error('Error on join');
94 } else {
95 $scope.travel = data.data;
96 toastr.success('Joined travel');
97 }
98 },
99 function(response) { // optional
100 // failed
101 });
102 };
103 $scope.unjoinTravel = function() {
104 $http({
105 url: urlapi + 'travels/unjoin/' + $routeParams.travelid,
106 method: "POST",
107 data: {}
108 })
109 .then(function(data) {
110 console.log("data: ");
111 console.log(data);
112 if (data.data.success == false) {
113 toastr.error('Error on unjoin');
114 } else {
115 $scope.travel = data.data;
116 toastr.success('Unjoined travel');
117 }
118 },
119 function(response) { // optional
120 // failed
121 });
122 };
123
124 $scope.declineJoin = function(joinPetition) {
125 $http({
126 url: urlapi + 'travels/declineJoin/' + $routeParams.travelid,
127 method: "POST",
128 data: {
129 userid: joinPetition._id
130 }
131 })
132 .then(function(data) {
133 console.log("data: ");
134 console.log(data);
135 if (data.data.success == false) {
136 toastr.error('Error on declining');
137 } else {
138 $scope.travel = data.data;
139 console.log("success");
140 toastr.success('Join declined');
141 }
142 },
143 function(response) { // optional
144 // failed
145 });
146 };
147
148 $scope.acceptJoin = function(joinPetition) {
149 $http({
150 url: urlapi + 'travels/acceptJoin/' + $routeParams.travelid,
151 method: "POST",
152 data: {
153 userid: joinPetition._id
154 }
155 })
156 .then(function(data) {
157 console.log("data: ");
158 console.log(data);
159 if (data.data.success == false) {
160 toastr.error('Error on accepting');
161 } else {
162 $scope.travel = data.data;
163 console.log("success");
164 toastr.success('Join accepted');
165 }
166 },
167 function(response) { // optional
168 // failed
169 });
170 };
171
172 $scope.leaveTravel = function() {
173
174 $http({
175 url: urlapi + 'travels/leave/' + $routeParams.travelid,
176 method: "POST",
177 data: {}
178 })
179 .then(function(data) {
180 console.log("data: ");
181 console.log(data);
182 if (data.data.success == false) {
183 toastr.error('Error on leave');
184 } else {
185 $scope.travel = data.data;
186 toastr.success('Travel leaved');
187 }
188 },
189 function(response) { // optional
190 // failed
191 });
192 };
193
194
195 $scope.userHasJoined = function(myArray, searchTerm) {
196 //console.log(myArray+", "+searchTerm);
197 if (myArray) {
198 for (var i = 0, len = myArray.length; i < len; i++) {
199 //console.log(myArray[i] + " - " + searchTerm);
200 if (myArray[i]._id === searchTerm) {
201 //console.log("i: " + i);
202 return i;
203 }
204 }
205 }
206 //console.log("i: -1");
207 return -1;
208 };
209
210 });