web/formfields.py
changeset 5557 1a534c596bff
parent 5497 96fd339f7917
child 5676 aa04ccb8dd62
equal deleted inserted replaced
5556:9ab2b4c74baf 5557:1a534c596bff
   321             if form._cw.vreg.schema.rschema(self.name).final:
   321             if form._cw.vreg.schema.rschema(self.name).final:
   322                 if entity.has_eid() or self.name in entity:
   322                 if entity.has_eid() or self.name in entity:
   323                     value = getattr(entity, self.name)
   323                     value = getattr(entity, self.name)
   324                     if value is not None or not self.fallback_on_none_attribute:
   324                     if value is not None or not self.fallback_on_none_attribute:
   325                         return value
   325                         return value
   326             elif entity.has_eid() or entity.relation_cached(self.name, self.role):
   326             elif entity.has_eid() or entity.cw_relation_cached(self.name, self.role):
   327                 value = [r[0] for r in entity.related(self.name, self.role)]
   327                 value = [r[0] for r in entity.related(self.name, self.role)]
   328                 if value or not self.fallback_on_none_attribute:
   328                 if value or not self.fallback_on_none_attribute:
   329                     return value
   329                     return value
   330         return self.initial_typed_value(form, load_bytes)
   330         return self.initial_typed_value(form, load_bytes)
   331 
   331 
   397         """return MIME type used for the given (text or bytes) field"""
   397         """return MIME type used for the given (text or bytes) field"""
   398         if self.eidparam and self.role == 'subject':
   398         if self.eidparam and self.role == 'subject':
   399             entity = form.edited_entity
   399             entity = form.edited_entity
   400             if entity.e_schema.has_metadata(self.name, 'format') and (
   400             if entity.e_schema.has_metadata(self.name, 'format') and (
   401                 entity.has_eid() or '%s_format' % self.name in entity):
   401                 entity.has_eid() or '%s_format' % self.name in entity):
   402                 return form.edited_entity.attr_metadata(self.name, 'format')
   402                 return form.edited_entity.cw_attr_metadata(self.name, 'format')
   403         return form._cw.property_value('ui.default-text-format')
   403         return form._cw.property_value('ui.default-text-format')
   404 
   404 
   405     def encoding(self, form):
   405     def encoding(self, form):
   406         """return encoding used for the given (text) field"""
   406         """return encoding used for the given (text) field"""
   407         if self.eidparam:
   407         if self.eidparam:
   408             entity = form.edited_entity
   408             entity = form.edited_entity
   409             if entity.e_schema.has_metadata(self.name, 'encoding') and (
   409             if entity.e_schema.has_metadata(self.name, 'encoding') and (
   410                 entity.has_eid() or '%s_encoding' % self.name in entity):
   410                 entity.has_eid() or '%s_encoding' % self.name in entity):
   411                 return form.edited_entity.attr_metadata(self.name, 'encoding')
   411                 return form.edited_entity.cw_attr_metadata(self.name, 'encoding')
   412         return form._cw.encoding
   412         return form._cw.encoding
   413 
   413 
   414     def form_init(self, form):
   414     def form_init(self, form):
   415         """Method called at form initialization to trigger potential field
   415         """Method called at form initialization to trigger potential field
   416         initialization requiring the form instance. Do nothing by default.
   416         initialization requiring the form instance. Do nothing by default.