diff --git a/superset/assets/javascripts/dashboard/components/Controls.jsx b/superset/assets/javascripts/dashboard/components/Controls.jsx index 4248a6055f85b..09b8937e24263 100644 --- a/superset/assets/javascripts/dashboard/components/Controls.jsx +++ b/superset/assets/javascripts/dashboard/components/Controls.jsx @@ -43,7 +43,6 @@ class Controls extends React.PureComponent { } render() { const dashboard = this.props.dashboard; - const canSave = dashboard.dash_save_perm; const emailBody = `Checkout this dashboard: ${window.location.href}`; const emailLink = 'mailto:?Subject=Superset%20Dashboard%20' + `${dashboard.dashboard_title}&Body=${emailBody}`; @@ -81,11 +80,16 @@ class Controls extends React.PureComponent { onChange={this.changeCss.bind(this)} /> + @@ -93,14 +97,11 @@ class Controls extends React.PureComponent { dashboard={dashboard} css={this.state.css} triggerNode={ - + } /> - ); } diff --git a/superset/assets/javascripts/dashboard/components/SaveModal.jsx b/superset/assets/javascripts/dashboard/components/SaveModal.jsx index ade62bf6a47a7..88c8ad2089c05 100644 --- a/superset/assets/javascripts/dashboard/components/SaveModal.jsx +++ b/superset/assets/javascripts/dashboard/components/SaveModal.jsx @@ -107,7 +107,6 @@ class SaveModal extends React.PureComponent { { this.modal = modal; }} triggerNode={this.props.triggerNode} - isButton modalTitle="Save Dashboard" modalBody={ diff --git a/superset/views/core.py b/superset/views/core.py index 032d86155f219..8c442f0a393a3 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -1641,14 +1641,13 @@ def dashboard(**kwargs): # noqa dashboard_data = dash.data dashboard_data.update({ 'standalone_mode': request.args.get("standalone") == "true", + 'dash_save_perm': dash_save_perm, + 'dash_edit_perm': dash_edit_perm, }) bootstrap_data = { 'user_id': g.user.get_id(), - 'dash_save_perm': dash_save_perm, - 'dash_edit_perm': dash_edit_perm, - 'dash_edit_perm': check_ownership(dash, raise_if_false=False), - 'dashboard_data': dash.data, + 'dashboard_data': dashboard_data, 'datasources': {ds.uid: ds.data for ds in datasources}, }