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 }else{
72 console.log("login failed");
73 }
74 $timeout(function() {
75 $scope.closeLogin();
76 $window.location.reload(true);
77 }, 1000);
78
79 },
80 function(response) { // optional
81 // failed
82 console.log(response);
83 });
84
85 };
86 $scope.doSignup = function() {
87 console.log('Doing signup', $scope.signupData);
88
89 $http({
90 url: urlapi + 'users',
91 method: "POST",
92 data: $scope.signupData
93 })
94 .then(function(response) {
95 // success
96 console.log("response: ");
97 console.log(response.data);
98 $timeout(function() {
99 $scope.closeSignup();
100 }, 1000);
101
102 },
103 function(response) { // optional
104 // failed
105 });
106
107 };
108 $scope.logout = function(){
109 localStorage.removeItem("c_username");
110 localStorage.removeItem("c_token");
111 $window.location.reload(true);
112 };
113})
114
115
116.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading) {
117 if(localStorage.getItem('c_token')){// adding token to the headers
118 //console.log("token added to headers in run module");
119 //console.log($http.defaults);
120 $http.defaults.headers.post['X-Access-Token'] = localStorage.getItem('c_token');
121 //$http.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded; charset=UTF-8";
122 //console.log($http.defaults.headers);
123 }
124 /*if(localStorage.getItem('c_token')){// adding token to the headers
125 $http.defaults.headers.token = localStorage.getItem('c_token');
126 }*/
127
128 $scope.travels="";
129
130 $scope.travels=JSON.parse(localStorage.getItem('c_travels'));
131
132 $scope.doRefresh = function() {
133 $http.get(urlapi + 'travels')
134 .success(function(data, status, headers,config){
135 console.log('data success');
136 console.log(data); // for browser console
137 $scope.travels = data; // for UI
138 localStorage.setItem('c_travels', JSON.stringify($scope.travels));
139 $scope.$broadcast('scroll.refreshComplete');//refresher stop
140 })
141 .error(function(data, status, headers,config){
142 console.log('data error');
143 $scope.$broadcast('scroll.refreshComplete');//refresher stop
144 })
145 .then(function(result){
146 travels = result.data;
147 $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
148 });
149 };
150 $scope.newtravel={};
151 /*$scope.newtravel={
152 title: "prova",
153 from: "prova",
154 to: "prova",
155 seats: 3,
156 package: true,
157 phone: 123,
158 telegram: "telusr",
159 description: "this is the description of prova"
160 };*/
161
162 // Create the login modal that we will use later
163 $ionicModal.fromTemplateUrl('templates/newofferingtravel.html', {
164 scope: $scope
165 }).then(function(modal) {
166 $scope.modalOffering = modal;
167 });
168
169 // Create the login modal that we will use later
170 $ionicModal.fromTemplateUrl('templates/newaskingtravel.html', {
171 scope: $scope
172 }).then(function(modal) {
173 $scope.modalAsking = modal;
174 });
175
176 $ionicModal.fromTemplateUrl('templates/newaskingpackage.html', {
177 scope: $scope
178 }).then(function(modal) {
179 $scope.modalPackage = modal;
180 });
181
182 // Triggered in the login modal to close it
183 $scope.closeNewOfferingTravel = function() {
184 $scope.modalOffering.hide();
185 };
186 // Triggered in the login modal to close it
187 $scope.closeNewAskingTravel = function() {
188 $scope.modalAsking.hide();
189 };
190 $scope.closeNewAskingPackage = function() {
191 $scope.modalPackage.hide();
192 };
193
194 // Open the login modal
195 $scope.showNewOfferingTravel = function() {
196 $scope.modalOffering.show();
197 };
198 // Open the login modal
199 $scope.showNewAskingTravel = function() {
200 $scope.modalAsking.show();
201 };
202 $scope.showNewAskingPackage = function() {
203 $scope.modalPackage.show();
204 };
205
206 // Perform the login action when the user submits the login form
207 $scope.doNewOfferingTravel = function() {
208 console.log('Doing new travel', $scope.newtravel);
209 $scope.newtravel.icon="lorry";
210 $scope.newtravel.generateddate=$scope.newtravel.date;
211 $scope.newtravel.owner=localStorage.getItem("c_username");
212
213 $scope.newtravel.modality="offering";
214 //$scope.newtravel.token=localStorage.getItem("c_token");
215 console.log($scope.newtravel);
216 $http({
217 url: urlapi + 'travels',
218 method: "POST",
219 data: $scope.newtravel
220 })
221 .then(function(response) {
222 // success
223 console.log("response: ");
224 console.log(response);
225 $scope.newtravel._id=response.data._id;
226 $scope.travels.push($scope.newtravel);
227 $scope.newtravel={};
228 if(response.data.success==false){
229
230 $ionicLoading.show({ template: 'failed to generate new travel', noBackdrop: true, duration: 2000 });
231 }
232 },
233 function(response) { // optional
234 // failed
235 });
236
237 // Simulate a login delay. Remove this and replace with your login
238 // code if using a login system
239 $timeout(function() {
240 $scope.closeNewOfferingTravel();
241 }, 1000);
242 };
243
244 $scope.doNewAskingTravel = function() {
245 console.log('Doing new travel', $scope.newtravel);
246 $scope.newtravel.icon="lorry";
247 $scope.newtravel.generateddate=$scope.newtravel.date;
248 $scope.newtravel.owner=localStorage.getItem("c_username");
249
250 $scope.newtravel.modality="asking";
251 console.log($scope.newtravel);
252 $http({
253 url: urlapi + 'travels',
254 method: "POST",
255 data: $scope.newtravel
256 })
257 .then(function(response) {
258 // success
259 console.log("response: ");
260 console.log(response);
261 $scope.newtravel._id=response.data._id;
262 $scope.travels.push($scope.newtravel);
263 if(response.data.success==false){
264
265 $ionicLoading.show({ template: 'failed to generate new asking travel', noBackdrop: true, duration: 2000 });
266 }
267 },
268 function(response) { // optional
269 // failed
270 });
271
272 // Simulate a login delay. Remove this and replace with your login
273 // code if using a login system
274 $timeout(function() {
275 $scope.closeNewAskingTravel();
276 }, 1000);
277 };
278
279 $scope.doNewAskingPackage = function() {
280 console.log('Doing new package', $scope.newtravel);
281 $scope.newtravel.icon="lorry";
282 $scope.newtravel.generateddate=$scope.newtravel.date;
283 $scope.newtravel.owner=localStorage.getItem("c_username");
284 $scope.newtravel.package=true;
285
286 $scope.newtravel.modality="package";
287 console.log($scope.newtravel);
288 $http({
289 url: urlapi + 'travels',
290 method: "POST",
291 data: $scope.newtravel
292 })
293 .then(function(response) {
294 // success
295 console.log("response: ");
296 console.log(response);
297 $scope.newtravel._id=response.data._id;
298 $scope.travels.push($scope.newtravel);
299 if(response.data.success==false){
300
301 $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
302 }
303 },
304 function(response) { // optional
305 // failed
306 });
307
308 // Simulate a login delay. Remove this and replace with your login
309 // code if using a login system
310 $timeout(function() {
311 $scope.closeNewAskingPackage();
312 }, 1000);
313 };
314})
315
316.controller('TravelCtrl', function($scope, $stateParams, $http) {
317 $scope.storageusername=localStorage.getItem("c_username");
318 $scope.travel="";
319 console.log($stateParams.travelId);
320 $http.get(urlapi + 'travels/'+$stateParams.travelId)
321 .success(function(data, status, headers,config){
322 console.log('data success');
323 console.log(data); // for browser console
324 $scope.travel = data; // for UI
325 })
326 .error(function(data, status, headers,config){
327 console.log('data error');
328 })
329 .then(function(result){
330 travels = result.data;
331 });
332})
333
334.controller('UsersCtrl', function($scope, $http, $ionicModal, $timeout) {
335 $scope.users="";
336
337 $scope.users=JSON.parse(localStorage.getItem('c_users'));
338
339 $scope.doRefresh = function() {
340 $http.get(urlapi + 'users')
341 .success(function(data, status, headers, config){
342 console.log('data success');
343 console.log(data); // for browser console
344 $scope.users = data; // for UI
345 localStorage.setItem('c_users', JSON.stringify($scope.users));
346 $scope.$broadcast('scroll.refreshComplete');//refresher stop
347 })
348 .error(function(data, status, headers,config){
349 console.log('data error');
350 $scope.$broadcast('scroll.refreshComplete');//refresher stop
351 })
352 .then(function(result){
353 users = result.data;
354 });
355 };
356})
357
358.controller('UserCtrl', function($scope, $stateParams, $http) {
359 //$scope.user="";
360 console.log($stateParams.username);
361 $http.get(urlapi + 'users/byusername/'+$stateParams.username)
362 .success(function(data, status, headers,config){
363 console.log('data success');
364 console.log(data); // for browser console
365 $scope.user = data; // for UI
366 })
367 .error(function(data, status, headers,config){
368 console.log('data error');
369 })
370 .then(function(result){
371 user = result.data;
372 });
373
374 $http.get(urlapi + 'travels/user/'+$stateParams.username)
375 .success(function(data, status, headers,config){
376 console.log('data success');
377 console.log(data); // for browser console
378 $scope.travels = data; // for UI
379 })
380 .error(function(data, status, headers,config){
381 console.log('data error');
382 })
383 .then(function(result){
384 travels = result.data;
385 });
386});