diff --git a/caravel/assets/javascripts/SqlLab/components/QueryLog.jsx b/caravel/assets/javascripts/SqlLab/components/QueryLog.jsx new file mode 100644 index 00000000000..bc83a4627c6 --- /dev/null +++ b/caravel/assets/javascripts/SqlLab/components/QueryLog.jsx @@ -0,0 +1,51 @@ +import React from 'react'; + +import { connect } from 'react-redux'; +import { bindActionCreators } from 'redux'; +import * as Actions from '../actions'; + +import QueryTable from './QueryTable'; +import { Alert } from 'react-bootstrap'; + +class QueryLog extends React.Component { + render() { + const activeQeId = this.props.tabHistory[this.props.tabHistory.length - 1]; + const queries = this.props.queries.filter((q) => (q.sqlEditorId === activeQeId)); + if (queries.length > 0) { + return ( + + ); + } + return ( + + No query history yet... + + ); + } +} +QueryLog.defaultProps = { + queries: [], +}; + +QueryLog.propTypes = { + queries: React.PropTypes.array, + tabHistory: React.PropTypes.array, + actions: React.PropTypes.object, +}; + +function mapStateToProps(state) { + return { + queries: state.queries, + tabHistory: state.tabHistory, + }; +} +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators(Actions, dispatch), + }; +} + +export default connect(mapStateToProps, mapDispatchToProps)(QueryLog); diff --git a/caravel/views.py b/caravel/views.py index 57010c95744..1aae429c054 100755 --- a/caravel/views.py +++ b/caravel/views.py @@ -1396,6 +1396,7 @@ class Caravel(BaseCaravelView): sql = request.form.get('sql') database_id = request.form.get('database_id') schema = request.form.get('schema') + mydb = session.query(models.Database).filter_by(id=database_id).first() if not (self.can_access( 'all_datasource_access', 'all_datasource_access') or