aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert2017-05-12 08:29:03 +0200
committerRobert2017-05-12 08:29:03 +0200
commita0eb6ea4e8f3ae56a691820a50958a4acf92bcb5 (patch)
treec14da433ba7754b01f47894f27d1a793cb3e6c6a
parentc007b5f1442b903948373337a6cc7d7d42364b41 (diff)
parent1f6fb9c73206f3984d2f942d5d16fb9c094b2164 (diff)
downloadchouette-core-a0eb6ea4e8f3ae56a691820a50958a4acf92bcb5.tar.bz2
Merge branch 'master' of github.com:af83/stif-boiv
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/index.js7
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js1
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js14
-rw-r--r--app/assets/javascripts/es6_browserified/time_tables/components/ExceptionsInDay.js4
-rw-r--r--app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js48
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js14
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js4
-rw-r--r--app/controllers/vehicle_journeys_controller.rb6
-rw-r--r--app/controllers/workbenches_controller.rb2
-rw-r--r--app/models/chouette/line.rb2
-rw-r--r--app/models/chouette/time_table.rb3
-rw-r--r--app/views/referentials/_filters.html.slim2
-rw-r--r--app/views/routes/show.html.slim6
-rw-r--r--config/locales/transport_modes.fr.yml1
-rw-r--r--spec/models/chouette/line_spec.rb8
-rw-r--r--spec/models/chouette/time_table_spec.rb5
-rw-r--r--spec/models/line_spec.rb9
17 files changed, 54 insertions, 82 deletions
diff --git a/app/assets/javascripts/es6_browserified/itineraries/index.js b/app/assets/javascripts/es6_browserified/itineraries/index.js
index 12a44e376..53f7bc7f9 100644
--- a/app/assets/javascripts/es6_browserified/itineraries/index.js
+++ b/app/assets/javascripts/es6_browserified/itineraries/index.js
@@ -5,6 +5,7 @@ var createStore = require('redux').createStore
var reducers = require('./reducers')
var App = require('./components/App')
var addInput = require('./form_helper')
+let datas = JSON.parse(decodeURIComponent(window.itinerary_stop))
// logger, DO NOT REMOVE
// var applyMiddleware = require('redux').applyMiddleware
@@ -14,7 +15,6 @@ var addInput = require('./form_helper')
const getInitialState = () => {
let state = []
- let datas = JSON.parse(decodeURIComponent(window.itinerary_stop))
datas.map(function(v, i) {
let fancyText = v.name.replace("'", "\'")
@@ -67,10 +67,7 @@ render(
document.querySelector('input[name=commit]').addEventListener('click', (event)=>{
let state = store.getState()
state.stopPoints.map((stopPoint, i) => {
- if (stopPoint.stoppoint_id == undefined){
- stopPoint.stoppoint_id = ""
- }
- addInput('id',stopPoint.stoppoint_id, i)
+ addInput('id', (datas[i]) ? datas[i].stoppoint_id : '', i)
addInput('stop_area_id',stopPoint.stoparea_id, i)
addInput('position',i, i)
addInput('for_boarding',stopPoint.for_boarding, i)
diff --git a/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js b/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js
index a1be73cd9..18fee8bd1 100644
--- a/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js
+++ b/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js
@@ -60,7 +60,6 @@ const stopPoints = (state = [], action) => {
case 'UPDATE_INPUT_VALUE':
return state.map( (t, i) => {
if (i === action.index) {
- updateFormForDeletion(t)
return _.assign(
{},
t,
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js
index 090e22721..ca266af08 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js
@@ -8,18 +8,10 @@ class SaveJourneyPattern extends Component{
super(props)
}
- componentDidUpdate(prevProps, prevState) {
- if(prevProps.status.isFetching == true){
- $(window).scrollTop(0);
- submitMover();
- }
- }
-
render() {
- if(this.props.status.isFetching == true || (this.props.status.policy['journey_patterns.edit'] == false)) {
+ if(this.props.status.policy['journey_patterns.edit'] == false) {
return false
- }
- if(this.props.status.fetchSuccess == true) {
+ }else{
return (
<div className='row mt-md'>
<div className='col-lg-12 text-right'>
@@ -38,8 +30,6 @@ class SaveJourneyPattern extends Component{
</div>
</div>
)
- } else {
- return false
}
}
}
diff --git a/app/assets/javascripts/es6_browserified/time_tables/components/ExceptionsInDay.js b/app/assets/javascripts/es6_browserified/time_tables/components/ExceptionsInDay.js
index e90099283..cc7980b22 100644
--- a/app/assets/javascripts/es6_browserified/time_tables/components/ExceptionsInDay.js
+++ b/app/assets/javascripts/es6_browserified/time_tables/components/ExceptionsInDay.js
@@ -17,7 +17,7 @@ class ExceptionsInDay extends Component {
<div className='td'>
<button
type='button'
- className='btn btn-circle'
+ className={'btn btn-circle' + (this.props.value.current_month[this.props.index].excluded_date ? ' active' : '')}
data-actiontype='remove'
onClick={(e) => {
$(e.currentTarget).toggleClass('active')
@@ -33,7 +33,7 @@ class ExceptionsInDay extends Component {
<div className='td'>
<button
type='button'
- className='btn btn-circle'
+ className={'btn btn-circle' + (this.props.value.current_month[this.props.index].include_date ? ' active' : '')}
data-actiontype='add'
onClick={(e) => {
$(e.currentTarget).toggleClass('active')
diff --git a/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js b/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js
index 98b355fcb..24c91f282 100644
--- a/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js
+++ b/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js
@@ -8,39 +8,25 @@ class SaveTimetable extends Component{
super(props)
}
- componentDidUpdate(prevProps, prevState) {
- if(prevProps.status.isFetching == true){
- $(window).scrollTop(0);
- submitMover();
- }
- }
-
render() {
- if(this.props.status.isFetching == true) {
- return false
- }
- if(this.props.status.fetchSuccess == true) {
- return (
- <div className='row mt-md'>
- <div className='col-lg-12 text-right'>
- <form className='time_tables formSubmitr ml-xs' onSubmit={e => {e.preventDefault()}}>
- <button
- className='btn btn-default'
- type='button'
- onClick={e => {
- e.preventDefault()
- actions.submitTimetable(this.props.dispatch, this.props.timetable, this.props.metas)
- }}
- >
- Valider
- </button>
- </form>
- </div>
+ return (
+ <div className='row mt-md'>
+ <div className='col-lg-12 text-right'>
+ <form className='time_tables formSubmitr ml-xs' onSubmit={e => {e.preventDefault()}}>
+ <button
+ className='btn btn-default'
+ type='button'
+ onClick={e => {
+ e.preventDefault()
+ actions.submitTimetable(this.props.dispatch, this.props.timetable, this.props.metas)
+ }}
+ >
+ Valider
+ </button>
+ </form>
</div>
- )
- } else {
- return false
- }
+ </div>
+ )
}
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js
index f494ab92b..27a82cf48 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js
@@ -8,18 +8,10 @@ class SaveVehicleJourneys extends Component{
super(props)
}
- componentDidUpdate(prevProps, prevState) {
- if(prevProps.status.isFetching == true) {
- $(window).scrollTop(0);
- submitMover();
- }
- }
-
render() {
- if(this.props.status.isFetching == true || this.props.filters.policy['vehicle_journeys.edit'] == false) {
+ if(this.props.filters.policy['vehicle_journeys.edit'] == false) {
return false
- }
- if(this.props.status.fetchSuccess == true) {
+ }else{
return (
<div className='row mt-md'>
<div className='col-lg-12 text-right'>
@@ -38,8 +30,6 @@ class SaveVehicleJourneys extends Component{
</div>
</div>
)
- } else {
- return false
}
}
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js
index bab6fa78f..f5e01de7c 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js
@@ -64,7 +64,7 @@ class DuplicateVehicleJourney extends Component {
<div className='col-lg-3 col-md-3 col-sm-3 col-xs-3'>
<div className='form-group'>
<label className='control-label is-required'>Horaire de départ</label>
- <span className={'input-group time'}>
+ <span className={'input-group time' + (actions.getSelected(this.props.vehicleJourneys).length > 1 ? ' disabled' : '')}>
<input
type='number'
ref='duplicate_time_hh'
@@ -72,6 +72,7 @@ class DuplicateVehicleJourney extends Component {
max='23'
className='form-control'
defaultValue={this.getDefaultValue('hour')}
+ disabled={(actions.getSelected(this.props.vehicleJourneys).length > 1 ? 'disabled' : '')}
/>
<span>:</span>
<input
@@ -81,6 +82,7 @@ class DuplicateVehicleJourney extends Component {
max='59'
className='form-control'
defaultValue={this.getDefaultValue('minute')}
+ disabled={(actions.getSelected(this.props.vehicleJourneys).length > 1 ? 'disabled' : '')}
/>
</span>
</div>
diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb
index 316652ca2..a44a03886 100644
--- a/app/controllers/vehicle_journeys_controller.rb
+++ b/app/controllers/vehicle_journeys_controller.rb
@@ -80,8 +80,10 @@ class VehicleJourneysController < ChouetteController
scope = route.vehicle_journeys.with_stops
@q = scope.search filtered_ransack_params
- grouping = ransack_periode_filter
- @q.build_grouping(grouping) if grouping
+
+ # Fixme 3358
+ # grouping = ransack_periode_filter
+ # @q.build_grouping(grouping) if grouping
@ppage = 20
@vehicle_journeys = @q.result.paginate(:page => params[:page], :per_page => @ppage)
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb
index d621a28d7..ccd55965b 100644
--- a/app/controllers/workbenches_controller.rb
+++ b/app/controllers/workbenches_controller.rb
@@ -68,7 +68,7 @@ class WorkbenchesController < BreadcrumbController
def ransack_periode scope
return scope unless params[:q] && params[:q]['validity_period']
periode = params[:q]['validity_period']
- return scope if periode['end_lteq(1i)'].empty? || periode['begin_gteq(1i)'].empty?
+ return scope if periode['end_lteq(1i)'].blank? || periode['begin_gteq(1i)'].blank?
begin_range = Date.civil(periode["begin_gteq(1i)"].to_i, periode["begin_gteq(2i)"].to_i, periode["begin_gteq(3i)"].to_i)
end_range = Date.civil(periode["end_lteq(1i)"].to_i, periode["end_lteq(2i)"].to_i, periode["end_lteq(3i)"].to_i)
diff --git a/app/models/chouette/line.rb b/app/models/chouette/line.rb
index 075bb3a08..33a2fbb00 100644
--- a/app/models/chouette/line.rb
+++ b/app/models/chouette/line.rb
@@ -73,7 +73,7 @@ class Chouette::Line < Chouette::ActiveRecord
end
def display_name
- [objectid.local_id, name, company.try(:name)].compact.join(' - ')
+ [objectid.local_id, number, name, company.try(:name)].compact.join(' - ')
end
def companies
diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb
index 37f609163..60684411a 100644
--- a/app/models/chouette/time_table.rb
+++ b/app/models/chouette/time_table.rb
@@ -551,8 +551,9 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord
def duplicate
tt = self.deep_clone :include => [:periods, :dates], :except => :object_version
tt.uniq_objectid
+ tt.tag_list.add(*self.tag_list) unless self.tag_list.empty?
tt.created_from = self
- tt.comment = I18n.t("activerecord.copy", :name => self.comment)
+ tt.comment = I18n.t("activerecord.copy", :name => self.comment)
tt
end
end
diff --git a/app/views/referentials/_filters.html.slim b/app/views/referentials/_filters.html.slim
index 1ed0939ff..4b09ce1a6 100644
--- a/app/views/referentials/_filters.html.slim
+++ b/app/views/referentials/_filters.html.slim
@@ -9,7 +9,7 @@
.ffg-row
.form-group.togglable
= f.label @reflines.human_attribute_name(:transport_mode), required: false, class: 'control-label'
- = f.input :transport_mode_eq_any, collection: LineReferential.first.transport_modes, as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + t("transport_modes.label.#{l}") + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list' }
+ = f.input :transport_mode_eq_any, collection: @referential.lines.pluck(:transport_mode).uniq.compact, as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + t("enumerize.line.transport_mode.#{l}") + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list' }
.form-group.togglable
= f.label @reflines.human_attribute_name(:network), required: false, class: 'control-label'
diff --git a/app/views/routes/show.html.slim b/app/views/routes/show.html.slim
index 2bdf78119..7ab628690 100644
--- a/app/views/routes/show.html.slim
+++ b/app/views/routes/show.html.slim
@@ -3,14 +3,14 @@
@route.name,
'Lorem ipsum dolor sit amet',
t('last_update', time: l(@route.updated_at, format: :short)),
- (policy(@route).edit? ? link_to(t('actions.edit'), edit_referential_line_route_path(@referential, @line, @route), class: 'btn btn-default') : '') do
+ (policy(@route).edit? ? link_to(t('actions.edit'), edit_referential_line_route_path(@referential, @line, @route), data: {turbolinks: false}, class: 'btn btn-default') : '') do
/ Below is secundary actions & optional contents (filters, ...)
.row.mb-sm
.col-lg-12.text-right
- = link_to t('journey_patterns.index.title'), [@referential, @line, @route, :journey_patterns_collection], class: 'btn btn-primary'
+ = link_to t('journey_patterns.index.title'), [@referential, @line, @route, :journey_patterns_collection], data: {turbolinks: false}, class: 'btn btn-primary'
- if @route.journey_patterns.present?
- = link_to t('vehicle_journeys.actions.index'), [@referential, @line, @route, :vehicle_journeys], class: 'btn btn-primary'
+ = link_to t('vehicle_journeys.actions.index'), [@referential, @line, @route, :vehicle_journeys], data: {turbolinks: false}, class: 'btn btn-primary'
= link_to t('vehicle_journey_exports.new.title'), referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, format: :zip), class: 'btn btn-primary'
diff --git a/config/locales/transport_modes.fr.yml b/config/locales/transport_modes.fr.yml
index e889d59f6..13d037815 100644
--- a/config/locales/transport_modes.fr.yml
+++ b/config/locales/transport_modes.fr.yml
@@ -1,3 +1,4 @@
+# Deprecated, to remove (see #3324)
fr:
transport_modes:
name: "Mode de transport"
diff --git a/spec/models/chouette/line_spec.rb b/spec/models/chouette/line_spec.rb
index ac9b2c6cd..5a339e7ed 100644
--- a/spec/models/chouette/line_spec.rb
+++ b/spec/models/chouette/line_spec.rb
@@ -3,6 +3,7 @@ require 'spec_helper'
describe Chouette::Line, :type => :model do
subject { create(:line) }
+ it { is_expected.to belong_to(:line_referential) }
# it { is_expected.to validate_presence_of :network }
# it { is_expected.to validate_presence_of :company }
@@ -12,6 +13,13 @@ describe Chouette::Line, :type => :model do
# it { should validate_presence_of :objectid }
it { is_expected.to validate_uniqueness_of :objectid }
+ describe '#display_name' do
+ it 'should display local_id, number, name and company name' do
+ display_name = "#{subject.objectid.local_id} - #{subject.number} - #{subject.name} - #{subject.company.try(:name)}"
+ expect(subject.display_name).to eq(display_name)
+ end
+ end
+
describe '#objectid' do
subject { super().objectid }
it { is_expected.to be_kind_of(Chouette::NetexObjectId) }
diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb
index 18d76e805..1d0fa8585 100644
--- a/spec/models/chouette/time_table_spec.rb
+++ b/spec/models/chouette/time_table_spec.rb
@@ -1363,6 +1363,11 @@ end
end
describe "#duplicate" do
+ it 'should also copy tags' do
+ subject.tag_list.add('tag1', 'tag2')
+ expect(subject.duplicate.tag_list).to include('tag1', 'tag2')
+ end
+
it "should be a copy of" do
target=subject.duplicate
expect(target.id).to be_nil
diff --git a/spec/models/line_spec.rb b/spec/models/line_spec.rb
deleted file mode 100644
index 259c7035a..000000000
--- a/spec/models/line_spec.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-require 'spec_helper'
-
-describe Chouette::Line, type: :model do
-
- subject { create(:line) }
-
- it { is_expected.to belong_to(:line_referential) }
-
-end