Beispiel #1
0
 def _do_view(self, env, req, form):
     data = {'_dgettext': dgettext}
     form_id = form.resource.id
     data['page_title'] = get_resource_description(env, form.resource,
                                                   href=req.href)
     data['title'] = get_resource_shortname(env, form.resource)
     # prime list with current state
     subcontext, author, time = self.get_tracform_meta(form_id)[3:6]
     author = format_author(self.env, req, author, 'change')
     if not subcontext == '':
         data['subcontext'] = subcontext
     state = self.get_tracform_state(form_id)
     data['fields'] = self._render_fields(req, form_id, state)
     history = [{'author': author, 'time': time,
                 'old_state': state}]
     # add recorded old_state
     records = self.get_tracform_history(form_id)
     for author, time, old_state in records:
         author = format_author(self.env, req, author, 'change')
         history.append({'author': author, 'time': time,
                         'old_state': old_state})
     data['history'] = parse_history(history)
     # show reset button in case of existing data and proper permission
     data['allow_reset'] = req.perm(form.resource) \
                           .has_permission('FORM_RESET') and form.has_data
     add_stylesheet(req, 'tracforms/tracforms.css')
     return 'form.html', data, None
Beispiel #2
0
 def _render_fields(self, req, form_id, state):
     fields = json.loads(state is not None and state or '{}')
     rendered = []
     for name, value in fields.iteritems():
         if value == 'on':
             value = _("checked (checkbox)")
         elif value == '':
             value = _("empty (text field)")
         elif isinstance(value, str):
             value = "'".join(['', value, ''])
         else:
             # Still try to display something useful instead of corrupting
             #   parent page beyond hope of recovery through the web_ui.
             value = "'".join(['', repr(value), ''])
         author, time = self.get_tracform_fieldinfo(form_id, name)
         author = format_author(self.env, req, author, 'value')
         rendered.append(
             {'name': name, 'value': value,
              'author': tag.span(tag(_("by %(author)s", author=author)),
                                 class_='author'),
              'time': time})
     return rendered
Beispiel #3
0
 def op_form_updater(self):
     return format_author(self.formatter.env, self.formatter.req,
                          self.form_updater)
Beispiel #4
0
 def op_who(self, field):
     # TRANSLATOR: Default updater name
     who = self.macro.get_tracform_fieldinfo(
             self.form_id is not None and self.form_id or self.context,
             field)[0] or _("unknown")
     return format_author(self.formatter.env, self.formatter.req, who)
Beispiel #5
0
 def op_form_updater(self):
     return format_author(self.formatter.env, self.formatter.req,
                          self.form_updater)
Beispiel #6
0
 def op_who(self, field):
     # TRANSLATOR: Default updater name
     who = self.macro.get_tracform_fieldinfo(
         self.form_id is not None and self.form_id or self.context,
         field)[0] or _("unknown")
     return format_author(self.formatter.env, self.formatter.req, who)