From 424883ae93ce193030b545a2f5bea2c70af7bf57 Mon Sep 17 00:00:00 2001 From: Adam McNevin Date: Fri, 3 Apr 2026 07:08:06 -0700 Subject: [PATCH 1/3] limit selected content types in upgrade profile --- castle/cms/upgrades/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/castle/cms/upgrades/__init__.py b/castle/cms/upgrades/__init__.py index d266153f6..3a23d26cf 100644 --- a/castle/cms/upgrades/__init__.py +++ b/castle/cms/upgrades/__init__.py @@ -7,7 +7,6 @@ from Products.CMFPlone.resources.browser.cook import cookWhenChangingSettings from Products.CMFCore.utils import getToolByName from zope.interface import noLongerProvides -from OFS.interfaces import IItem import plone.api as api @@ -150,6 +149,9 @@ def upgrade_3011(site, logger=CASTLE_LOGGER): upgrade_3020a = default_upgrade_factory('3020') def upgrade_3020b(context): catalog = getToolByName(context, 'portal_catalog') - for brain in catalog(): + for brain in catalog(portal_type=['Document', 'Folder', 'News Item', 'Event']): obj = brain.getObject() + richtext = getattr(obj, 'text', None) + if not richtext: + continue catalog.catalog_object(obj, idxs=[]) From 312a47846d188d3754edbb7fce4a41559a3c05af Mon Sep 17 00:00:00 2001 From: Adam McNevin Date: Fri, 3 Apr 2026 07:09:42 -0700 Subject: [PATCH 2/3] update changelog --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 05cf0d867..00191cc99 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,7 +4,7 @@ Changelog 3.2.1 (unreleased) ------------------ -- Nothing changed yet. +- restrict full content querylisting display to specific content types 3.2.0 (2026-03-30) From df3bee030cfb5fcfdf19ffee2b06c07564533bb0 Mon Sep 17 00:00:00 2001 From: Adam McNevin Date: Fri, 3 Apr 2026 07:30:25 -0700 Subject: [PATCH 3/3] batch transactions --- castle/cms/upgrades/__init__.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/castle/cms/upgrades/__init__.py b/castle/cms/upgrades/__init__.py index 3a23d26cf..1e6ba4c0d 100644 --- a/castle/cms/upgrades/__init__.py +++ b/castle/cms/upgrades/__init__.py @@ -7,6 +7,7 @@ from Products.CMFPlone.resources.browser.cook import cookWhenChangingSettings from Products.CMFCore.utils import getToolByName from zope.interface import noLongerProvides +import transaction import plone.api as api @@ -149,9 +150,15 @@ def upgrade_3011(site, logger=CASTLE_LOGGER): upgrade_3020a = default_upgrade_factory('3020') def upgrade_3020b(context): catalog = getToolByName(context, 'portal_catalog') - for brain in catalog(portal_type=['Document', 'Folder', 'News Item', 'Event']): + + for i, brain in enumerate(catalog( + portal_type=['Document', 'Folder', 'News Item', 'Event']) + ): obj = brain.getObject() richtext = getattr(obj, 'text', None) if not richtext: continue catalog.catalog_object(obj, idxs=[]) + if i % 10 == 0: + transaction.commit() + transaction.commit()