commonroutesApp/www/js/controllers.js
www/js/controllers.jsRaw
1
2//var urlapi="http://localhost:3000/api/";
3var 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', ['pascalprecht.translate'])
11
12.controller('AppCtrl', function($scope, $ionicModal, $timeout, $http, $window, $ionicLoading) {
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 $scope.storageavatar=localStorage.getItem("c_avatar");
26 $scope.userdata=JSON.parse(localStorage.getItem('c_userdata'));
27 console.log($scope.userdata);
28 // Create the login modal that we will use later
29 $ionicModal.fromTemplateUrl('templates/login.html', {
30 scope: $scope
31 }).then(function(modal) {
32 $scope.modalLogin = modal;
33 });
34 $ionicModal.fromTemplateUrl('templates/signup.html', {
35 scope: $scope
36 }).then(function(modal) {
37 $scope.modalSignup = modal;
38 });
39
40 // Triggered in the login modal to close it
41 $scope.closeLogin = function() {
42 $scope.modalLogin.hide();
43 };
44 $scope.closeSignup = function() {
45 $scope.modalSignup.hide();
46 };
47
48 // Open the login modal
49 $scope.login = function() {
50 $scope.modalLogin.show();
51 };
52 $scope.signup = function() {
53 $scope.modalSignup.show();
54 };
55
56 // Perform the login action when the user submits the login form
57 $scope.doLogin = function() {
58 console.log('Doing login', $scope.loginData);
59
60 $http({
61 url: urlapi + 'auth',
62 method: "POST",
63 data: $scope.loginData
64 })
65 .then(function(response) {
66 // success
67 console.log("response: ");
68 console.log(response.data);
69 if(response.data.success==true)
70 {
71 console.log("login successful");
72 localStorage.setItem("c_username", $scope.loginData.username);
73 localStorage.setItem("c_token", response.data.token);
74 localStorage.setItem("c_userid", response.data.userid);
75 localStorage.setItem("c_avatar", response.data.avatar);
76
77 localStorage.setItem("c_userdata", JSON.stringify(response.data.userdata));
78
79 $timeout(function() {
80 $scope.closeLogin();
81 $window.location.reload(true);
82 }, 1000);
83 }else{
84 console.log("login failed");
85 $ionicLoading.show({ template: 'Login failed, user or password error.', noBackdrop: true, duration: 2000 });
86 }
87
88
89 },
90 function(response) { // optional
91 // failed
92 console.log(response);
93 });
94
95 };
96 $scope.doSignup = function() {
97 console.log('Doing signup', $scope.signupData);
98 if($scope.emptyParams($scope.signupData))
99 {
100 $http({
101 url: urlapi + 'users',
102 method: "POST",
103 data: $scope.signupData
104 })
105 .then(function(response) {
106 // success
107 console.log("response: ");
108 console.log(response.data);
109 $scope.loginData.username=$scope.signupData.username;
110 $timeout(function() {
111 $scope.closeSignup();
112 $scope.login();
113 }, 1000);
114
115 },
116 function(response) { // optional
117 // failed
118 $ionicLoading.show({ template: 'Username already taken', noBackdrop: true, duration: 2000 });
119 });
120 }else{
121 $ionicLoading.show({ template: 'First complete all parameters', noBackdrop: true, duration: 2000 });
122 }
123
124 };
125 $scope.emptyParams = function(obj){
126 if(obj.username==undefined)
127 {
128 return(false);
129 }
130 if(obj.password==undefined)
131 {
132 return(false);
133 }
134 if(obj.mail==undefined)
135 {
136 return(false);
137 }
138 if(obj.avatar==undefined)
139 {
140 return(false);
141 }
142 return(true);
143 };
144 $scope.avatars=[
145 "turtle",
146 "cat",
147 "toucan",
148 "racoon",
149 "tiger",
150 "squirrel",
151 "sheep",
152 "penguin",
153 "panda",
154 "owl",
155 "pelican",
156 "whale",
157 "snake",
158 "mouse",
159 "giraffe",
160 "macaw",
161 "lion",
162 "llama",
163 "kangaroo",
164 "hen",
165 "frog",
166 "clown-fish",
167 "chameleon",
168 "octopus"
169 ];
170 $scope.avatarSelect = function(avat){
171 $scope.signupData.avatar=avat;
172 //alert($scope.signupData.avatar);
173 };
174 $scope.logout = function(){
175 localStorage.removeItem("c_username");
176 localStorage.removeItem("c_token");
177 localStorage.removeItem("c_avatar");
178 localStorage.removeItem("c_userid");
179 localStorage.removeItem("c_userdata");
180 $window.location.reload(true);
181 };
182
183 /* if no logged, suggest to login */
184 if(localStorage.getItem('c_token')){// adding token to the headers
185 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
186 }else{
187 setTimeout(function(){
188 $scope.login();
189 },1000);
190 }
191})
192
193
194.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading, $filter) {
195 if(localStorage.getItem('c_token')){// adding token to the headers
196 //console.log("token added to headers in run module");
197 //console.log($http.defaults);
198 $http.defaults.headers.post['X-Access-Token'] = localStorage.getItem('c_token');
199 //$http.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded; charset=UTF-8";
200 //console.log($http.defaults.headers);
201 }
202 /*if(localStorage.getItem('c_token')){// adding token to the headers
203 $http.defaults.headers.token = localStorage.getItem('c_token');
204 }*/
205
206 $scope.travels="";
207 $scope.travels=JSON.parse(localStorage.getItem('c_travels'));
208 $scope.userdata=JSON.parse(localStorage.getItem('c_userdata'));
209 //$scope.storageusername=JSON.parse(localStorage.getItem('c_username'));
210 console.log($scope.userdata);
211
212 $scope.doRefresh = function() {
213 /* travels refresh: */
214 $http.get(urlapi + 'travels')
215 .success(function(data, status, headers,config){
216 console.log('data success travels');
217 console.log(data); // for browser console
218 $scope.travels = data; // for UI
219 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
220 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
221 $scope.$broadcast('scroll.refreshComplete');//refresher stop
222
223 })
224 .error(function(data, status, headers,config){
225 console.log('data error');
226 $scope.$broadcast('scroll.refreshComplete');//refresher stop
227 $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
228
229 })
230 .then(function(result){
231 travels = result.data;
232 $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
233 });
234
235 /* users refresh: */
236 $http.get(urlapi + 'users')
237 .success(function(data, status, headers, config){
238 console.log('data success users');
239 console.log(data); // for browser console
240 $scope.users = data; // for UI
241 localStorage.setItem('c_users', JSON.stringify($scope.users));
242 $scope.$broadcast('scroll.refreshComplete');//refresher stop
243
244 //set userdata
245 $scope.userdata = $filter('filter')($scope.users, {username: $scope.storageusername}, true)[0];
246 console.log("userdata");
247 console.log($scope.userdata);
248 localStorage.setItem("c_userdata", JSON.stringify($scope.userdata));
249 })
250 .error(function(data, status, headers,config){
251 console.log('data error');
252 $scope.$broadcast('scroll.refreshComplete');//refresher stop
253 })
254 .then(function(result){
255 users = result.data;
256 });
257 };
258 $scope.newtravel={};
259 /*$scope.newtravel={
260 title: "prova",
261 from: "prova",
262 to: "prova",
263 seats: 3,
264 package: true,
265 phone: 123,
266 telegram: "telusr",
267 description: "this is the description of prova"
268 };*/
269
270 // Create the login modal that we will use later
271 $ionicModal.fromTemplateUrl('templates/newofferingtravel.html', {
272 scope: $scope
273 }).then(function(modal) {
274 $scope.modalOffering = modal;
275 });
276
277 // Create the login modal that we will use later
278 $ionicModal.fromTemplateUrl('templates/newaskingtravel.html', {
279 scope: $scope
280 }).then(function(modal) {
281 $scope.modalAsking = modal;
282 });
283
284 $ionicModal.fromTemplateUrl('templates/newaskingpackage.html', {
285 scope: $scope
286 }).then(function(modal) {
287 $scope.modalPackage = modal;
288 });
289
290 // Triggered in the login modal to close it
291 $scope.closeNewOfferingTravel = function() {
292 $scope.modalOffering.hide();
293 };
294 // Triggered in the login modal to close it
295 $scope.closeNewAskingTravel = function() {
296 $scope.modalAsking.hide();
297 };
298 $scope.closeNewAskingPackage = function() {
299 $scope.modalPackage.hide();
300 };
301
302 // Open the login modal
303 $scope.showNewOfferingTravel = function() {
304 $scope.modalOffering.show();
305 };
306 // Open the login modal
307 $scope.showNewAskingTravel = function() {
308 $scope.modalAsking.show();
309 };
310 $scope.showNewAskingPackage = function() {
311 $scope.modalPackage.show();
312 };
313
314 // Perform the login action when the user submits the login form
315 $scope.doNewOfferingTravel = function() {
316 console.log('Doing new travel', $scope.newtravel);
317 $scope.newtravel.icon="lorry";
318 $scope.newtravel.generateddate=$scope.newtravel.date;
319 /*$scope.newtravel.owner=localStorage.getItem("c_username");
320 $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
321 $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;*/
322 $scope.newtravel.modality="offering";
323 //$scope.newtravel.token=localStorage.getItem("c_token");
324 console.log($scope.newtravel);
325 $http({
326 url: urlapi + 'travels',
327 method: "POST",
328 data: $scope.newtravel
329 })
330 .then(function(response) {
331 // success
332 console.log("response: ");
333 console.log(response);
334 //$scope.newtravel._id=response.data._id;
335 //$scope.travels.push($scope.newtravel);
336 $scope.travels=response.data;
337 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
338 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
339 $scope.newtravel={};
340 if(response.data.success==false){
341
342 $ionicLoading.show({ template: 'failed to generate new travel', noBackdrop: true, duration: 2000 });
343 }
344 },
345 function(response) { // optional
346 // failed
347 $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
348 });
349
350 // Simulate a login delay. Remove this and replace with your login
351 // code if using a login system
352 $timeout(function() {
353 $scope.closeNewOfferingTravel();
354 }, 1000);
355 };
356
357 $scope.doNewAskingTravel = function() {
358 console.log('Doing new travel', $scope.newtravel);
359 $scope.newtravel.icon="lorry";
360 $scope.newtravel.generateddate=$scope.newtravel.date;
361 /*$scope.newtravel.owner=localStorage.getItem("c_username");
362 $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
363 $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;*/
364
365 $scope.newtravel.modality="asking";
366 console.log($scope.newtravel);
367 $http({
368 url: urlapi + 'travels',
369 method: "POST",
370 data: $scope.newtravel
371 })
372 .then(function(response) {
373 // success
374 console.log("response: ");
375 console.log(response);
376 //$scope.newtravel._id=response.data._id;
377 //$scope.travels.push($scope.newtravel);
378 $scope.travels=response.data;
379 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
380 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
381 $scope.newtravel={};
382 if(response.data.success==false){
383
384 $ionicLoading.show({ template: 'failed to generate new asking travel', noBackdrop: true, duration: 2000 });
385 }
386 },
387 function(response) { // optional
388 // failed
389 $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
390 });
391
392 // Simulate a login delay. Remove this and replace with your login
393 // code if using a login system
394 $timeout(function() {
395 $scope.closeNewAskingTravel();
396 }, 1000);
397 };
398
399 $scope.doNewAskingPackage = function() {
400 console.log('Doing new package', $scope.newtravel);
401 $scope.newtravel.icon="lorry";
402 $scope.newtravel.generateddate=$scope.newtravel.date;
403 /*$scope.newtravel.owner=localStorage.getItem("c_username");
404 $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
405 $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;*/
406
407 $scope.newtravel.package=true;
408
409 $scope.newtravel.modality="package";
410 console.log($scope.newtravel);
411 $http({
412 url: urlapi + 'travels',
413 method: "POST",
414 data: $scope.newtravel
415 })
416 .then(function(response) {
417 // success
418 console.log("response: ");
419 console.log(response);
420 //$scope.newtravel._id=response.data._id;
421 //$scope.travels.push($scope.newtravel);
422 $scope.travels=response.data;
423 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
424 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
425 $scope.newtravel={};
426 if(response.data.success==false){
427
428 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
429 }
430 },
431 function(response) { // optional
432 // failed
433 $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
434 });
435
436 // Simulate a login delay. Remove this and replace with your login
437 // code if using a login system
438 $timeout(function() {
439 $scope.closeNewAskingPackage();
440 }, 1000);
441 };
442})
443
444.controller('TravelCtrl', function($scope, $stateParams, $http, $ionicModal, $ionicPopup, $filter) {
445 if(localStorage.getItem('c_token')){// adding token to the headers
446 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
447 }
448 $scope.storageusername=localStorage.getItem("c_username");
449 console.log($stateParams.travelId);
450 $scope.travels= JSON.parse(localStorage.getItem('c_travels'));
451 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
452
453 /*$http.get(urlapi + 'travels/comment/'+$stateParams.travelId)
454 .success(function(data, status, headers,config){
455 console.log(data); // for browser console
456 $scope.comments = data; // for UI
457 })
458 .error(function(data, status, headers,config){
459 console.log('data error');
460 })
461 .then(function(result){
462 comments = result.data;
463 });*/
464
465 $scope.deleteTravel = function(){
466
467 var confirmPopup = $ionicPopup.confirm({
468 title: 'Deleting publication',
469 template: 'Are you sure you want to delete <b>'+ $scope.travel.title+'</b>?'
470 });
471 confirmPopup.then(function(res) {
472 if(res) {
473 console.log('You are sure');
474 console.log("delete travel: " + $stateParams.travelId);
475 $http({
476 url: urlapi + 'travels/' + $stateParams.travelId,
477 method: "DELETE"
478 })
479 .then(function(response) {
480 console.log(response);
481 $scope.travels=response.data;
482 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
483 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
484
485 },
486 function(response) { // optional
487 // failed
488 });
489 } else {
490 console.log('You are not sure');
491 }
492 });
493
494
495 };
496 $scope.joinTravel = function(){
497 $scope.newjoin={
498 //travelId: $stateParams.travelId,
499 /*joinedUserId: localStorage.getItem("c_userid"),
500 joinedUsername: localStorage.getItem("c_username"),
501 joinedAvatar: localStorage.getItem("c_avatar")*/
502 };
503 $http({
504 url: urlapi + 'travels/'+ $stateParams.travelId+'/join',
505 method: "POST",
506 data: $scope.newjoin
507 })
508 .then(function(response) {
509 // success
510 console.log("response: ");
511 console.log(response);
512
513 $scope.travels=response.data;
514 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
515 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
516 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
517
518 },
519 function(response) { // optional
520 // failed
521 });
522 };
523 $scope.unjoinTravel = function(){
524 console.log("unjoin");
525 $scope.unjoin={
526 travelId: $stateParams.travelId,
527 /*joinedUserId: localStorage.getItem("c_userid"),
528 joinedUsername: localStorage.getItem("c_username"),
529 joinedAvatar: localStorage.getItem("c_avatar")*/
530 };
531 $http({
532 url: urlapi + 'travels/'+ $stateParams.travelId+'/unjoin',
533 method: "POST",
534 data: $scope.unjoin
535 })
536 .then(function(response) {
537 // success
538 console.log("response: ");
539 console.log(response);
540
541 $scope.travels=response.data;
542 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
543 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
544 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
545
546 },
547 function(response) { // optional
548 // failed
549 });
550 };
551
552 /* adding comment */
553 $scope.doingNewComment=false;
554 $scope.newComment={};
555
556 $scope.showNewComment = function() {
557 $scope.doingNewComment=true;
558 };
559 $scope.closeNewComment = function() {
560 $scope.doingNewComment=false;
561 };
562 $scope.doNewComment = function() {
563 /*$scope.newComment.commentUserId=localStorage.getItem("c_userid");
564 $scope.newComment.commentUsername=localStorage.getItem("c_username");
565 $scope.newComment.commentAvatar=localStorage.getItem("c_avatar");*/
566console.log($scope.newComment);
567 $http({
568 url: urlapi + 'travels/'+ $stateParams.travelId+'/comment',
569 method: "POST",
570 data: $scope.newComment
571 })
572 .then(function(response) {
573 // success
574 console.log("newComment added to server: " + response);
575 console.log(response);
576 $scope.travels=response.data;
577 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
578 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
579 $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0];
580
581 if(response.data.success==false){
582
583 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
584 }
585 },
586 function(response) { // optional
587 // failed
588 });
589 $scope.closeNewComment();
590 };
591 console.log("a");
592 console.log($scope.storageusername);
593 console.log($scope.travel.owner);
594
595
596 $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
597 //console.log(myArray+", "+searchTerm+", "+property);
598 if(myArray)
599 {
600 for(var i = 0, len = myArray.length; i < len; i++) {
601 if (myArray[i][property] === searchTerm){
602 //console.log("i: " + i);
603 return i;
604 }
605 }
606 }
607 //console.log("i: -1");
608 return -1;
609 };
610})
611
612.controller('UsersCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading, $filter) {
613 $scope.users="";
614
615 $scope.users=JSON.parse(localStorage.getItem('c_users'));
616
617 $scope.doRefresh = function() {
618 /* travels refresh: */
619 $http.get(urlapi + 'travels')
620 .success(function(data, status, headers,config){
621 console.log('data success');
622 console.log(data); // for browser console
623 $scope.travels = data; // for UI
624 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
625 localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
626 $scope.$broadcast('scroll.refreshComplete');//refresher stop
627
628 })
629 .error(function(data, status, headers,config){
630 console.log('data error');
631 $scope.$broadcast('scroll.refreshComplete');//refresher stop
632 $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
633
634 })
635 .then(function(result){
636 travels = result.data;
637 $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
638 });
639
640 /* users refresh: */
641 $http.get(urlapi + 'users')
642 .success(function(data, status, headers, config){
643 console.log('data success');
644 console.log(data); // for browser console
645 $scope.users = data; // for UI
646 localStorage.setItem('c_users', JSON.stringify($scope.users));
647 $scope.$broadcast('scroll.refreshComplete');//refresher stop
648
649 //set userdata
650 $scope.userdata = $filter('filter')($scope.users, {username: $scope.storageusername}, true)[0];
651 console.log("userdata");
652 console.log($scope.userdata);
653 localStorage.setItem("c_userdata", JSON.stringify($scope.userdata));
654 })
655 .error(function(data, status, headers,config){
656 console.log('data error');
657 $scope.$broadcast('scroll.refreshComplete');//refresher stop
658 })
659 .then(function(result){
660 users = result.data;
661 });
662 };
663})
664
665.controller('UserCtrl', function($scope, $stateParams, $http, $filter, $ionicModal) {
666 if(localStorage.getItem('c_token')){// adding token to the headers
667 $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
668 }
669 $scope.storageusername=localStorage.getItem("c_username");
670 $scope.users= JSON.parse(localStorage.getItem('c_users'));
671 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
672 //$scope.user="";
673 console.log($stateParams.username);
674 /*$http.get(urlapi + 'users/byusername/'+$stateParams.username)
675 .success(function(data, status, headers,config){
676 console.log('data success');
677 console.log(data); // for browser console
678 $scope.user = data; // for UI
679 })
680 .error(function(data, status, headers,config){
681 console.log('data error');
682 })
683 .then(function(result){
684 user = result.data;
685 });*/
686
687 $http.get(urlapi + 'travels/user/'+$stateParams.username)
688 .success(function(data, status, headers,config){
689 console.log('data success');
690 console.log(data); // for browser console
691 $scope.travels = data; // for UI
692 })
693 .error(function(data, status, headers,config){
694 console.log('data error');
695 })
696 .then(function(result){
697 travels = result.data;
698 });
699
700
701
702 $scope.favUser = function(){
703 $scope.newfav={
704 //travelId: $stateParams.travelId,
705 /*userId: localStorage.getItem("c_userid"),
706 username: localStorage.getItem("c_username"),
707 avatar: localStorage.getItem("c_avatar")*/
708 };
709 $scope.user.favs.push($scope.newfav);//al unfav no cal fer aquest simulacre pq ja no existeix a l'array i no el resta dos cops en cas de que cliquin dos cops
710 $http({
711 //url: urlapi + 'users/'+ $stateParams.username+'/fav',
712 url: urlapi + 'users/'+ $scope.user._id+'/fav',
713 method: "POST",
714 data: $scope.newfav
715 })
716 .then(function(response) {
717 // success
718 console.log("response: ");
719 console.log(response);
720
721 $scope.users=response.data;
722 localStorage.setItem('c_users', JSON.stringify($scope.users));
723 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
724
725 },
726 function(response) { // optional
727 // failed
728 });
729 };
730 $scope.unfavUser = function(){
731 console.log("unfav");
732 $scope.unfav={
733 /*userId: localStorage.getItem("c_userid"),
734 username: localStorage.getItem("c_username"),
735 avatar: localStorage.getItem("c_avatar")*/
736 };
737 $http({
738 //url: urlapi + 'users/'+ $stateParams.username+'/fav',
739 url: urlapi + 'users/'+ $scope.user._id+'/unfav',
740 method: "POST",
741 data: $scope.unfav
742 })
743 .then(function(response) {
744 // success
745 console.log("response: ");
746 console.log(response);
747
748 $scope.users=response.data;
749 localStorage.setItem('c_users', JSON.stringify($scope.users));
750 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
751
752 },
753 function(response) { // optional
754 // failed
755 });
756 };
757
758 $ionicModal.fromTemplateUrl('templates/favsList.html', {
759 scope: $scope
760 }).then(function(modal) {
761 $scope.modalFavsList = modal;
762 });
763 $scope.closeModalFavsList = function() {
764 $scope.modalFavsList.hide();
765 };
766 $scope.showFavsList = function(){
767 $scope.modalFavsList.show();
768 };
769 $scope.closeModalAndGoUser = function(){
770 $scope.modalFavsList.hide();
771 };
772
773 $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) {
774 if(myArray){
775 for(var i = 0, len = myArray.length; i < len; i++) {
776 if (myArray[i][property] === searchTerm){
777 return i;
778 }
779 }
780 }
781 return -1;
782 };
783})
784.controller('NotificationsCtrl', function($scope, $stateParams, $translate, $filter) {
785 if(localStorage.getItem('c_token')){// adding token to the headers
786 // $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token');
787 }
788 $scope.storageusername=localStorage.getItem("c_username");
789 $scope.users= JSON.parse(localStorage.getItem('c_users'));
790 $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0];
791 $scope.notifications=$scope.user.notifications;
792
793 console.log($stateParams.username);
794 console.log($scope.notifications);
795 console.log("notifications page");
796})
797
798.controller('SettingsCtrl', function($scope, $stateParams, $translate) {
799 if(localStorage.getItem('lang'))//initialization
800 {
801 $scope.lang=localStorage.getItem('lang');
802 }else{
803 localStorage.setItem('lang', 'english');
804 $scope.lang=localStorage.getItem('lang');
805 }
806
807 $scope.langChange = function(lang){
808 console.log(lang);
809 window.localStorage.setItem('lang', lang);
810 $translate.use(lang);
811 };
812})
813.controller('HelpCtrl', function($scope, $stateParams, $translate) {
814 console.log("help page");
815});