From 5188f41a3dda399d7a4d2afbf0a2fdca73e912eb Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Sat, 23 Jan 2016 00:20:11 +0100 Subject: [PATCH] fold summary and log if form has already been seen (#9175) --- wcs/forms/common.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/wcs/forms/common.py b/wcs/forms/common.py index fc758a2..28b1ee7 100644 --- a/wcs/forms/common.py +++ b/wcs/forms/common.py @@ -192,6 +192,16 @@ class FormStatusPage(Directory): return r.getvalue() + def deja_vu(self): + user = get_request().user + if not self.filled.evolution or not user: + return False + for evo in self.filled.evolution: + if (str(evo.who) == str(user.id) or + (evo.who == '_submitter' and self.filled.is_submitter(user))): + return True + return False + def _q_index(self): mine = self.check_auth() get_logger().info('form %s - id: %s - view' % (self.formdef.name, self.filled.id)) @@ -200,8 +210,9 @@ class FormStatusPage(Directory): r = TemplateIO(html=True) + deja_vu = self.deja_vu() r += self.receipt_message(mine=mine) - r += self.receipt() + r += self.receipt(deja_vu=deja_vu) r += self.history() form = None @@ -331,6 +342,7 @@ class FormStatusPage(Directory): r += htmltext('') r += htmltext('') + r += htmltext('') r += htmltext('') # .bo-block #evolution-log return r.getvalue() @@ -347,10 +359,7 @@ class FormStatusPage(Directory): raise errors.AccessForbiddenError() return user - def receipt(self, - always_include_user = False, - show_status = True, - form_url = ''): + def receipt(self, always_include_user=False, show_status=True, form_url='', deja_vu=False): user = get_request().user if not always_include_user and get_request().user and \ get_request().user.id == self.filled.user_id: @@ -372,7 +381,8 @@ class FormStatusPage(Directory): r = TemplateIO(html=True) r += htmltext('
') - r += htmltext('

%s

') % _('Summary') + r += htmltext('

%%s

' % + (' folded' if deja_vu else '')) % _('Summary') r += htmltext('
') if user: @@ -494,7 +504,8 @@ class FormStatusPage(Directory): r += htmltext(self.workflow_messages()) - r += self.receipt(always_include_user = True) + deja_vu = self.deja_vu() + r += self.receipt(always_include_user=True, deja_vu=deja_vu) r += self.history() -- 2.7.0