102 self._handle_composite(rschema, role, divid, reload, formid, action) |
102 self._handle_composite(rschema, role, divid, reload, formid, action) |
103 else: |
103 else: |
104 self._handle_relation(rschema, role, divid, reload, formid, action) |
104 self._handle_relation(rschema, role, divid, reload, formid, action) |
105 |
105 |
106 def _handle_attribute(self, rschema, role, divid, reload, action): |
106 def _handle_attribute(self, rschema, role, divid, reload, action): |
107 value = self.entity.printable_value(rschema.type) |
107 rvid = self._rules.get('rvid', None) |
|
108 if rvid is not None: |
|
109 value = self._cw.view(rvid, entity=self.entity, rtype=rschema.type) |
|
110 else: |
|
111 value = self.entity.printable_value(rschema.type) |
108 if not self._should_edit_attribute(rschema): |
112 if not self._should_edit_attribute(rschema): |
109 self.w(value) |
113 self.w(value) |
110 return |
114 return |
111 form, renderer = self._build_form(self.entity, rschema, role, divid, 'base', reload, action) |
115 form, renderer = self._build_form(self.entity, rschema, role, divid, 'base', reload, action) |
112 value = value or self._compute_default_value(rschema, role) |
116 value = value or self._compute_default_value(rschema, role) |