web/views/editforms.py
branchstable
changeset 2361 8f00836580f1
parent 2345 16e3d0e47ee6
child 2365 9f5e911eab07
--- a/web/views/editforms.py	Thu Jul 09 16:44:34 2009 +0200
+++ b/web/views/editforms.py	Thu Jul 09 17:16:49 2009 +0200
@@ -17,7 +17,7 @@
 
 from cubicweb.selectors import (match_kwargs, one_line_rset, non_final_entity,
                                 specified_etype_implements, yes)
-from cubicweb.utils import make_uid, compute_cardinality
+from cubicweb.utils import make_uid, compute_cardinality, get_schema_property
 from cubicweb.view import EntityView
 from cubicweb.common import tags
 from cubicweb.web import INTERNAL_FIELD_VALUE, stdmsgs, eid_param
@@ -137,6 +137,10 @@
             elif role == 'object' and not rschema.has_perm(self.req, 'add',
                                                            toeid=entity.eid):
                 return self.w(value)
+            elif get_schema_property(entity.e_schema,
+                                   entity.schema.rschema(rtype),
+                                   role, 'composite'):
+                return self.w(value)
             form = self._build_relation_form(entity, value, rtype, role, reload, row, col,
                                              rvid, default, landing_zone)
         renderer = self.vreg.select_object('formrenderers', 'base', self.req,