From 4872deeec1d8ab3a432cc69db4b33f87f25eb119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Puiggen=C3=A9?= Date: Tue, 26 Nov 2019 14:51:34 +0100 Subject: [PATCH] Worksheet removal results in 404 --- CHANGES.rst | 1 + .../profiles/default/cmfformcontroller.xml | 12 ----------- bika/lims/setuphandlers.py | 21 +++++++++++++++++++ bika/lims/upgrade/v01_03_003.py | 5 +++++ 4 files changed, 27 insertions(+), 12 deletions(-) delete mode 100644 bika/lims/profiles/default/cmfformcontroller.xml diff --git a/CHANGES.rst b/CHANGES.rst index db82b53154..4bb7806e93 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -18,6 +18,7 @@ Changelog **Fixed** +- #1480 Worksheet removal results in 404 - #1475 User with "Analyst" role cannot submit analyses from worksheet - #1474 Adding Control Reference to Worksheet causes print fail - #1473 Hidden settings of analysis services lost on Sample creation diff --git a/bika/lims/profiles/default/cmfformcontroller.xml b/bika/lims/profiles/default/cmfformcontroller.xml deleted file mode 100644 index 6c76a16a0c..0000000000 --- a/bika/lims/profiles/default/cmfformcontroller.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/bika/lims/setuphandlers.py b/bika/lims/setuphandlers.py index 7390a44a24..f735ee1a27 100644 --- a/bika/lims/setuphandlers.py +++ b/bika/lims/setuphandlers.py @@ -356,6 +356,9 @@ def setup_handler(context): # Run after all catalogs have been setup setup_auditlog_catalog(portal) + # Set CMF Form actions + setup_form_controller_actions(portal) + logger.info("SENAITE setup handler [DONE]") @@ -533,3 +536,21 @@ def setup_auditlog_catalog(portal): at.setCatalogsByType(portal_type, new_catalogs) logger.info("*** Adding catalog '{}' for '{}'".format( catalog_id, portal_type)) + + +def setup_form_controller_actions(portal): + """Setup custom CMF Form actions + """ + logger.info("*** Setup Form Controller custom actions ***") + fc_tool = api.get_tool("portal_form_controller") + + # Redirect the user to Worksheets listing view after the "remove" action + # from inside Worksheet context is pressed + # https://github.com/senaite/senaite.core/pull/1480 + fc_tool.addFormAction( + object_id="content_status_modify", + status="success", + context_type="Worksheet", + button=None, + action_type="redirect_to", + action_arg="python:object.aq_inner.aq_parent.absolute_url()") diff --git a/bika/lims/upgrade/v01_03_003.py b/bika/lims/upgrade/v01_03_003.py index 07e4d8964c..e005b91bd8 100644 --- a/bika/lims/upgrade/v01_03_003.py +++ b/bika/lims/upgrade/v01_03_003.py @@ -20,6 +20,7 @@ from bika.lims import logger from bika.lims.config import PROJECTNAME as product +from bika.lims.setuphandlers import setup_form_controller_actions from bika.lims.upgrade import upgradestep from bika.lims.upgrade.utils import UpgradeUtils @@ -46,5 +47,9 @@ def upgrade(tool): # https://github.com/senaite/senaite.core/pull/1469 setup.runImportStepFromProfile(profile, "propertiestool") + # Redirect to worksheets folder when a Worksheet is removed + # https://github.com/senaite/senaite.core/pull/1480 + setup_form_controller_actions(portal) + logger.info("{0} upgraded to version {1}".format(product, version)) return True