aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcedricnjanga2017-08-29 14:49:02 +0200
committercedricnjanga2017-08-29 14:57:53 +0200
commit7869c9906fff1c13853d4a4a6ae4b367c64fb5d7 (patch)
treeeaef6fd850b7a27f97a935c21b4ae06c9f58e59e
parentaa8b39b2679a39cf3c93a8df314a4446fae7a6ae (diff)
downloadchouette-core-7869c9906fff1c13853d4a4a6ae4b367c64fb5d7.tar.bz2
Refs #3367 Change Time table overlap query
-rw-r--r--app/assets/javascripts/es6_browserified/time_tables/index.js12
-rw-r--r--app/assets/javascripts/es6_browserified/time_tables/reducers/modal.js2
-rw-r--r--app/models/chouette/time_table.rb6
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