diff --git a/Makefile b/Makefile index d46e42d75d..74e62e7ae6 100644 --- a/Makefile +++ b/Makefile @@ -63,10 +63,10 @@ build_stg: build_prod: docker build --network=host -t careem-redash . &&\ - docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:prod &&\ - docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:prod &&\ - docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:stg &&\ - docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:stg + docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:11.0.0 &&\ + docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:11.0.0 &&\ + docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:latest &&\ + docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:latest build_karl_stg: docker build -t karllchris/redash-stg . && docker push karllchris/redash-stg diff --git a/client/app/services/query-result.js b/client/app/services/query-result.js index b41f1e2148..499f26bba3 100644 --- a/client/app/services/query-result.js +++ b/client/app/services/query-result.js @@ -442,11 +442,11 @@ class QueryResult { return `${queryName.replace(/ /g, "_") + moment(this.getUpdatedAt()).format("_YYYY_MM_DD")}.${fileType}`; } - static getByQueryId(id, parameters, applyAutoLimit, maxAge) { + static getByQueryId(id, parameters, applyAutoLimit, maxAge, fromDashboard = false) { const queryResult = new QueryResult(); axios - .post(`api/queries/${id}/results`, { id, parameters, apply_auto_limit: applyAutoLimit, max_age: maxAge }) + .post(`api/queries/${id}/results`, { id, parameters, apply_auto_limit: applyAutoLimit, max_age: maxAge, from_dashboard: fromDashboard}) .then(response => { queryResult.update(response); diff --git a/client/app/services/query.js b/client/app/services/query.js index a8cf624cb8..828a78ba0e 100644 --- a/client/app/services/query.js +++ b/client/app/services/query.js @@ -131,9 +131,9 @@ export class Query { return this.queryResult; } - getQueryResult(maxAge) { + getQueryResult(maxAge, fromDashboard = false) { const execute = () => - QueryResult.getByQueryId(this.id, this.getParameters().getExecutionValues(), this.getAutoLimit(), maxAge); + QueryResult.getByQueryId(this.id, this.getParameters().getExecutionValues(), this.getAutoLimit(), maxAge, fromDashboard); return this.prepareQueryResultExecution(execute, maxAge); } diff --git a/client/app/services/widget.js b/client/app/services/widget.js index 1fc5d124db..d8c68b1d2f 100644 --- a/client/app/services/widget.js +++ b/client/app/services/widget.js @@ -159,7 +159,7 @@ class Widget { maxAge = force ? 0 : undefined; } - const queryResult = this.getQuery().getQueryResult(maxAge); + const queryResult = this.getQuery().getQueryResult(maxAge, true); this.queryResult = queryResult; queryResult diff --git a/redash/handlers/query_results.py b/redash/handlers/query_results.py index cb8b8d14f2..4ff9e0eee0 100644 --- a/redash/handlers/query_results.py +++ b/redash/handlers/query_results.py @@ -61,7 +61,7 @@ def error_response(message, http_status=400): def run_query( - query, parameters, data_source, query_id, should_apply_auto_limit, max_age=0 + query, parameters, data_source, query_id, should_apply_auto_limit, max_age=0, from_dashboard=False ): if data_source.paused: if data_source.pause_reason: @@ -123,6 +123,7 @@ def run_query( if current_user.is_api_user() else current_user.email, "query_id": query_id, + "Query_source": "Charts" if from_dashboard else "Query page", }, ) return serialize_job(job) @@ -285,6 +286,7 @@ def post(self, query_id): """ params = request.get_json(force=True, silent=True) or {} parameter_values = params.get("parameters", {}) + from_dashboard = params.get("from_dashboard", False) max_age = params.get("max_age", -1) # max_age might have the value of None, in which case calling int(None) will fail @@ -309,6 +311,7 @@ def post(self, query_id): query_id, should_apply_auto_limit, max_age, + from_dashboard ) else: if not query.parameterized.is_safe: