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});