131 """ |
131 """ |
132 __select__ = (match_search_state('normal') & one_line_rset() |
132 __select__ = (match_search_state('normal') & one_line_rset() |
133 & partial_relation_possible(action='add', strict=True)) |
133 & partial_relation_possible(action='add', strict=True)) |
134 |
134 |
135 submenu = 'addrelated' |
135 submenu = 'addrelated' |
|
136 # to be defined in concrete classes |
|
137 target_etype = rtype = None |
136 |
138 |
137 def url(self): |
139 def url(self): |
138 try: |
140 try: |
139 ttype = self.etype # deprecated in 3.6, already warned by the selector |
141 # deprecated in 3.6, already warned by the selector |
|
142 ttype = self.etype # pylint: disable=E1101 |
140 except AttributeError: |
143 except AttributeError: |
141 ttype = self.target_etype |
144 ttype = self.target_etype |
142 entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0) |
145 entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0) |
143 linkto = '%s:%s:%s' % (self.rtype, entity.eid, target(self)) |
146 linkto = '%s:%s:%s' % (self.rtype, entity.eid, target(self)) |
144 return self._cw.vreg["etypes"].etype_class(ttype).cw_create_url(self._cw, |
147 return self._cw.vreg["etypes"].etype_class(ttype).cw_create_url(self._cw, |