mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
[caching] Using request context rather than globals
This commit is contained in:
@@ -1715,9 +1715,13 @@ class Superset(BaseSupersetView):
|
||||
force=True,
|
||||
)
|
||||
|
||||
g.form_data = form_data
|
||||
payload = obj.get_payload()
|
||||
delattr(g, "form_data")
|
||||
# Temporarily define the form-data in the request context which may be
|
||||
# leveraged by the Jinja macros.
|
||||
with app.test_request_context(
|
||||
data={"form_data": json.dumps(form_data)}
|
||||
):
|
||||
payload = obj.get_payload()
|
||||
|
||||
error = payload["error"]
|
||||
status = payload["status"]
|
||||
except Exception as ex:
|
||||
|
||||
@@ -20,7 +20,7 @@ from typing import Any, Dict, List, Optional, Tuple
|
||||
from urllib import parse
|
||||
|
||||
import simplejson as json
|
||||
from flask import g, request
|
||||
from flask import request
|
||||
|
||||
import superset.models.core as models
|
||||
from superset import app, db, is_feature_enabled
|
||||
@@ -111,10 +111,6 @@ def get_form_data(
|
||||
if request_args_data:
|
||||
form_data.update(json.loads(request_args_data))
|
||||
|
||||
# Fallback to using the Flask globals (used for cache warmup) if defined.
|
||||
if not form_data and hasattr(g, "form_data"):
|
||||
form_data = getattr(g, "form_data")
|
||||
|
||||
url_id = request.args.get("r")
|
||||
if url_id:
|
||||
saved_url = db.session.query(models.Url).filter_by(id=url_id).first()
|
||||
|
||||
@@ -1312,19 +1312,3 @@ class UtilsTestCase(SupersetTestCase):
|
||||
)
|
||||
|
||||
self.assertEqual(slc, None)
|
||||
|
||||
def test_get_form_data_globals(self) -> None:
|
||||
with app.test_request_context():
|
||||
g.form_data = {"foo": "bar"}
|
||||
form_data, slc = get_form_data()
|
||||
delattr(g, "form_data")
|
||||
|
||||
self.assertEqual(
|
||||
form_data,
|
||||
{
|
||||
"foo": "bar",
|
||||
"time_range_endpoints": get_time_range_endpoints(form_data={}),
|
||||
},
|
||||
)
|
||||
|
||||
self.assertEqual(slc, None)
|
||||
|
||||
Reference in New Issue
Block a user