Projet

Général

Profil

0001-fold-summary-and-log-if-form-has-already-been-seen-9.patch

Thomas Noël, 05 février 2016 12:00

Télécharger (2,67 ko)

Voir les différences:

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(-)
wcs/forms/common.py
192 192

  
193 193
        return r.getvalue()
194 194

  
195
    def deja_vu(self):
196
        '''
197
        In backoffice, returns True if the form has already been seen by
198
        the connected user, i.e. if the user is present in evolution.
199
        '''
200
        if not get_request().is_in_backoffice() or not self.filled.evolution:
201
            return False
202
        user_id = str(get_request().user.id)
203
        for evo in self.filled.evolution:
204
            if str(evo.who) == user_id:
205
                return True
206
        return False
207

  
195 208
    def _q_index(self):
196 209
        mine = self.check_auth()
197 210
        get_logger().info('form %s - id: %s - view' % (self.formdef.name, self.filled.id))
......
200 213

  
201 214
        r = TemplateIO(html=True)
202 215

  
216
        deja_vu = self.deja_vu()
203 217
        r += self.receipt_message(mine=mine)
204
        r += self.receipt()
218
        r += self.receipt(deja_vu=deja_vu)
205 219
        r += self.history()
206 220

  
207 221
        form = None
......
347 361
            raise errors.AccessForbiddenError()
348 362
        return user
349 363

  
350
    def receipt(self,
351
            always_include_user = False,
352
            show_status = True,
353
            form_url = ''):
364
    def receipt(self, always_include_user=False, show_status=True, form_url='', deja_vu=False):
354 365
        user = get_request().user
355 366
        if not always_include_user and get_request().user and \
356 367
                get_request().user.id == self.filled.user_id:
......
372 383

  
373 384
        r = TemplateIO(html=True)
374 385
        r += htmltext('<div class="bo-block" id="summary">')
375
        r += htmltext('<h2 class="foldable">%s</h2>') % _('Summary')
386
        r += htmltext('<h2 class="foldable%s">%%s</h2>' %
387
                      (' folded' if deja_vu else '')) % _('Summary')
376 388
        r += htmltext('<div class="dataview">')
377 389

  
378 390
        if user:
......
494 506

  
495 507
        r += htmltext(self.workflow_messages())
496 508

  
497
        r += self.receipt(always_include_user = True)
509
        deja_vu = self.deja_vu()
510
        r += self.receipt(always_include_user=True, deja_vu=deja_vu)
498 511

  
499 512
        r += self.history()
500 513

  
501
-