commonroutesApp/www/js/controllers.js
www/js/controllers.jsRaw
1
2var urlapi="http://localhost:3000/api/";
3//var urlapi="https://collectivecar.paas.primustech.io/api/";
4
5
6//localStorage.setItem("c_username", "user2");
7//localStorage.setItem("c_token", "");
8
9
10angular.module('starter.controllers', [])
11
12.controller('AppCtrl', function($scope, $ionicModal, $timeout, $http, $window) {
13 // With the new view caching in Ionic, Controllers are only called
14 // when they are recreated or on app start, instead of every page change.
15 // To listen for when this page is active (for example, to refresh data),
16 // listen for the $ionicView.enter event:
17 //$scope.$on('$ionicView.enter', function(e) {
18 //});
19
20 // Form data for the login modal
21 $scope.loginData = {};
22 $scope.signupData= {};
23
24 $scope.storageusername=localStorage.getItem("c_username");
25 // Create the login modal that we will use later
26 $ionicModal.fromTemplateUrl('templates/login.html', {
27 scope: $scope
28 }).then(function(modal) {
29 $scope.modalLogin = modal;
30 });
31 $ionicModal.fromTemplateUrl('templates/signup.html', {
32 scope: $scope
33 }).then(function(modal) {
34 $scope.modalSignup = modal;
35 });
36
37 // Triggered in the login modal to close it
38 $scope.closeLogin = function() {
39 $scope.modalLogin.hide();
40 };
41 $scope.closeSignup = function() {
42 $scope.modalSignup.hide();
43 };
44
45 // Open the login modal
46 $scope.login = function() {
47 $scope.modalLogin.show();
48 };
49 $scope.signup = function() {
50 $scope.modalSignup.show();
51 };
52
53 // Perform the login action when the user submits the login form
54 $scope.doLogin = function() {
55 console.log('Doing login', $scope.loginData);
56
57 $http({
58 url: urlapi + 'auth',
59 method: "POST",
60 data: $scope.loginData
61 })
62 .then(function(response) {
63 // success
64 console.log("response: ");
65 console.log(response.data);
66 if(response.data.success==true)
67 {
68 console.log("login successful");
69 localStorage.setItem("c_username", $scope.loginData.username);
70 localStorage.setItem("c_token", response.data.token);
71 localStorage.setItem("c_userid", response.data.userid);
72 }else{
73 console.log("login failed");
74 }
75 $timeout(function() {
76 $scope.closeLogin();
77 $window.location.reload(true);
78 }, 1000);
79
80 },
81 function(response) { // optional
82 // failed
83 console.log(response);
84 });
85
86 };
87 $scope.doSignup = function() {
88 console.log('Doing signup', $scope.signupData);
89
90 $http({
91 url: urlapi + 'users',
92 method: "POST",
93 data: $scope.signupData
94 })
95 .then(function(response) {
96 // success
97 console.log("response: ");
98 console.log(response.data);
99 $timeout(function() {
100 $scope.closeSignup();
101 }, 1000);
102
103 },
104 function(response) { // optional
105 // failed
106 });
107
108 };
109 $scope.logout = function(){
110 localStorage.removeItem("c_username");
111 localStorage.removeItem("c_token");
112 $window.location.reload(true);
113 };
114})
115
116
117.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading) {
118 if(localStorage.getItem('c_token')){// adding token to the headers
119 //console.log("token added to headers in run module");
120 //console.log($http.defaults);
121 $http.defaults.headers.post['X-Access-Token'] = localStorage.getItem('c_token');
122 //$http.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded; charset=UTF-8";
123 //console.log($http.defaults.headers);
124 }
125 /*if(localStorage.getItem('c_token')){// adding token to the headers
126 $http.defaults.headers.token = localStorage.getItem('c_token');
127 }*/
128
129 $scope.travels="";
130
131 $scope.travels=JSON.parse(localStorage.getItem('c_travels'));
132
133 $scope.doRefresh = function() {
134 $http.get(urlapi + 'travels')
135 .success(function(data, status, headers,config){
136 console.log('data success');
137 console.log(data); // for browser console
138 $scope.travels = data; // for UI
139 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
140 $scope.$broadcast('scroll.refreshComplete');//refresher stop
141 })
142 .error(function(data, status, headers,config){
143 console.log('data error');
144 $scope.$broadcast('scroll.refreshComplete');//refresher stop
145 })
146 .then(function(result){
147 travels = result.data;
148 $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
149 });
150 };
151 $scope.newtravel={};
152 /*$scope.newtravel={
153 title: "prova",
154 from: "prova",
155 to: "prova",
156 seats: 3,
157 package: true,
158 phone: 123,
159 telegram: "telusr",
160 description: "this is the description of prova"
161 };*/
162
163 // Create the login modal that we will use later
164 $ionicModal.fromTemplateUrl('templates/newofferingtravel.html', {
165 scope: $scope
166 }).then(function(modal) {
167 $scope.modalOffering = modal;
168 });
169
170 // Create the login modal that we will use later
171 $ionicModal.fromTemplateUrl('templates/newaskingtravel.html', {
172 scope: $scope
173 }).then(function(modal) {
174 $scope.modalAsking = modal;
175 });
176
177 $ionicModal.fromTemplateUrl('templates/newaskingpackage.html', {
178 scope: $scope
179 }).then(function(modal) {
180 $scope.modalPackage = modal;
181 });
182
183 // Triggered in the login modal to close it
184 $scope.closeNewOfferingTravel = function() {
185 $scope.modalOffering.hide();
186 };
187 // Triggered in the login modal to close it
188 $scope.closeNewAskingTravel = function() {
189 $scope.modalAsking.hide();
190 };
191 $scope.closeNewAskingPackage = function() {
192 $scope.modalPackage.hide();
193 };
194
195 // Open the login modal
196 $scope.showNewOfferingTravel = function() {
197 $scope.modalOffering.show();
198 };
199 // Open the login modal
200 $scope.showNewAskingTravel = function() {
201 $scope.modalAsking.show();
202 };
203 $scope.showNewAskingPackage = function() {
204 $scope.modalPackage.show();
205 };
206
207 // Perform the login action when the user submits the login form
208 $scope.doNewOfferingTravel = function() {
209 console.log('Doing new travel', $scope.newtravel);
210 $scope.newtravel.icon="lorry";
211 $scope.newtravel.generateddate=$scope.newtravel.date;
212 $scope.newtravel.owner=localStorage.getItem("c_username");
213
214 $scope.newtravel.modality="offering";
215 //$scope.newtravel.token=localStorage.getItem("c_token");
216 console.log($scope.newtravel);
217 $http({
218 url: urlapi + 'travels',
219 method: "POST",
220 data: $scope.newtravel
221 })
222 .then(function(response) {
223 // success
224 console.log("response: ");
225 console.log(response);
226 $scope.newtravel._id=response.data._id;
227 $scope.travels.push($scope.newtravel);
228 $scope.newtravel={};
229 if(response.data.success==false){
230
231 $ionicLoading.show({ template: 'failed to generate new travel', noBackdrop: true, duration: 2000 });
232 }
233 },
234 function(response) { // optional
235 // failed
236 });
237
238 // Simulate a login delay. Remove this and replace with your login
239 // code if using a login system
240 $timeout(function() {
241 $scope.closeNewOfferingTravel();
242 }, 1000);
243 };
244
245 $scope.doNewAskingTravel = function() {
246 console.log('Doing new travel', $scope.newtravel);
247 $scope.newtravel.icon="lorry";
248 $scope.newtravel.generateddate=$scope.newtravel.date;
249 $scope.newtravel.owner=localStorage.getItem("c_username");
250
251 $scope.newtravel.modality="asking";
252 console.log($scope.newtravel);
253 $http({
254 url: urlapi + 'travels',
255 method: "POST",
256 data: $scope.newtravel
257 })
258 .then(function(response) {
259 // success
260 console.log("response: ");
261 console.log(response);
262 $scope.newtravel._id=response.data._id;
263 $scope.travels.push($scope.newtravel);
264 if(response.data.success==false){
265
266 $ionicLoading.show({ template: 'failed to generate new asking travel', noBackdrop: true, duration: 2000 });
267 }
268 },
269 function(response) { // optional
270 // failed
271 });
272
273 // Simulate a login delay. Remove this and replace with your login
274 // code if using a login system
275 $timeout(function() {
276 $scope.closeNewAskingTravel();
277 }, 1000);
278 };
279
280 $scope.doNewAskingPackage = function() {
281 console.log('Doing new package', $scope.newtravel);
282 $scope.newtravel.icon="lorry";
283 $scope.newtravel.generateddate=$scope.newtravel.date;
284 $scope.newtravel.owner=localStorage.getItem("c_username");
285 $scope.newtravel.package=true;
286
287 $scope.newtravel.modality="package";
288 console.log($scope.newtravel);
289 $http({
290 url: urlapi + 'travels',
291 method: "POST",
292 data: $scope.newtravel
293 })
294 .then(function(response) {
295 // success
296 console.log("response: ");
297 console.log(response);
298 $scope.newtravel._id=response.data._id;
299 $scope.travels.push($scope.newtravel);
300 if(response.data.success==false){
301
302 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
303 }
304 },
305 function(response) { // optional
306 // failed
307 });
308
309 // Simulate a login delay. Remove this and replace with your login
310 // code if using a login system
311 $timeout(function() {
312 $scope.closeNewAskingPackage();
313 }, 1000);
314 };
315})
316
317.controller('TravelCtrl', function($scope, $stateParams, $http, $ionicModal) {
318 if(localStorage.getItem('c_token')){// adding token to the headers
319 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
320 }
321 $scope.storageusername=localStorage.getItem("c_username");
322 $scope.travel="";
323 console.log($stateParams.travelId);
324 $http.get(urlapi + 'travels/'+$stateParams.travelId)
325 .success(function(data, status, headers,config){
326 console.log('data success');
327 console.log(data); // for browser console
328 $scope.travel = data; // for UI
329 })
330 .error(function(data, status, headers,config){
331 console.log('data error');
332 })
333 .then(function(result){
334 travel = result.data;
335 });
336 $http.get(urlapi + 'travels/join/'+$stateParams.travelId)
337 .success(function(data, status, headers,config){
338 console.log('data success');
339 console.log(data); // for browser console
340 $scope.joins = data; // for UI
341 })
342 .error(function(data, status, headers,config){
343 console.log('data error');
344 })
345 .then(function(result){
346 joins = result.data;
347 });
348 $http.get(urlapi + 'travels/comment/'+$stateParams.travelId)
349 .success(function(data, status, headers,config){
350 console.log(data); // for browser console
351 $scope.comments = data; // for UI
352 })
353 .error(function(data, status, headers,config){
354 console.log('data error');
355 })
356 .then(function(result){
357 comments = result.data;
358 });
359
360 $scope.deleteTravel = function(){
361 console.log("delete travel: " + $stateParams.travelId);
362 $http({
363 url: urlapi + 'travels/' + $stateParams.travelId,
364 method: "DELETE"
365 })
366 .then(function(response) {
367 console.log(response);
368 },
369 function(response) { // optional
370 // failed
371 });
372 };
373 $scope.joinTravel = function(){
374 $scope.newjoin={
375 travelId: $stateParams.travelId,
376 joinedUserId: localStorage.getItem("c_userid"),
377 joinedUsername: localStorage.getItem("c_username")
378 };
379 $http({
380 url: urlapi + 'travels/join/' + $stateParams.travelId,
381 method: "POST",
382 data: $scope.newjoin
383 })
384 .then(function(response) {
385 // success
386 console.log("response: ");
387 console.log(response);
388
389 },
390 function(response) { // optional
391 // failed
392 });
393 };
394
395 /* adding comment */
396 $scope.doingNewComment=false;
397 $scope.newComment={};
398
399 $scope.showNewComment = function() {
400 $scope.doingNewComment=true;
401 };
402 $scope.closeNewComment = function() {
403 $scope.doingNewComment=false;
404 };
405 $scope.doNewComment = function() {
406 $scope.newComment.commentUserId=localStorage.getItem("c_userid");
407 $scope.newComment.commentUsername=localStorage.getItem("c_username");
408console.log($scope.newComment);
409 $http({
410 url: urlapi + 'travels/comment/' + $stateParams.travelId,
411 method: "POST",
412 data: $scope.newComment
413 })
414 .then(function(response) {
415 // success
416 console.log("newComment added to server: " + response);
417 console.log(response);
418 if(response.data.success==false){
419
420 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
421 }
422 },
423 function(response) { // optional
424 // failed
425 });
426 $scope.closeNewComment();
427 };
428})
429
430.controller('UsersCtrl', function($scope, $http, $ionicModal, $timeout) {
431 $scope.users="";
432
433 $scope.users=JSON.parse(localStorage.getItem('c_users'));
434
435 $scope.doRefresh = function() {
436 $http.get(urlapi + 'users')
437 .success(function(data, status, headers, config){
438 console.log('data success');
439 console.log(data); // for browser console
440 $scope.users = data; // for UI
441 localStorage.setItem('c_users', JSON.stringify($scope.users));
442 $scope.$broadcast('scroll.refreshComplete');//refresher stop
443 })
444 .error(function(data, status, headers,config){
445 console.log('data error');
446 $scope.$broadcast('scroll.refreshComplete');//refresher stop
447 })
448 .then(function(result){
449 users = result.data;
450 });
451 };
452})
453
454.controller('UserCtrl', function($scope, $stateParams, $http) {
455 //$scope.user="";
456 console.log($stateParams.username);
457 $http.get(urlapi + 'users/byusername/'+$stateParams.username)
458 .success(function(data, status, headers,config){
459 console.log('data success');
460 console.log(data); // for browser console
461 $scope.user = data; // for UI
462 })
463 .error(function(data, status, headers,config){
464 console.log('data error');
465 })
466 .then(function(result){
467 user = result.data;
468 });
469
470 $http.get(urlapi + 'travels/user/'+$stateParams.username)
471 .success(function(data, status, headers,config){
472 console.log('data success');
473 console.log(data); // for browser console
474 $scope.travels = data; // for UI
475 })
476 .error(function(data, status, headers,config){
477 console.log('data error');
478 })
479 .then(function(result){
480 travels = result.data;
481 });
482});