From b33d22c2243c552f4d1372bbe6b75e5fb097f567 Mon Sep 17 00:00:00 2001 From: Jed Cunningham <66968678+jedcunningham@users.noreply.github.com> Date: Wed, 9 Nov 2022 11:02:42 -0800 Subject: [PATCH] Replace FAB url filtering function with Airflows (#27576) Use our url filtering util function so there is consistency between FAB and Airflow routes. --- airflow/www/extensions/init_appbuilder.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/airflow/www/extensions/init_appbuilder.py b/airflow/www/extensions/init_appbuilder.py index 2a1ee904f8cd2..fd66314550653 100644 --- a/airflow/www/extensions/init_appbuilder.py +++ b/airflow/www/extensions/init_appbuilder.py @@ -215,6 +215,7 @@ def init_app(self, app, session): else: self.post_init() self._init_extension(app) + self._swap_url_filter() def _init_extension(self, app): app.appbuilder = self @@ -222,6 +223,17 @@ def _init_extension(self, app): app.extensions = {} app.extensions["appbuilder"] = self + def _swap_url_filter(self): + """ + Use our url filtering util function so there is consistency between + FAB and Airflow routes + """ + from flask_appbuilder.security import views as fab_sec_views + + from airflow.www.views import get_safe_url + + fab_sec_views.get_safe_redirect = get_safe_url + def post_init(self): for baseview in self.baseviews: # instantiate the views and add session