From 752bad82eaa1a4f2e95e8bfeca5f090888a31059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 13 Jul 2017 11:29:45 +0200 Subject: [PATCH 2/2] formdata: move formdata journal methods from view to model (#17601) --- wcs/formdata.py | 19 +++++++++++++++++-- wcs/forms/common.py | 26 ++++++-------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/wcs/formdata.py b/wcs/formdata.py index b6b0fab0..3d4964b0 100644 --- a/wcs/formdata.py +++ b/wcs/formdata.py @@ -143,10 +143,18 @@ class Evolution(object): return self._formdata def get_author_name(self): + user_id = self.who if self.who == '_submitter': + user_id = self.formdata.user_id + try: + return get_publisher().user_class.get(user_id).display_name + except KeyError: + return None + + def get_author_qualification(self): + if self.who == '_submitter' and not self.formdata.is_submitter(get_request().user): return _('Original Submitter') - else: - return get_publisher().user_class.get(self.who).display_name + return None def add_part(self, part): if not self.parts: @@ -196,6 +204,13 @@ class Evolution(object): del odict['_formdata'] return odict + def is_hidden(self): + if self.status: + wf_status = self.formdata.get_status(self.status) + if wf_status and not wf_status.is_visible(self.formdata, get_request().user): + return True + return False + class FormData(StorableObject): _names = 'XX' diff --git a/wcs/forms/common.py b/wcs/forms/common.py index 6397c721..d314491b 100644 --- a/wcs/forms/common.py +++ b/wcs/forms/common.py @@ -258,17 +258,13 @@ class FormStatusPage(Directory): hidden = False previous_status = None for evo in self.filled.evolution: + if evo.is_hidden(): + continue status_css_class = '' if evo.status: wf_status = self.filled.get_status(evo.status) if wf_status: status_css_class = wf_status.extra_css_class - if wf_status and not wf_status.is_visible(self.filled, get_request().user): - hidden = True - else: - hidden = False - if hidden: - continue evo_author = None evo_author_more = None @@ -276,21 +272,11 @@ class FormStatusPage(Directory): if evo.who: if evo.who == '_submitter': klass = 'msg-in' - evo_author = _('Original Submitter') - if get_request().user and self.filled.is_submitter(get_request().user): - evo_author = get_request().user.display_name - elif self.filled.user_id: - try: - evo_author = get_publisher().user_class.get(self.filled.user_id).display_name - evo_author_more = _('(Original Submitter)') - except KeyError: - pass + evo_author = evo.get_author_name() + evo_author_more = evo.get_author_qualification() else: klass = 'msg-out' - try: - evo_author = evo.get_author_name() - except KeyError: - pass + evo_author = evo.get_author_name() status_block = TemplateIO(html=True) if evo.status: @@ -305,7 +291,7 @@ class FormStatusPage(Directory): if evo_author: parts += htmltext('%s') % evo_author if evo_author_more: - parts += htmltext(' %s') % evo_author_more + parts += htmltext(' (%s)') % evo_author_more parts += htmltext('') if not evo.status: parts += htmltext('%s ') % misc.localstrftime(evo.time) -- 2.13.2