diff options
| author | cedricnjanga | 2017-08-29 14:49:02 +0200 |
|---|---|---|
| committer | cedricnjanga | 2017-08-29 14:57:53 +0200 |
| commit | 7869c9906fff1c13853d4a4a6ae4b367c64fb5d7 (patch) | |
| tree | eaef6fd850b7a27f97a935c21b4ae06c9f58e59e | |
| parent | aa8b39b2679a39cf3c93a8df314a4446fae7a6ae (diff) | |
| download | chouette-core-7869c9906fff1c13853d4a4a6ae4b367c64fb5d7.tar.bz2 | |
Refs #3367 Change Time table overlap query
| -rw-r--r-- | app/assets/javascripts/es6_browserified/time_tables/index.js | 12 | ||||
| -rw-r--r-- | app/assets/javascripts/es6_browserified/time_tables/reducers/modal.js | 2 | ||||
| -rw-r--r-- | app/models/chouette/time_table.rb | 6 |
3 files changed, 12 insertions, 8 deletions
diff --git a/app/assets/javascripts/es6_browserified/time_tables/index.js b/app/assets/javascripts/es6_browserified/time_tables/index.js index 9873f5532..a91747991 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/index.js +++ b/app/assets/javascripts/es6_browserified/time_tables/index.js @@ -6,10 +6,10 @@ var timeTablesApp = require('./reducers') var App = require('./containers/App') // logger, DO NOT REMOVE -var applyMiddleware = require('redux').applyMiddleware -var createLogger = require('redux-logger') -var thunkMiddleware = require('redux-thunk').default -var promise = require('redux-promise') +// var applyMiddleware = require('redux').applyMiddleware +// var createLogger = require('redux-logger') +// var thunkMiddleware = require('redux-thunk').default +// var promise = require('redux-promise') var initialState = { status: { @@ -58,12 +58,12 @@ var initialState = { confirmModal: {} } } -const loggerMiddleware = createLogger() +// const loggerMiddleware = createLogger() let store = createStore( timeTablesApp, initialState, - applyMiddleware(thunkMiddleware, promise, loggerMiddleware) + // applyMiddleware(thunkMiddleware, promise, loggerMiddleware) ) render( diff --git a/app/assets/javascripts/es6_browserified/time_tables/reducers/modal.js b/app/assets/javascripts/es6_browserified/time_tables/reducers/modal.js index 652b42449..c61296f1c 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/reducers/modal.js +++ b/app/assets/javascripts/es6_browserified/time_tables/reducers/modal.js @@ -27,7 +27,7 @@ const modal = (state = {}, action) => { newModalProps = _.assign({}, state.modalProps, {error: ''}) return _.assign({}, state, {type: ''}, {modalProps: newModalProps}) case 'CLOSE_PERIOD_FORM': - newModalProps = _.assign({}, state.modalProps, {active: false}) + newModalProps = _.assign({}, state.modalProps, {active: false, error: ""}) return _.assign({}, state, {modalProps: newModalProps}) case 'OPEN_EDIT_PERIOD_FORM': period_start = action.period.period_start.split('-') diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index 3f56f6a1d..8aff3bf36 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -22,7 +22,11 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord belongs_to :created_from, class_name: 'Chouette::TimeTable' scope :overlapping, -> (date_start, date_end) do - joins(:periods).where('(period_start, period_end) OVERLAPS (?, ?)', date_start, date_end) + joins(" + LEFT JOIN time_table_periods ON time_tables.id = time_table_periods.time_table_id + LEFT JOIN time_table_dates ON time_tables.id = time_table_dates.time_table_id + ") + .where("(time_table_periods.period_start <= :end AND time_table_periods.period_end >= :start) OR (time_table_dates.date BETWEEN :start AND :end)", {start: date_start, end: date_end}) end after_save :save_shortcuts |
