aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2018-03-15 13:18:02 +0100
committerGitHub2018-03-15 13:18:02 +0100
commit9dff6c9addb3dfedffd9f9dd53c6f815b91d082e (patch)
tree949b9445d259349e69f4a602a2e3b0364f7f4667
parent1e2f67ed7cafcc31e984ee145a92dcfda467ece8 (diff)
parent84c7eb8f171e1a353a06496b088f73837a3425ff (diff)
downloadchouette-core-9dff6c9addb3dfedffd9f9dd53c6f815b91d082e.tar.bz2
Merge pull request #370 from af83/6102-commercial-missions
Add label in JourneyPattern Editor header. Refs #6102
-rw-r--r--app/javascript/journey_patterns/components/JourneyPattern.js23
-rw-r--r--app/javascript/journey_patterns/components/JourneyPatterns.js2
-rw-r--r--app/views/api/v1/stop_areas/short_description.rabl2
-rw-r--r--config/locales/journey_patterns.en.yml3
-rw-r--r--config/locales/journey_patterns.fr.yml2
5 files changed, 26 insertions, 6 deletions
diff --git a/app/javascript/journey_patterns/components/JourneyPattern.js b/app/javascript/journey_patterns/components/JourneyPattern.js
index 35765b99a..d20294594 100644
--- a/app/javascript/journey_patterns/components/JourneyPattern.js
+++ b/app/javascript/journey_patterns/components/JourneyPattern.js
@@ -74,17 +74,22 @@ export default class JourneyPattern extends Component{
return !this.props.status.policy[`journey_patterns.${action}`]
}
- totals(){
+ totals(onlyCommercial=false){
let totalTime = 0
let totalDistance = 0
let from = null
this.props.value.stop_points.map((stopPoint, i) =>{
- if(from && stopPoint.checked){
+ let usePoint = stopPoint.checked
+ console.log(stopPoint)
+ if(onlyCommercial && (i == 0 || i == this.props.value.stop_points.length - 1) && stopPoint.kind == "non_commercial"){
+ usePoint = false
+ }
+ if(from && usePoint){
let [costsKey, costs, time, distance] = this.getTimeAndDistanceBetweenStops(from, stopPoint.id)
totalTime += time
totalDistance += distance
}
- if(stopPoint.checked){
+ if(usePoint){
from = stopPoint.id
}
})
@@ -109,13 +114,15 @@ export default class JourneyPattern extends Component{
}
else{
let hours = parseInt(time/60)
- return hours + " h " + (time - 60*hours)
+ let minutes = (time - 60*hours)
+ return hours + " h " + (minutes > 0 ? minutes : '')
}
}
render() {
this.previousSpId = undefined
- let [totalTime, totalDistance] = this.totals()
+ let [totalTime, totalDistance] = this.totals(false)
+ let [commercialTotalTime, commercialTotalDistance] = this.totals(true)
return (
<div className={'t2e-item' + (this.props.value.deletable ? ' disabled' : '') + (this.props.value.object_id ? '' : ' to_record') + (this.props.value.errors ? ' has-error': '') + (this.hasFeature('costs_in_journey_patterns') ? ' with-costs' : '')}>
<div className='th'>
@@ -128,6 +135,12 @@ export default class JourneyPattern extends Component{
<span className="col-md-6"><i className="fa fa-clock-o"></i>{totalTime}</span>
</div>
}
+ {this.hasFeature('costs_in_journey_patterns') &&
+ <div className="small row totals commercial">
+ <span className="col-md-6"><i className="fa fa-arrows-h"></i>{commercialTotalDistance}</span>
+ <span className="col-md-6"><i className="fa fa-clock-o"></i>{commercialTotalTime}</span>
+ </div>
+ }
<div className={this.props.value.deletable ? 'btn-group disabled' : 'btn-group'}>
<div
className={this.props.value.deletable ? 'btn dropdown-toggle disabled' : 'btn dropdown-toggle'}
diff --git a/app/javascript/journey_patterns/components/JourneyPatterns.js b/app/javascript/journey_patterns/components/JourneyPatterns.js
index 31727fefc..1e39f3ac7 100644
--- a/app/javascript/journey_patterns/components/JourneyPatterns.js
+++ b/app/javascript/journey_patterns/components/JourneyPatterns.js
@@ -110,6 +110,8 @@ export default class JourneyPatterns extends Component {
<div className='strong mb-xs'>ID Mission</div>
<div>Code mission</div>
<div>Nb arrêts</div>
+ <div>{I18n.attribute_name('journey_pattern', 'full_journey_time')}</div>
+ <div>{I18n.attribute_name('journey_pattern', 'commercial_journey_time')}</div>
</div>
{this.props.stopPointsList.map((sp, i) =>{
return (
diff --git a/app/views/api/v1/stop_areas/short_description.rabl b/app/views/api/v1/stop_areas/short_description.rabl
index 7d571b0a2..2f27f04d8 100644
--- a/app/views/api/v1/stop_areas/short_description.rabl
+++ b/app/views/api/v1/stop_areas/short_description.rabl
@@ -1,7 +1,7 @@
object @stop_area
extends "api/v1/trident_objects/short_description"
-[:id, :name, :city_name, :zip_code, :area_type, :longitude, :latitude, :long_lat_type].each do |attr|
+[:id, :name, :city_name, :zip_code, :area_type, :kind, :longitude, :latitude, :long_lat_type].each do |attr|
attributes attr, :unless => lambda { |m| m.send( attr).nil?}
end
node(:parent_object_id) do |stop_area|
diff --git a/config/locales/journey_patterns.en.yml b/config/locales/journey_patterns.en.yml
index 9d9bc21e2..5f3de0b05 100644
--- a/config/locales/journey_patterns.en.yml
+++ b/config/locales/journey_patterns.en.yml
@@ -49,6 +49,9 @@ en:
created_at: Created at
updated_at: Updated at
creator_id: "Created by"
+ full_journey_time: Full journey
+ commercial_journey_time: Commercial journey
+
formtastic:
titles:
journey_pattern:
diff --git a/config/locales/journey_patterns.fr.yml b/config/locales/journey_patterns.fr.yml
index 8f1dc1e41..2aa95248f 100644
--- a/config/locales/journey_patterns.fr.yml
+++ b/config/locales/journey_patterns.fr.yml
@@ -49,6 +49,8 @@ fr:
created_at: "Créé le"
updated_at: "Edité le"
creator_id: "Créé par"
+ full_journey_time: Parcours complet
+ commercial_journey_time: Parcours commercial
formtastic:
titles:
journey_pattern: