arnaucube
arnaucube/commonroutesAppPublic Self-hosted repository
commonroutesApp/www/js/travels.js
www/js/travels.jsRaw
  1angular.module('app.travels', ['pascalprecht.translate'])
  2
  3.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading, $filter) {
  4
  5
  6    
  7
  8    $scope.doRefresh = function() {
  9      /* travels refresh: */
 10        $http.get(urlapi + 'travels')
 11        .success(function(data, status, headers,config){
 12            console.log('data success travels');
 13            console.log(data); // for browser console
 14            $scope.travels = data; // for UI
 15            localStorage.setItem('c_travels', JSON.stringify($scope.travels));
 16            localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
 17            $scope.$broadcast('scroll.refreshComplete');//refresher stop
 18
 19        })
 20        .error(function(data, status, headers,config){
 21            console.log('data error');
 22            $scope.$broadcast('scroll.refreshComplete');//refresher stop
 23            $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
 24
 25        })
 26        .then(function(result){
 27            travels = result.data;
 28            $ionicLoading.show({ template: 'Travels actualized from server!', noBackdrop: true, duration: 2000 });
 29        });
 30
 31        /* users refresh: */
 32        $http.get(urlapi + 'users')
 33        .success(function(data, status, headers, config){
 34            console.log('data success users');
 35            console.log(data); // for browser console
 36            $scope.users = data; // for UI
 37            localStorage.setItem('c_users', JSON.stringify($scope.users));
 38            $scope.$broadcast('scroll.refreshComplete');//refresher stop
 39
 40            //set userdata
 41            $scope.userdata = $filter('filter')($scope.users, {username: $scope.storageusername}, true)[0];
 42            console.log("userdata");
 43            console.log($scope.userdata);
 44            localStorage.setItem("c_userdata", JSON.stringify($scope.userdata));
 45        })
 46        .error(function(data, status, headers,config){
 47            console.log('data error');
 48            $scope.$broadcast('scroll.refreshComplete');//refresher stop
 49        })
 50        .then(function(result){
 51            users = result.data;
 52        });
 53    };
 54    $scope.newtravel={};
 55    /*$scope.newtravel={
 56        title: "prova",
 57        from: "prova",
 58        to: "prova",
 59        seats: 3,
 60        package: true,
 61        phone: 123,
 62        telegram: "telusr",
 63        description: "this is the description of prova"
 64    };*/
 65
 66  // Create the login modal that we will use later
 67  $ionicModal.fromTemplateUrl('templates/newofferingtravel.html', {
 68    scope: $scope
 69  }).then(function(modal) {
 70    $scope.modalOffering = modal;
 71  });
 72
 73  // Create the login modal that we will use later
 74  $ionicModal.fromTemplateUrl('templates/newaskingtravel.html', {
 75    scope: $scope
 76  }).then(function(modal) {
 77    $scope.modalAsking = modal;
 78  });
 79
 80  $ionicModal.fromTemplateUrl('templates/newaskingpackage.html', {
 81    scope: $scope
 82  }).then(function(modal) {
 83    $scope.modalPackage = modal;
 84  });
 85
 86  // Triggered in the login modal to close it
 87  $scope.closeNewOfferingTravel = function() {
 88    $scope.modalOffering.hide();
 89  };
 90  // Triggered in the login modal to close it
 91  $scope.closeNewAskingTravel = function() {
 92    $scope.modalAsking.hide();
 93  };
 94  $scope.closeNewAskingPackage = function() {
 95    $scope.modalPackage.hide();
 96  };
 97
 98  // Open the login modal
 99  $scope.showNewOfferingTravel = function() {
100    $scope.modalOffering.show();
101  };
102  // Open the login modal
103  $scope.showNewAskingTravel = function() {
104    $scope.modalAsking.show();
105  };
106  $scope.showNewAskingPackage = function() {
107    $scope.modalPackage.show();
108  };
109
110  // Perform the login action when the user submits the login form
111  $scope.doNewOfferingTravel = function() {
112    console.log('Doing new travel', $scope.newtravel);
113    $scope.newtravel.icon="lorry";
114    $scope.newtravel.generateddate=$scope.newtravel.date;
115    /*$scope.newtravel.owner=localStorage.getItem("c_username");
116    $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
117    $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;*/
118    $scope.newtravel.modality="offering";
119    //$scope.newtravel.token=localStorage.getItem("c_token");
120    console.log($scope.newtravel);
121    $http({
122        url: urlapi + 'travels',
123        method: "POST",
124        data: $scope.newtravel
125    })
126    .then(function(response) {
127            // success
128            console.log("response: ");
129            console.log(response);
130            //$scope.newtravel._id=response.data._id;
131            //$scope.travels.push($scope.newtravel);
132            $scope.travels=response.data;
133            localStorage.setItem('c_travels', JSON.stringify($scope.travels));
134            localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
135            $scope.newtravel={};
136            if(response.data.success==false){
137
138                $ionicLoading.show({ template: 'failed to generate new travel', noBackdrop: true, duration: 2000 });
139            }
140    },
141    function(response) { // optional
142            // failed
143        $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
144    });
145
146    // Simulate a login delay. Remove this and replace with your login
147    // code if using a login system
148    $timeout(function() {
149      $scope.closeNewOfferingTravel();
150    }, 1000);
151  };
152
153  $scope.doNewAskingTravel = function() {
154    console.log('Doing new travel', $scope.newtravel);
155    $scope.newtravel.icon="lorry";
156    $scope.newtravel.generateddate=$scope.newtravel.date;
157    /*$scope.newtravel.owner=localStorage.getItem("c_username");
158    $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
159    $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;*/
160
161    $scope.newtravel.modality="asking";
162    console.log($scope.newtravel);
163    $http({
164        url: urlapi + 'travels',
165        method: "POST",
166        data: $scope.newtravel
167    })
168    .then(function(response) {
169            // success
170            console.log("response: ");
171            console.log(response);
172            //$scope.newtravel._id=response.data._id;
173            //$scope.travels.push($scope.newtravel);
174            $scope.travels=response.data;
175            localStorage.setItem('c_travels', JSON.stringify($scope.travels));
176            localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
177            $scope.newtravel={};
178            if(response.data.success==false){
179
180                $ionicLoading.show({ template: 'failed to generate new asking travel', noBackdrop: true, duration: 2000 });
181            }
182    },
183    function(response) { // optional
184            // failed
185            $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
186    });
187
188    // Simulate a login delay. Remove this and replace with your login
189    // code if using a login system
190    $timeout(function() {
191      $scope.closeNewAskingTravel();
192    }, 1000);
193  };
194
195  $scope.doNewAskingPackage = function() {
196    console.log('Doing new package', $scope.newtravel);
197    $scope.newtravel.icon="lorry";
198    $scope.newtravel.generateddate=$scope.newtravel.date;
199    /*$scope.newtravel.owner=localStorage.getItem("c_username");
200    $scope.newtravel.telegram=JSON.parse(localStorage.getItem("c_userdata")).telegram;
201    $scope.newtravel.phone=JSON.parse(localStorage.getItem("c_userdata")).phone;*/
202
203    $scope.newtravel.package=true;
204
205    $scope.newtravel.modality="package";
206    console.log($scope.newtravel);
207    $http({
208        url: urlapi + 'travels',
209        method: "POST",
210        data: $scope.newtravel
211    })
212    .then(function(response) {
213            // success
214            console.log("response: ");
215            console.log(response);
216            //$scope.newtravel._id=response.data._id;
217            //$scope.travels.push($scope.newtravel);
218            $scope.travels=response.data;
219            localStorage.setItem('c_travels', JSON.stringify($scope.travels));
220            localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date()));
221            $scope.newtravel={};
222            if(response.data.success==false){
223
224                $ionicLoading.show({ template: 'failed to generate new asking package', noBackdrop: true, duration: 2000 });
225            }
226    },
227    function(response) { // optional
228            // failed
229            $ionicLoading.show({ template: 'failed to generate new publication, all input fields needed', noBackdrop: true, duration: 2000 });
230    });
231
232    // Simulate a login delay. Remove this and replace with your login
233    // code if using a login system
234    $timeout(function() {
235      $scope.closeNewAskingPackage();
236    }, 1000);
237  };
238});