From a4870ee72a17b10885367a70c8be37b8f6a86108 Mon Sep 17 00:00:00 2001 From: Ramon Bartl Date: Mon, 27 Jul 2026 15:52:25 +0200 Subject: [PATCH 1/3] Fix Analyses field ignoring a plain list of analysis service UIDs --- docs/changelog.rst | 1 + src/senaite/jsonapi/fieldmanagers.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 7317cd2..a5976fa 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -15,6 +15,7 @@ Changelog applied. Uninstalling from the same panel removes the PAS plugin and the per-user JWT signing secrets. +- #104 Fix Analyses field ignoring a plain list of analysis service UIDs - #103 Allow updating the setup configuration objects - #102 Support DX Duration (Timedelta) fields via a field manager - #101 Encode AT string field values to native str before validation diff --git a/src/senaite/jsonapi/fieldmanagers.py b/src/senaite/jsonapi/fieldmanagers.py index 4b24d05..46ed310 100644 --- a/src/senaite/jsonapi/fieldmanagers.py +++ b/src/senaite/jsonapi/fieldmanagers.py @@ -678,10 +678,10 @@ def set(self, instance, value, **kw): uid = None if isinstance(item, dict): uid = item.get("uid") - if api.is_uid(value): + elif api.is_uid(item): uid = item if uid is None: - logger.warn("Could extract UID of value") + logger.warn("Could not extract UID from value %r", item) continue uids.append(uid) From db0475fce58f0d24f6dbfb02c0f7726872a0b94b Mon Sep 17 00:00:00 2001 From: Ramon Bartl Date: Mon, 27 Jul 2026 15:56:36 +0200 Subject: [PATCH 2/3] Assemble worksheets (layout + QC analyses) through the API --- docs/changelog.rst | 1 + src/senaite/jsonapi/configure.zcml | 13 +++ src/senaite/jsonapi/update.py | 170 +++++++++++++++++++++++++++++ 3 files changed, 184 insertions(+) create mode 100644 src/senaite/jsonapi/update.py diff --git a/docs/changelog.rst b/docs/changelog.rst index a5976fa..b7cebad 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -15,6 +15,7 @@ Changelog applied. Uninstalling from the same panel removes the PAS plugin and the per-user JWT signing secrets. +- #105 Assemble worksheets (layout + QC analyses) through the API - #104 Fix Analyses field ignoring a plain list of analysis service UIDs - #103 Allow updating the setup configuration objects - #102 Support DX Duration (Timedelta) fields via a field manager diff --git a/src/senaite/jsonapi/configure.zcml b/src/senaite/jsonapi/configure.zcml index cd6046e..d523003 100644 --- a/src/senaite/jsonapi/configure.zcml +++ b/src/senaite/jsonapi/configure.zcml @@ -141,6 +141,19 @@ factory=".datamanagers.DexterityDataManager" /> + + + + +