From 8de699b5efb54f36114ed3731ea8e74f804ec869 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 | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/wcs/forms/common.py b/wcs/forms/common.py index fc758a2..213a0ef 100644 --- a/wcs/forms/common.py +++ b/wcs/forms/common.py @@ -192,6 +192,19 @@ class FormStatusPage(Directory): return r.getvalue() + def deja_vu(self): + ''' + In backoffice, returns True if the form has already been seen by + the connected user, i.e. if the user is present in evolution. + ''' + if not get_request().is_in_backoffice() or not self.filled.evolution: + return False + user_id = str(get_request().user.id) + for evo in self.filled.evolution: + if str(evo.who) == user_id: + 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 +213,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 @@ -347,10 +361,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 +383,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 +506,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