diff options
| author | Zog | 2018-03-12 11:52:48 +0100 | 
|---|---|---|
| committer | Zog | 2018-03-12 11:52:48 +0100 | 
| commit | 84c7eb8f171e1a353a06496b088f73837a3425ff (patch) | |
| tree | 1cc0583b5fbbab8cfe611b4ae1673bd9ca5a7d3f | |
| parent | ba30cc2c8772dbd1934d032e2a3a6a66795df4e2 (diff) | |
| download | chouette-core-84c7eb8f171e1a353a06496b088f73837a3425ff.tar.bz2 | |
Refs #6102; Add label in JourneyPattern Editor header6102-commercial-missions
Refs #6104; Add commercial-only journey time in JourneyPattern Editor
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 fb69f4190..ad5869e84 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: | 
