diff --git a/superset/views/core.py b/superset/views/core.py index 9cc564ea8f..2af85148c2 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -1033,6 +1033,15 @@ class Superset(BaseSupersetView): slc = db.session.query(models.Slice).filter_by(id=slice_id).first() slice_form_data = slc.form_data.copy() # allow form_data in request override slice from_data + # special treat for since/until and time_range parameter: + # we need to breakdown time_range into since/until so request parameters + # has precedence over slice parameters for time fields. + if 'time_range' in form_data: + form_data['since'], separator, form_data['until'] = \ + form_data['time_range'].partition(' : ') + if 'time_range' in slice_form_data: + slice_form_data['since'], separator, slice_form_data['until'] = \ + slice_form_data['time_range'].partition(' : ') slice_form_data.update(form_data) form_data = slice_form_data