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