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. |