183 |
183 |
|
184 |
184 |
return r.getvalue()
|
185 |
185 |
|
|
186 |
def deja_vu(self):
|
|
187 |
user = get_request().user
|
|
188 |
if not self.filled.evolution or not user:
|
|
189 |
return False
|
|
190 |
for evo in self.filled.evolution:
|
|
191 |
if evo.who == user.id or (evo.who == '_submitter' and self.filled.is_submitter(user)):
|
|
192 |
return True
|
|
193 |
return False
|
|
194 |
|
186 |
195 |
def _q_index(self):
|
187 |
196 |
mine = self.check_auth()
|
188 |
197 |
get_logger().info('form %s - id: %s - view' % (self.formdef.name, self.filled.id))
|
... | ... | |
191 |
200 |
|
192 |
201 |
r = TemplateIO(html=True)
|
193 |
202 |
|
|
203 |
deja_vu = self.deja_vu()
|
194 |
204 |
r += self.receipt_message(mine=mine)
|
195 |
|
r += self.receipt()
|
196 |
|
r += self.history()
|
|
205 |
r += self.receipt(deja_vu=deja_vu)
|
|
206 |
r += self.history(deja_vu=deja_vu)
|
197 |
207 |
|
198 |
208 |
form = None
|
199 |
209 |
|
... | ... | |
233 |
243 |
r += htmltext('</div>')
|
234 |
244 |
return r.getvalue()
|
235 |
245 |
|
236 |
|
def history(self):
|
|
246 |
def history(self, deja_vu=False):
|
237 |
247 |
if not self.filled.evolution:
|
238 |
248 |
return
|
239 |
249 |
if not self.formdef.is_user_allowed_read_status_and_history(get_request().user, self.filled):
|
240 |
250 |
return
|
241 |
251 |
r = TemplateIO(html=True)
|
242 |
252 |
r += htmltext('<div class="bo-block" id="evolution-log">')
|
243 |
|
r += htmltext('<h2 class="foldable">%s</h2>') % _('Log')
|
|
253 |
r += htmltext('<h2 class="foldable%s">%%s</h2>' % (deja_vu and ' folded' or '')) % _('Log')
|
244 |
254 |
r += htmltext('<ul id="evolutions">')
|
245 |
255 |
hidden = False
|
246 |
256 |
previous_status = None
|
... | ... | |
338 |
348 |
raise errors.AccessForbiddenError()
|
339 |
349 |
return user
|
340 |
350 |
|
341 |
|
def receipt(self,
|
342 |
|
always_include_user = False,
|
343 |
|
show_status = True,
|
344 |
|
form_url = ''):
|
|
351 |
def receipt(self, always_include_user=False, show_status=True, form_url='', deja_vu=False):
|
345 |
352 |
user = get_request().user
|
346 |
353 |
if not always_include_user and get_request().user and \
|
347 |
354 |
get_request().user.id == self.filled.user_id:
|
... | ... | |
363 |
370 |
|
364 |
371 |
r = TemplateIO(html=True)
|
365 |
372 |
r += htmltext('<div class="bo-block" id="summary">')
|
366 |
|
r += htmltext('<h2 class="foldable">%s</h2>') % _('Summary')
|
|
373 |
r += htmltext('<h2 class="foldable%s">%%s</h2>' %
|
|
374 |
(deja_vu and ' folded' or '')) % _('Summary')
|
367 |
375 |
r += htmltext('<div class="dataview">')
|
368 |
376 |
|
369 |
377 |
if user:
|
... | ... | |
483 |
491 |
'date': self.filled.anonymised.strftime(misc.date_format())}
|
484 |
492 |
r += htmltext('</div>')
|
485 |
493 |
|
486 |
|
r += self.receipt(always_include_user = True)
|
|
494 |
deja_vu = self.deja_vu()
|
|
495 |
r += self.receipt(always_include_user=True, deja_vu=deja_vu)
|
487 |
496 |
|
488 |
497 |
if self.formdef.workflow:
|
489 |
498 |
r += htmltext(self.filled.display_workflow_message())
|
490 |
499 |
|
491 |
|
r += self.history()
|
|
500 |
r += self.history(deja_vu=deja_vu)
|
492 |
501 |
|
493 |
502 |
if form:
|
494 |
503 |
r += form.render()
|
495 |
|
-
|