arnaucube
arnaucube/commonroutesAppPublic Self-hosted repository
commonroutesApp/www/js/controllers.js
www/js/controllers.jsRaw
  1
  2var urlapi="http://localhost:3000/api/";
  3//var urlapi="http://192.168.1.40:3000/api/";
  4//localStorage.setItem("c_username", "user2");
  5//localStorage.setItem("c_token", "");
  6
  7
  8angular.module('starter.controllers', [])
  9
 10.controller('AppCtrl', function($scope, $ionicModal, $timeout, $http, $window) {
 11  // With the new view caching in Ionic, Controllers are only called
 12  // when they are recreated or on app start, instead of every page change.
 13  // To listen for when this page is active (for example, to refresh data),
 14  // listen for the $ionicView.enter event:
 15  //$scope.$on('$ionicView.enter', function(e) {
 16  //});
 17
 18  // Form data for the login modal
 19  $scope.loginData = {};
 20  $scope.signupData= {};
 21
 22  $scope.storageusername=localStorage.getItem("c_username");
 23  // Create the login modal that we will use later
 24  $ionicModal.fromTemplateUrl('templates/login.html', {
 25    scope: $scope
 26  }).then(function(modal) {
 27    $scope.modalLogin = modal;
 28  });
 29  $ionicModal.fromTemplateUrl('templates/signup.html', {
 30    scope: $scope
 31  }).then(function(modal) {
 32    $scope.modalSignup = modal;
 33  });
 34
 35  // Triggered in the login modal to close it
 36  $scope.closeLogin = function() {
 37    $scope.modalLogin.hide();
 38  };
 39  $scope.closeSignup = function() {
 40    $scope.modalSignup.hide();
 41  };
 42
 43  // Open the login modal
 44  $scope.login = function() {
 45    $scope.modalLogin.show();
 46  };
 47  $scope.signup = function() {
 48    $scope.modalSignup.show();
 49  };
 50
 51  // Perform the login action when the user submits the login form
 52  $scope.doLogin = function() {
 53    console.log('Doing login', $scope.loginData);
 54
 55    $http({
 56        url: urlapi + 'auth',
 57        method: "POST",
 58        data: $scope.loginData
 59    })
 60    .then(function(response) {
 61            // success
 62            console.log("response: ");
 63            console.log(response.data);
 64            if(response.data.success==true)
 65            {
 66                console.log("login successful");
 67                localStorage.setItem("c_username", $scope.loginData.username);
 68                localStorage.setItem("c_token", response.data.token);
 69            }else{
 70                console.log("login failed");
 71            }
 72            $timeout(function() {
 73              $scope.closeLogin();
 74              $window.location.reload(true);
 75            }, 1000);
 76
 77    },
 78    function(response) { // optional
 79            // failed
 80            console.log(response);
 81    });
 82
 83  };
 84  $scope.doSignup = function() {
 85    console.log('Doing signup', $scope.signupData);
 86
 87    $http({
 88        url: urlapi + 'users',
 89        method: "POST",
 90        data: $scope.signupData
 91    })
 92    .then(function(response) {
 93            // success
 94            console.log("response: ");
 95            console.log(response.data);
 96            $timeout(function() {
 97              $scope.closeSignup();
 98            }, 1000);
 99
100    },
101    function(response) { // optional
102            // failed
103    });
104
105  };
106  $scope.logout = function(){
107      localStorage.removeItem("c_username");
108      localStorage.removeItem("c_token");
109      $window.location.reload(true);
110  };
111})
112
113
114.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading) {
115    $scope.travels="";
116
117    $scope.travels=JSON.parse(localStorage.getItem('c_travels'));
118
119    $scope.doRefresh = function() {
120        $http.get(urlapi + 'travels')
121        .success(function(data, status, headers,config){
122            console.log('data success');
123            console.log(data); // for browser console
124            $scope.travels = data; // for UI
125            localStorage.setItem('c_travels', JSON.stringify($scope.travels));
126            $scope.$broadcast('scroll.refreshComplete');//refresher stop
127        })
128        .error(function(data, status, headers,config){
129            console.log('data error');
130            $scope.$broadcast('scroll.refreshComplete');//refresher stop
131        })
132        .then(function(result){
133            travels = result.data;
134            $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
135        });
136    };
137
138    $scope.newtravel={};
139
140  // Create the login modal that we will use later
141  $ionicModal.fromTemplateUrl('templates/newofferingtravel.html', {
142    scope: $scope
143  }).then(function(modal) {
144    $scope.modalOffering = modal;
145  });
146
147  // Create the login modal that we will use later
148  $ionicModal.fromTemplateUrl('templates/newaskingtravel.html', {
149    scope: $scope
150  }).then(function(modal) {
151    $scope.modalAsking = modal;
152  });
153
154  $ionicModal.fromTemplateUrl('templates/newaskingpackage.html', {
155    scope: $scope
156  }).then(function(modal) {
157    $scope.modalPackage = modal;
158  });
159
160  // Triggered in the login modal to close it
161  $scope.closeNewOfferingTravel = function() {
162    $scope.modalOffering.hide();
163  };
164  // Triggered in the login modal to close it
165  $scope.closeNewAskingTravel = function() {
166    $scope.modalAsking.hide();
167  };
168  $scope.closeNewAskingPackage = function() {
169    $scope.modalPackage.hide();
170  };
171
172  // Open the login modal
173  $scope.showNewOfferingTravel = function() {
174    $scope.modalOffering.show();
175  };
176  // Open the login modal
177  $scope.showNewAskingTravel = function() {
178    $scope.modalAsking.show();
179  };
180  $scope.showNewAskingPackage = function() {
181    $scope.modalPackage.show();
182  };
183
184  // Perform the login action when the user submits the login form
185  $scope.doNewOfferingTravel = function() {
186    console.log('Doing new travel', $scope.newtravel);
187    $scope.newtravel.icon="lorry";
188    $scope.newtravel.generateddate=$scope.newtravel.date;
189    $scope.newtravel.owner=localStorage.getItem("c_username");
190
191    $scope.newtravel.modality="offering";
192    console.log($scope.newtravel);
193    $http({
194        url: urlapi + 'travels',
195        method: "POST",
196        data: $scope.newtravel
197    })
198    .then(function(response) {
199            // success
200            console.log("response: ");
201            console.log(response);
202            $scope.newtravel._id=response.data._id;
203            $scope.travels.push($scope.newtravel);
204            $scope.newtravel={};
205            if(response.data.success==false){
206
207                $ionicLoading.show({ template: 'failed to generate new travel', noBackdrop: true, duration: 2000 });
208            }
209    },
210    function(response) { // optional
211            // failed
212    });
213
214    // Simulate a login delay. Remove this and replace with your login
215    // code if using a login system
216    $timeout(function() {
217      $scope.closeNewOfferingTravel();
218    }, 1000);
219  };
220
221  $scope.doNewAskingTravel = function() {
222    console.log('Doing new travel', $scope.newtravel);
223    $scope.newtravel.icon="lorry";
224    $scope.newtravel.generateddate=$scope.newtravel.date;
225    $scope.newtravel.owner=localStorage.getItem("c_username");
226
227    $scope.newtravel.modality="asking";
228    console.log($scope.newtravel);
229    $http({
230        url: urlapi + 'travels',
231        method: "POST",
232        data: $scope.newtravel
233    })
234    .then(function(response) {
235            // success
236            console.log("response: ");
237            console.log(response);
238            $scope.newtravel._id=response.data._id;
239            $scope.travels.push($scope.newtravel);
240            if(response.data.success==false){
241
242                $ionicLoading.show({ template: 'failed to generate new asking travel', noBackdrop: true, duration: 2000 });
243            }
244    },
245    function(response) { // optional
246            // failed
247    });
248
249    // Simulate a login delay. Remove this and replace with your login
250    // code if using a login system
251    $timeout(function() {
252      $scope.closeNewAskingTravel();
253    }, 1000);
254  };
255
256  $scope.doNewAskingPackage = function() {
257    console.log('Doing new package', $scope.newtravel);
258    $scope.newtravel.icon="lorry";
259    $scope.newtravel.generateddate=$scope.newtravel.date;
260    $scope.newtravel.owner=localStorage.getItem("c_username");
261    $scope.newtravel.package=true;
262
263    $scope.newtravel.modality="package";
264    console.log($scope.newtravel);
265    $http({
266        url: urlapi + 'travels',
267        method: "POST",
268        data: $scope.newtravel
269    })
270    .then(function(response) {
271            // success
272            console.log("response: ");
273            console.log(response);
274            $scope.newtravel._id=response.data._id;
275            $scope.travels.push($scope.newtravel);
276            if(response.data.success==false){
277
278                $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
279            }
280    },
281    function(response) { // optional
282            // failed
283    });
284
285    // Simulate a login delay. Remove this and replace with your login
286    // code if using a login system
287    $timeout(function() {
288      $scope.closeNewAskingPackage();
289    }, 1000);
290  };
291})
292
293.controller('TravelCtrl', function($scope, $stateParams, $http) {
294    $scope.storageusername=localStorage.getItem("c_username");
295    $scope.travel="";
296    console.log($stateParams.travelId);
297    $http.get(urlapi + 'travels/'+$stateParams.travelId)
298        .success(function(data, status, headers,config){
299            console.log('data success');
300            console.log(data); // for browser console
301            $scope.travel = data; // for UI
302        })
303        .error(function(data, status, headers,config){
304            console.log('data error');
305        })
306        .then(function(result){
307            travels = result.data;
308    });
309})
310
311.controller('UsersCtrl', function($scope, $http, $ionicModal, $timeout) {
312    $scope.users="";
313
314    $scope.users=JSON.parse(localStorage.getItem('c_users'));
315
316    $scope.doRefresh = function() {
317        $http.get(urlapi + 'users')
318        .success(function(data, status, headers, config){
319            console.log('data success');
320            console.log(data); // for browser console
321            $scope.users = data; // for UI
322            localStorage.setItem('c_users', JSON.stringify($scope.users));
323            $scope.$broadcast('scroll.refreshComplete');//refresher stop
324        })
325        .error(function(data, status, headers,config){
326            console.log('data error');
327            $scope.$broadcast('scroll.refreshComplete');//refresher stop
328        })
329        .then(function(result){
330            users = result.data;
331        });
332    };
333})
334
335.controller('UserCtrl', function($scope, $stateParams, $http) {
336    //$scope.user="";
337    console.log($stateParams.username);
338    $http.get(urlapi + 'users/byusername/'+$stateParams.username)
339        .success(function(data, status, headers,config){
340            console.log('data success');
341            console.log(data); // for browser console
342            $scope.user = data; // for UI
343        })
344        .error(function(data, status, headers,config){
345            console.log('data error');
346        })
347        .then(function(result){
348            user = result.data;
349    });
350
351    $http.get(urlapi + 'travels/user/'+$stateParams.username)
352        .success(function(data, status, headers,config){
353            console.log('data success');
354            console.log(data); // for browser console
355            $scope.travels = data; // for UI
356        })
357        .error(function(data, status, headers,config){
358            console.log('data error');
359        })
360        .then(function(result){
361            travels = result.data;
362    });
363});