897 continue |
897 continue |
898 tschema = ttypes[0] |
898 tschema = ttypes[0] |
899 ttype = tschema.type |
899 ttype = tschema.type |
900 formviews = list(self.inline_edition_form_view(rschema, ttype, role)) |
900 formviews = list(self.inline_edition_form_view(rschema, ttype, role)) |
901 card = rschema.role_rdef(entity.e_schema, ttype, role).role_cardinality(role) |
901 card = rschema.role_rdef(entity.e_schema, ttype, role).role_cardinality(role) |
902 # there is no related entity and we need at least one: we need to |
902 related = entity.has_eid() and entity.related(rschema, role) |
903 # display one explicit inline-creation view |
903 if self.should_display_inline_creation_form(rschema, related, card): |
904 if self.should_display_inline_creation_form(rschema, formviews, card): |
|
905 formviews += self.inline_creation_form_view(rschema, ttype, role) |
904 formviews += self.inline_creation_form_view(rschema, ttype, role) |
906 # we can create more than one related entity, we thus display a link |
905 # we can create more than one related entity, we thus display a link |
907 # to add new related entities |
906 # to add new related entities |
908 if self.must_display_add_new_relation_link(rschema, role, tschema, |
907 if self.must_display_add_new_relation_link(rschema, role, tschema, |
909 ttype, formviews, card): |
908 ttype, related, card): |
910 addnewlink = self._cw.vreg['views'].select( |
909 addnewlink = self._cw.vreg['views'].select( |
911 'inline-addnew-link', self._cw, |
910 'inline-addnew-link', self._cw, |
912 etype=ttype, rtype=rschema, role=role, card=card, |
911 etype=ttype, rtype=rschema, role=role, card=card, |
913 peid=self.edited_entity.eid, |
912 peid=self.edited_entity.eid, |
914 petype=self.edited_entity.e_schema, pform=self) |
913 petype=self.edited_entity.e_schema, pform=self) |