diff --git a/superset/assets/javascripts/explore/components/SaveModal.jsx b/superset/assets/javascripts/explore/components/SaveModal.jsx index 9de835381b2..2939f2ef664 100644 --- a/superset/assets/javascripts/explore/components/SaveModal.jsx +++ b/superset/assets/javascripts/explore/components/SaveModal.jsx @@ -108,7 +108,11 @@ class SaveModal extends React.Component { this.props.actions.saveSlice(saveUrl) .then((data) => { // Go to new slice url or dashboard url - window.location = data.slice.slice_url; + if (gotodash) { + window.location = data.dashboard; + } else { + window.location = data.slice.slice_url; + } }); this.props.onHide(); } diff --git a/superset/views/core.py b/superset/views/core.py index d0689976f84..23a3993c883 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -1194,16 +1194,18 @@ class Superset(BaseSupersetView): dash.slices.append(slc) db.session.commit() + response = { + "can_add": slice_add_perm, + "can_download": slice_download_perm, + "can_overwrite": is_owner(slc, g.user), + 'form_data': form_data, + 'slice': slc.data, + } + if request.args.get('goto_dash') == 'true': - return dash.url - else: - return json_success(json.dumps({ - "can_add": slice_add_perm, - "can_download": slice_download_perm, - "can_overwrite": is_owner(slc, g.user), - 'form_data': form_data, - 'slice': slc.data, - })) + response.update({'dashboard': dash.url}) + + return json_success(json.dumps(response)) def save_slice(self, slc): session = db.session()