added travel edit, added link to web view of travels, fixed travel delete button
arnaucode arnaucode@gmail.com
Mon, 18 Jun 2018 12:07:10 +0200
11 files changed,
206 insertions(+),
15 deletions(-)
M
README.md
→
README.md
@@ -8,6 +8,14 @@
 + +To check the hash of the current version: +``` +> sha1sum commonroutes.apk +9e20ffa064b304a756badde207e347f8aa5117d7 +``` + + ## Build Add cordova camera plugin
M
comandesUtils.txt
→
comandesUtils.txt
@@ -9,6 +9,10 @@ export ANDROID_HOME=/home/asus/Android/Sdk/
export PATH=$PATH:$ANDROID_HOME:/home/asus/Android/Sdk/tools export PATH=$PATH:$ANDROID_HOME/home/asus/Android/Sdk/platform-tools +export ANDROID_HOME=/home/xiaomi/Android/Sdk/ +export PATH=$PATH:$ANDROID_HOME:/home/xiaomi/Android/Sdk/tools +export PATH=$PATH:$ANDROID_HOME/home/xiaomi/Android/Sdk/platform-tools + #run android sdk manager tools: cd /home/nau/Android/Sdk/tools
M
package-lock.json
→
package-lock.json
@@ -736,14 +736,14 @@ }
} }, "cordova-plugin-camera": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-4.0.2.tgz", - "integrity": "sha1-MJQQkn70Ctxr69Sw6R3yyMZE84o=" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-4.0.3.tgz", + "integrity": "sha1-c3Olk4MYyGzP2E43E+I4LRD+B2s=" }, "cordova-plugin-console": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cordova-plugin-console/-/cordova-plugin-console-1.0.7.tgz", - "integrity": "sha1-ibepLtHDNYiN/ADZAtxBcgHPOws=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-console/-/cordova-plugin-console-1.1.0.tgz", + "integrity": "sha1-4vusECkBeeRMtyxf28QQpTHBzW0=" }, "cordova-plugin-device": { "version": "1.1.7",@@ -756,9 +756,9 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-2.0.2.tgz",
"integrity": "sha1-pEj8vpdMprQpiL00VRCdkj1sl2k=" }, "cordova-plugin-splashscreen": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-4.0.3.tgz", - "integrity": "sha1-dzzRNjwfO6y5kBZj6eN5PdPgoZ0=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-4.1.0.tgz", + "integrity": "sha1-gQKKt2Q+YVWT0n8q0CRFYR8ZRrY=" }, "cordova-plugin-whitelist": { "version": "1.3.3",
M
package.json
→
package.json
@@ -4,11 +4,11 @@ "version": "1.1.1",
"description": "app: commonroutes", "dependencies": { "cordova-android": "7.0.0", - "cordova-plugin-camera": "^4.0.2", - "cordova-plugin-console": "^1.0.7", + "cordova-plugin-camera": "^4.0.3", + "cordova-plugin-console": "^1.1.0", "cordova-plugin-device": "^1.1.7", "cordova-plugin-inappbrowser": "^2.0.2", - "cordova-plugin-splashscreen": "^4.0.3", + "cordova-plugin-splashscreen": "^4.1.0", "cordova-plugin-whitelist": "^1.3.3", "gulp": "^3.5.6", "gulp-concat": "^2.2.0",@@ -45,4 +45,4 @@ "platforms": [
"android" ] } -} +}
M
www/index.html
→
www/index.html
@@ -42,6 +42,7 @@ <script src="js/main.js"></script>
<script src="js/search.js"></script> <script src="js/travels.js"></script> <script src="js/travel.js"></script> + <script src="js/editTravel.js"></script> <script src="js/newTravel.js"></script> <script src="js/offerCar.js"></script> <script src="js/askForCar.js"></script>
M
www/js/app.js
→
www/js/app.js
@@ -23,6 +23,7 @@ 'app.main',
'app.search', 'app.travels', 'app.travel', + 'app.editTravel', 'app.newTravel', 'app.offerCar', 'app.askForCar',@@ -120,7 +121,15 @@ controller: 'TravelCtrl'
} } }) - + .state('app.editTravel', { + url: '/editTravel/:travelid', + views: { + 'menuContent': { + templateUrl: 'templates/editTravel.html', + controller: 'EditTravelCtrl' + } + } + }) .state('app.newTravel', { url: '/newTravel', views: {
A
www/js/editTravel.js
@@ -0,0 +1,103 @@
+angular.module('app.editTravel', ['pascalprecht.translate', 'ui-leaflet']) + +.controller('EditTravelCtrl', function($scope, $stateParams, $translate, + $http, $filter, $ionicLoading) { + $scope.center = {}; + $scope.bounds = {}; + $scope.markers = []; + $scope.tiles= { + url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", + options: { + attribution: '<a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' + } + }; + $scope.travel={}; + // get the travel + $http.get(urlapi + 'travels/id/' + $stateParams.travelid) + .then(function(data) { + console.log('data success travels'); + console.log(data); // for browser console + $scope.travel = data.data; // for UI + $scope.travel.date = new Date($scope.travel.date); + $scope.markers = []; + $scope.markers.push({ + lat: Number($scope.travel.from.lat), + lng: Number($scope.travel.from.long), + message: $scope.travel.from.name + }); + $scope.markers.push({ + lat: Number($scope.travel.to.lat), + lng: Number($scope.travel.to.long), + message: $scope.travel.to.name + }); + $scope.center = { + lat: (Number($scope.travel.from.lat) + Number($scope.travel.to.lat)) / 2, + lng: (Number($scope.travel.from.long) + Number($scope.travel.to.long)) / 2, + zoom: 4 + }; + $scope.$broadcast('scroll.refreshComplete'); //refresher stop + }, function(data) { + console.log('data error'); + $scope.$broadcast('scroll.refreshComplete'); //refresher stop + $ionicLoading.show({ + template: 'Error connecting server', + noBackdrop: true, + duration: 2000 + }); + }); + + $scope.updateTravel =function(){ + $http({ + url: urlapi + 'travels/id/modify/' + $scope.travel._id, + method: "PUT", + data: $scope.travel + }) + .then(function(data) { + console.log(data); + + window.location="#app/travels/" + $scope.travel._id; + }, + function(data) { // optional + // failed + console.log(data); + $ionicLoading.show({ template: 'Error updating travel. ' + data.data, noBackdrop: true, duration: 2000 }); + + }); + }; + $scope.getGeo = function(){ + + $scope.markers=[]; + console.log($scope.travel.from.name); + console.log($scope.travel.to.name); + $http.get('https://nominatim.openstreetmap.org/search?q=' + $scope.travel.from.name + '&format=json&limit=1') + .then(function(data) { + console.log(data); + if(data.data[0]) + { + $scope.travel.from.lat=data.data[0].lat; + $scope.travel.from.long=data.data[0].lon; + $scope.travel.from.name=data.data[0].display_name; + $scope.markers.push({ + lat: Number(data.data[0].lat), + lng: Number(data.data[0].lon), + message: data.data[0].display_name + }); + } + $http.get('https://nominatim.openstreetmap.org/search?q=' + $scope.travel.to.name + '&format=json&limit=1') + .then(function(data) { + if(data.data[0]) + { + $scope.travel.to.lat=data.data[0].lat; + $scope.travel.to.long=data.data[0].lon; + $scope.travel.to.name=data.data[0].display_name; + $scope.markers.push({ + lat: Number(data.data[0].lat), + lng: Number(data.data[0].lon), + message: data.data[0].display_name + }); + } + }); + }); + + }; +});
M
www/js/travel.js
→
www/js/travel.js
@@ -285,6 +285,10 @@ }
//console.log("i: -1"); return -1; }; + $scope.openTravelLink = function(travelid) { + window.open('http://routes.fair.coop/app/#!/travel/' + travelid, '_system', 'location=yes'); + return false; + }; $scope.openTelegram = function(telegramuser) { window.open('http://telegram.me/' + telegramuser, '_system', 'location=yes'); return false;
A
www/templates/editTravel.html
@@ -0,0 +1,58 @@
+<ion-view view-title="{{'Edit Travel' | translate}}"> + <ion-content> + <div class="padding"> + <label class="item item-input"> + <span class="input-label">{{'Title' | translate}}</span> + <input type="text" ng-model="travel.title"> + </label> + <div layout="row"> + <label class="item item-input"> + <span class="input-label">{{'From' | translate}}</span> + <input type="text" ng-model="travel.from.name"> + </label> + <label class="item item-input"> + <span class="input-label">{{'To' | translate}}</span> + <input type="text" ng-model="travel.to.name"> + </label> + </div> + </div><!-- end of padding --> + <a ng-click="getGeo()" ng-show="travel.from.name && travel.to.name" + class="button o_purple300">{{'Get_positions' | translate}}</a> + + <leaflet ng-show="markers[0]" + width="100%" height="40%" markers="markers" center="center" + tiles="tiles" id="map-simple-map"></leaflet> + + <div class="padding" ng-show="markers[0]"> + <label class="item item-input" ng-show="travel.seats"> + <span class="input-label">{{'n_Seats' | translate}}</span> + <input ng-model="travel.seats" type="number"> + </label> + + <label class="item-input"> + <span class="input-label">{{'Date' | translate}}</span> + <input ng-model="travel.date" type="date" placeholder=""> + </label> + <label class="item-input"> + <span class="input-label">{{'Hour' | translate}}</span> + <input ng-model="travel.date" type="time" placeholder=""> + </label> + <ion-toggle ng-show="travel.package" ng-model="travel.package" toggle-class="toggle-calm"> + <i class="icon ion-ios-box"></i> + {{'Can_carry_package' | translate}} + </ion-toggle> + <ion-toggle ng-show="travel.collectivized" ng-model="travel.collectivized" toggle-class="toggle-calm"> + {{'Collectivized_car' | translate}} + </ion-toggle> + <label class="item item-input"> + <span class="input-label">{{'Description' | translate}}</span> + <input type="text" ng-model="travel.description"> + </label> + <p class="padding"> + <a ng-click="updateTravel()" class="button o_purple400 o_floatRight"> + {{'Update Travel' | translate}} + </a> + </p> + </div><!-- end of padding --> + </ion-content> +</ion-view>
M
www/templates/travel.html
→
www/templates/travel.html
@@ -13,8 +13,12 @@ {{travel.user.username}}
<i ng-show="travel.user.validated" class="ion-checkmark-circled ct_blue300"></i> </a> <p class="text-right"> - <a target="_blank" ng-href="http://routes.fair.coop/app/#!/travel/{{travel._id}}" class="button button-small o_grey300"> + <a target="_blank" ng-click="openTravelLink(travel._id)" class="button button-small o_grey300"> <i class="icon ion-share" style="margin-left:-14px;"></i> + </a> + <a ng-href="#/app/editTravel/{{travel._id}}" class="button button-small o_grey600" + ng-show="storageuser._id==travel.user._id"> + <i class="icon ion-edit" style="margin-left:-14px;"></i> </a> <a ng-click="deleteTravel()" class="button button-small o_bRed" ng-show="storageuser._id==travel.user._id">