From 05e6fabc65dd11328b741a36df10a8f9a4c73271 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 27 May 2026 13:15:58 +0200 Subject: [PATCH] Improved file ordering in session --- CHANGES.rst | 2 ++ src/imio/esign/adapters.py | 10 ++++++++ src/imio/esign/configure.zcml | 5 ++++ src/imio/esign/interfaces.py | 9 +++++++ src/imio/esign/tests/test_adapters.py | 37 +++++++++++++++++++++++++++ src/imio/esign/utils.py | 3 ++- 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 src/imio/esign/tests/test_adapters.py diff --git a/CHANGES.rst b/CHANGES.rst index 7d2867d..1a90787 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -9,6 +9,8 @@ Changelog [chris-adam, sgeulette] - Added "Open Paraphéo" button on sessions listing view. [chris-adam] +- Improved file ordering in session. + [chris-adam] 1.0b8 (2026-05-08) ------------------ diff --git a/src/imio/esign/adapters.py b/src/imio/esign/adapters.py index a1118ba..16b2197 100644 --- a/src/imio/esign/adapters.py +++ b/src/imio/esign/adapters.py @@ -20,6 +20,16 @@ def get_context_uid(self): return None +class DefaultItemOrderProvider(object): + """Default adapter that orders items by their position in the context container.""" + + def __init__(self, context): + self.context = context + + def get_item_order(self): + return {a.UID(): idx for idx, a in enumerate(self.context.values())} + + class FilesBelongingToAGivenSession(object): def __init__(self, context): self.context = context diff --git a/src/imio/esign/configure.zcml b/src/imio/esign/configure.zcml index c3c62d8..4d41012 100644 --- a/src/imio/esign/configure.zcml +++ b/src/imio/esign/configure.zcml @@ -22,6 +22,11 @@ provides=".interfaces.IContextUidProvider" for="*" /> + +