Skip to content

Commit 30cfb8b

Browse files
committed
Added session info size
1 parent 94c7b5e commit 30cfb8b

File tree

7 files changed

+34
-2
lines changed

7 files changed

+34
-2
lines changed

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ Changelog
2929
[chris-adam]
3030
- Added external watchers for esign sessions.
3131
[chris-adam, sgeulette]
32+
- Added session info size on quick look.
33+
[chris-adam]
3234

3335
1.0a2 (2026-02-06)
3436
------------------

src/imio/esign/browser/table.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from eea.facetednavigation.interfaces import IFacetedNavigable
44
from html import escape
55
from imio.esign import _
6+
from imio.esign.config import get_registry_max_session_size
67
from imio.esign.config import get_registry_seal_code
78
from imio.esign.config import get_registry_seal_email
89
from imio.esign.utils import get_state_description
@@ -112,11 +113,21 @@ class FilesColumn(Column):
112113
cssClasses = {"th": "th_header_sessions_documents",
113114
"td": "documents-column"}
114115

116+
def renderQuickLook(self, item):
117+
"""Renders quick look label including session size info"""
118+
quick_look_label = translate(_("Quick look"), context=self.request)
119+
max_size_mb = get_registry_max_session_size()
120+
max_size_bytes = max_size_mb * 1024 * 1024
121+
size_bytes = item.get("size", 0)
122+
size_mb = size_bytes / (1024.0 * 1024.0)
123+
size_style = u' style="color:red"' if size_bytes >= 0.8 * max_size_bytes else u''
124+
size_label = u"(%.2f Mb / %d Mb)" % (size_mb, max_size_mb)
125+
return u"%s <span%s>%s</span>" % (quick_look_label, size_style, size_label)
126+
115127
def renderCell(self, item):
116128
"""Render a collapsible block that loads the list on demand."""
117129
# Row identifier (unique per session)
118130
session_id = item.get("id")
119-
details_msg = translate(_("Quick look"), context=self.request)
120131
base_url = getattr(self.table, "portal_url", None)
121132
if not base_url:
122133
try:
@@ -134,7 +145,7 @@ def renderCell(self, item):
134145
u'<div class="collapsible-inner-content">'
135146
u'<img src="{1}/spinner_small.gif" />'
136147
u"</div></div>"
137-
).format(session_id, base_url, details_msg)
148+
).format(session_id, base_url, self.renderQuickLook(item))
138149

139150
return html
140151

src/imio/esign/browser/templates/session_files.pt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
<tal:none tal:condition="python:not files">
33
<span i18n:translate="">No files</span>
44
</tal:none>
5+
<p tal:condition="python: view.files_count >= 2"
6+
i18n:translate="">
7+
This session contains
8+
<strong tal:content="view/files_count" i18n:name="count">N</strong>
9+
element(s).
10+
</p>
511
<ol tal:condition="files">
612
<li tal:repeat="file files">
713
<tal:link tal:replace="structure python:view.get_file_link(file[0], file[1])">link</tal:link>

src/imio/esign/browser/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, context, request):
9393
def __call__(self):
9494
session_id = int(self.request.get("session_id"))
9595
session = self.get_session(session_id)
96+
self.files_count = len(session["files"])
9697
files = []
9798
for f in session["files"]:
9899
ctx = uuidToObject(f["context_uid"])

src/imio/esign/locales/en/LC_MESSAGES/imio.esign.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,10 @@ msgstr ""
186186
msgid "No files"
187187
msgstr ""
188188

189+
#: ../browser/templates/session_files.pt:5
190+
msgid "This session contains ${count} element(s)."
191+
msgstr ""
192+
189193
#: ../browser/views.py:171
190194
msgid "No files found to be sent ! Session ${id} not sent."
191195
msgstr ""

src/imio/esign/locales/fr/LC_MESSAGES/imio.esign.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,10 @@ msgstr "Non"
187187
msgid "No files"
188188
msgstr "Aucun fichier"
189189

190+
#: ../browser/templates/session_files.pt:5
191+
msgid "This session contains ${count} element(s)."
192+
msgstr "Cette session contient ${count} élément(s)."
193+
190194
#: ../browser/views.py:171
191195
msgid "No files found to be sent ! Session ${id} not sent."
192196
msgstr "Aucun fichier référencé n'a été trouvé ! La session ${id} n'a pas été envoyée."

src/imio/esign/locales/imio.esign.pot

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,10 @@ msgstr ""
186186
msgid "No files"
187187
msgstr ""
188188

189+
#: ../browser/templates/session_files.pt:5
190+
msgid "This session contains ${count} element(s)."
191+
msgstr ""
192+
189193
#: ../browser/views.py:171
190194
msgid "No files found to be sent ! Session ${id} not sent."
191195
msgstr ""

0 commit comments

Comments
 (0)