diff --git a/CHANGES.rst b/CHANGES.rst index b350c4ed28..c7ebfc9532 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,7 @@ Changelog 2.3.0 (unreleased) ------------------ +- #2083 Lookup workflow action redirect URL from request first - #2082 Include sample ID in form ID for lab, field and qc analyses listings - #2075 Allow to override logo and styles in new SENAITE Setup - #2076 Fix style of selected language in dropdown diff --git a/src/bika/lims/browser/workflow/__init__.py b/src/bika/lims/browser/workflow/__init__.py index 271a99f282..eedbeff87b 100644 --- a/src/bika/lims/browser/workflow/__init__.py +++ b/src/bika/lims/browser/workflow/__init__.py @@ -45,11 +45,21 @@ def redirect(self, redirect_url=None, message=None, level="info"): """Redirect with a message """ if redirect_url is None: - redirect_url = self.back_url + redirect_url = self.get_redirect_url() if message is not None: self.add_status_message(message, level) return self.request.response.redirect(redirect_url) + def get_redirect_url(self): + """Lookup the redirect URL + """ + # Allow to set redirect_url in the request + redirect_url = self.request.get("redirect_url") + if not redirect_url: + # fall back to view attribute + return self.back_url + return redirect_url + def add_status_message(self, message, level="info"): """Set a portal status message """