web/views/editforms.py
branchstable
changeset 2331 4c02a761d879
parent 2330 8c70ca715fe9
child 2332 b04d80f19075
equal deleted inserted replaced
2330:8c70ca715fe9 2331:4c02a761d879
   107         rschema = self.schema.rschema(rtype)
   107         rschema = self.schema.rschema(rtype)
   108         entity = self.entity(row, col)
   108         entity = self.entity(row, col)
   109         if not default:
   109         if not default:
   110             default = xml_escape(self.req._('<no value>'))
   110             default = xml_escape(self.req._('<no value>'))
   111         if rschema.is_final():
   111         if rschema.is_final():
   112             value = entity.printable_value(rtype)
   112             value = entity.printable_value(rtype) or default
   113             value = value.strip() or default
       
   114             if not entity.has_perm('update'):
   113             if not entity.has_perm('update'):
   115                 self.w(value)
   114                 self.w(value)
   116                 return
   115                 return
   117         else:
   116         else:
   118             rset = entity.related(rtype, role)
   117             rset = entity.related(rtype, role)
   119             candidate = self.view(rvid, rset, 'null').strip()
   118             candidate = self.view(rvid, rset, 'null')
   120             if candidate and escape:
   119             if candidate and escape:
   121                 value = xml_escape(candidate)
   120                 value = xml_escape(candidate)
   122             value = candidate or default
   121             value = candidate or default
   123         # check perms.
   122         # check perms.
   124         if role == 'subject'and not rschema.has_perm(self.req, 'add',
   123         if role == 'subject'and not rschema.has_perm(self.req, 'add',
   145                                       table_class='', button_bar_class='buttonbar',
   144                                       table_class='', button_bar_class='buttonbar',
   146                                       display_progress_div=False)
   145                                       display_progress_div=False)
   147         self.w(form.form_render(renderer=renderer))
   146         self.w(form.form_render(renderer=renderer))
   148 
   147 
   149     def _build_relation_form(self, entity, value, rtype, role, row, col, rvid, default, escape, lzone):
   148     def _build_relation_form(self, entity, value, rtype, role, row, col, rvid, default, escape, lzone):
   150         print rvid, escape
       
   151         divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid))
   149         divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid))
   152         event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid,
   150         event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : rvid,
   153                       'default' : default, 'role' : role, 'escape' : escape, 'lzone' : lzone}
   151                       'default' : default, 'role' : role, 'escape' : escape, 'lzone' : lzone}
   154         onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', "
   152         onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', "
   155                     "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s', '%(escape)s', '%(lzone)s');"
   153                     "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s', '%(escape)s', '%(lzone)s');"