web/formfields.py
changeset 4165 eb9acad29407
parent 4162 d2663bcf5306
child 4166 677e487e691a
equal deleted inserted replaced
4164:119a374c5eb4 4165:eb9acad29407
   431         # context dictionnary
   431         # context dictionnary
   432         req = form._cw
   432         req = form._cw
   433         try:
   433         try:
   434             return req.data[self]
   434             return req.data[self]
   435         except KeyError:
   435         except KeyError:
   436             fkwargs = {'eidparam': self.eidparam}
   436             fkwargs = {'eidparam': self.eidparam, 'role': self.role}
   437             if self.use_fckeditor(form):
   437             if self.use_fckeditor(form):
   438                 # if fckeditor is used and format field isn't explicitly
   438                 # if fckeditor is used and format field isn't explicitly
   439                 # deactivated, we want an hidden field for the format
   439                 # deactivated, we want an hidden field for the format
   440                 fkwargs['widget'] = HiddenInput()
   440                 fkwargs['widget'] = HiddenInput()
   441                 fkwargs['value'] = 'text/html'
   441                 fkwargs['value'] = 'text/html'
   821     else:
   821     else:
   822         targetschema = rdef.subject
   822         targetschema = rdef.subject
   823     card = rdef.role_cardinality(role)
   823     card = rdef.role_cardinality(role)
   824     kwargs['required'] = card in '1+'
   824     kwargs['required'] = card in '1+'
   825     kwargs['name'] = rschema.type
   825     kwargs['name'] = rschema.type
       
   826     kwargs['role'] = role
   826     if role == 'object':
   827     if role == 'object':
   827         kwargs.setdefault('label', (eschema.type, rschema.type + '_object'))
   828         kwargs.setdefault('label', (eschema.type, rschema.type + '_object'))
   828     else:
   829     else:
   829         kwargs.setdefault('label', (eschema.type, rschema.type))
   830         kwargs.setdefault('label', (eschema.type, rschema.type))
   830     kwargs['eidparam'] = True
   831     kwargs['eidparam'] = True
   856                 metaschema = eschema.has_metadata(rschema, metadata)
   857                 metaschema = eschema.has_metadata(rschema, metadata)
   857                 if metaschema is not None:
   858                 if metaschema is not None:
   858                     kwargs['%s_field' % metadata] = guess_field(eschema, metaschema,
   859                     kwargs['%s_field' % metadata] = guess_field(eschema, metaschema,
   859                                                                 skip_meta_attr=False)
   860                                                                 skip_meta_attr=False)
   860         return fieldclass(**kwargs)
   861         return fieldclass(**kwargs)
   861     kwargs['role'] = role
       
   862     return RelationField.fromcardinality(card, **kwargs)
   862     return RelationField.fromcardinality(card, **kwargs)
   863 
   863 
   864 
   864 
   865 FIELDS = {
   865 FIELDS = {
   866     'Boolean':  BooleanField,
   866     'Boolean':  BooleanField,