From e8141ef577784bc91ab4181c0363b8e2c0774170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Demont=C3=A9?= Date: Thu, 9 Jul 2026 15:36:09 +0200 Subject: [PATCH 1/2] URB-3702: Add cron4plone instruction for notice import --- news/URB-3702.feature | 2 ++ src/Products/urban/migration/update_290.py | 17 +++++++++++++++++ src/Products/urban/migration/upgrades_290.zcml | 8 ++++++++ .../urban/profiles/default/metadata.xml | 2 +- src/Products/urban/setuphandlers.py | 1 + 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 news/URB-3702.feature diff --git a/news/URB-3702.feature b/news/URB-3702.feature new file mode 100644 index 000000000..063d62c59 --- /dev/null +++ b/news/URB-3702.feature @@ -0,0 +1,2 @@ +Add cron4plone instruction for notice import +[daggelpop] \ No newline at end of file diff --git a/src/Products/urban/migration/update_290.py b/src/Products/urban/migration/update_290.py index 68458e604..353a3a841 100644 --- a/src/Products/urban/migration/update_290.py +++ b/src/Products/urban/migration/update_290.py @@ -3,6 +3,7 @@ from textwrap import dedent from Products.CMFCore.utils import getToolByName +from Products.cron4plone.browser.configlets.cron_configuration import ICronConfiguration from Products.urban import URBAN_TYPES from Products.urban import UrbanMessage as _ from Products.urban.contentrules.notice import INoticeImportFailedEvent @@ -20,6 +21,7 @@ from plone.registry import Record from plone.registry.interfaces import IRegistry from zope.component import getUtility +from zope.component import queryUtility from zope.event import notify import logging @@ -643,3 +645,18 @@ def normalize_externaldecisions_vocabulary(context): new_term = getattr(voc_folder, vocabulary_term) new_term.setDescription(DESCRIPTION) logger.info("Created missing vocabulary term: %s", vocabulary_term) + + +def setup_cron4plone_notice_import(context): + logger = logging.getLogger("urban: Setup cron4plone notice import") + + cron_cfg = queryUtility( + ICronConfiguration, name="cron4plone_config", context=api.portal.get() + ) + + line_to_add = u"0 * * * portal/@@import-from-notice" + if line_to_add not in cron_cfg.cronjobs: + new_list = list(cron_cfg.cronjobs) + [line_to_add] + cron_cfg.cronjobs = new_list + + logger.info("upgrade step done!") diff --git a/src/Products/urban/migration/upgrades_290.zcml b/src/Products/urban/migration/upgrades_290.zcml index 2d6de4540..de680b2cf 100644 --- a/src/Products/urban/migration/upgrades_290.zcml +++ b/src/Products/urban/migration/upgrades_290.zcml @@ -140,4 +140,12 @@ handler=".update_290.normalize_externaldecisions_vocabulary" profile="Products.urban:default" /> + + diff --git a/src/Products/urban/profiles/default/metadata.xml b/src/Products/urban/profiles/default/metadata.xml index 928bd4b6a..38b8c19af 100644 --- a/src/Products/urban/profiles/default/metadata.xml +++ b/src/Products/urban/profiles/default/metadata.xml @@ -1,6 +1,6 @@ - 2916 + 2918 profile-Products.urban:preinstall diff --git a/src/Products/urban/setuphandlers.py b/src/Products/urban/setuphandlers.py index c262bb7b7..44a01c20a 100644 --- a/src/Products/urban/setuphandlers.py +++ b/src/Products/urban/setuphandlers.py @@ -303,6 +303,7 @@ def addDefaultCronJobs(context): u"0 1 * * portal/@@mailings", u"0 2 * * portal/@@inquiry_radius", u"0 4 * * portal/@@claimants_import", + u"0 * * * portal/@@import-from-notice", ] From a2b7f733a89eda0b435d3eb149eaafc291c6f908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Demont=C3=A9?= Date: Thu, 9 Jul 2026 15:37:09 +0200 Subject: [PATCH 2/2] URB-3702: Switch NOTICe API default URL to production --- news/URB-3702.feature | 1 + src/Products/urban/browser/notice_settings.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/news/URB-3702.feature b/news/URB-3702.feature index 063d62c59..50422e0d2 100644 --- a/news/URB-3702.feature +++ b/news/URB-3702.feature @@ -1,2 +1,3 @@ Add cron4plone instruction for notice import +Switch NOTICe API default URL to production [daggelpop] \ No newline at end of file diff --git a/src/Products/urban/browser/notice_settings.py b/src/Products/urban/browser/notice_settings.py index 639e0df06..83b6f0162 100644 --- a/src/Products/urban/browser/notice_settings.py +++ b/src/Products/urban/browser/notice_settings.py @@ -16,7 +16,7 @@ class INoticeSettings(Interface): url = schema.URI( title=_("Webservice URL"), required=True, - default="https://api-staging.imio.be/spw/notice/v1/", + default="https://api.imio.be/spw/notice/v1/", ) municipality_id = schema.TextLine(