diff --git a/CHANGES.rst b/CHANGES.rst index a07baff..7975ae9 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,7 @@ Changelog 2.7.0 (unreleased) ------------------ +- #54 Fix all storage containers reindexed when other add-ons are upgraded - #53 Fix AttributeError for containers with more than 25 rows - #52 Migrate Storage Root Folder to DX - #51 JS->DX compatibility diff --git a/src/senaite/storage/subscribers/upgrade.py b/src/senaite/storage/subscribers/upgrade.py index 66f08cb..eedce9f 100644 --- a/src/senaite/storage/subscribers/upgrade.py +++ b/src/senaite/storage/subscribers/upgrade.py @@ -18,9 +18,12 @@ # Copyright 2019-2024 by it's authors. # Some rights reserved, see README and LICENSE. +from bika.lims.api import get_portal from senaite.storage import is_installed from senaite.storage import logger -from senaite.storage.setuphandlers import post_install +from senaite.storage import PRODUCT_NAME +from senaite.storage.setuphandlers import setup_catalogs +from senaite.storage.setuphandlers import setup_workflows def afterUpgradeStepHandler(event): @@ -28,7 +31,20 @@ def afterUpgradeStepHandler(event): """ if not is_installed(): return - logger.info("Run senaite.storage.afterUpgradeStepHandler ...") - setup = event.context - post_install(setup) - logger.info("Run senaite.storage.afterUpgradeStepHandler [DONE]") + + logger.info("Run {}.afterUpgradeStepHandler ...".format(PRODUCT_NAME)) + portal = get_portal() + setup = portal.portal_setup # noqa + + profile = "profile-{0}:default".format(PRODUCT_NAME) + setup.runImportStepFromProfile(profile, "typeinfo") + setup.runImportStepFromProfile(profile, "rolemap") + setup.runImportStepFromProfile(profile, "workflow") + + # Setup catalogs + setup_catalogs(portal) + + # Setup workflows + setup_workflows(portal) + + logger.info("Run {}.afterUpgradeStepHandler [DONE]".format(PRODUCT_NAME))