Skip to content

Commit 343e978

Browse files
committed
Session size is now always correct as it is update on add/edit/remove annex
Adapted call to get_sessions_for to pass readonly=False as we update size when annex modified
1 parent f9cef7c commit 343e978

File tree

3 files changed

+5
-6
lines changed

3 files changed

+5
-6
lines changed

src/imio/esign/events.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def on_categorized_annex_updated(annex, event):
1010
if not old_values:
1111
return
1212

13-
sessions = get_sessions_for(event.parent.UID())
13+
sessions = get_sessions_for(event.parent.UID(), readonly=False)
1414
if not sessions:
1515
return
1616

@@ -24,7 +24,7 @@ def on_categorized_annex_updated(annex, event):
2424
break
2525
if update:
2626
annex_uid = annex.UID()
27-
for session in sessions:
27+
for session_id, session in sessions.items():
2828
# size
2929
size_diff = new_values['filesize'] - old_values['filesize']
3030
session['size'] += size_diff

src/imio/esign/tests/test_utils.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
from plone.namedfile.file import NamedBlobFile
3131
from plone.namedfile.file import NamedBlobImage
3232
from zope.annotation import IAnnotations
33+
from zope.event import notify
34+
from zope.lifecycleevent import ObjectModifiedEvent
3335

3436
import collective.iconifiedcategory
3537
import json
@@ -501,6 +503,7 @@ def test_add_files_already_exist_is_updated(self):
501503
# edit file, filename and content so size changed
502504
with open(os.path.join(os.path.dirname(__file__), "annex1.pdf"), "rb") as f:
503505
annex1.file = NamedBlobFile(data=f.read(), filename=u"new_annex1.pdf", contentType="application/pdf")
506+
notify(ObjectModifiedEvent(annex1))
504507
sid, session = add_files_to_session(signers, (annex1_uid,))
505508
self.assertEqual(sid, 0)
506509
self.assertEqual(len(session["files"]), 2)

src/imio/esign/utils.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,7 @@ def add_files_to_session(
9393
old_filename = path.splitext([fn for fn in session["files"]
9494
if fn['uid'] == uid][0]['filename'])[0]
9595
existing_files.remove(old_filename)
96-
# session size will be updated when removing file from session
97-
# so save it because it is already correct
98-
saved_size = session["size"]
9996
remove_files_from_session([uid], remove_empty_session=False)
100-
session["size"] = saved_size
10197

10298
filename, ext = path.splitext(annex.file.filename or "no_filename.pdf")
10399
new_filename = get_correct_id(existing_files, filename)

0 commit comments

Comments
 (0)