835 formviews += self.inline_creation_form_view(rschema, ttype, role) |
835 formviews += self.inline_creation_form_view(rschema, ttype, role) |
836 # we can create more than one related entity, we thus display a link |
836 # we can create more than one related entity, we thus display a link |
837 # to add new related entities |
837 # to add new related entities |
838 if self.should_display_add_new_relation_link(rschema, formviews, card): |
838 if self.should_display_add_new_relation_link(rschema, formviews, card): |
839 rdef = entity.e_schema.rdef(rschema, role, ttype) |
839 rdef = entity.e_schema.rdef(rschema, role, ttype) |
840 if role == 'subject': |
840 if entity.has_eid(): |
841 rdefkwargs = {'fromeid': entity.eid} |
841 if role == 'subject': |
|
842 rdefkwargs = {'fromeid': entity.eid} |
|
843 else: |
|
844 rdefkwargs = {'toeid': entity.eid} |
842 else: |
845 else: |
843 rdefkwargs = {'toeid': entity.eid} |
846 rdefkwargs = {} |
844 if (tschema.has_perm(self._cw, 'add') |
847 if (tschema.has_perm(self._cw, 'add') |
845 and rdef.has_perm(self._cw, 'add', **rdefkwargs)): |
848 and rdef.has_perm(self._cw, 'add', **rdefkwargs)): |
846 addnewlink = self._cw.vreg['views'].select( |
849 addnewlink = self._cw.vreg['views'].select( |
847 'inline-addnew-link', self._cw, |
850 'inline-addnew-link', self._cw, |
848 etype=ttype, rtype=rschema, role=role, card=card, |
851 etype=ttype, rtype=rschema, role=role, card=card, |