364 def box_item(self, entity, etarget, rql, label): |
364 def box_item(self, entity, etarget, rql, label): |
365 """builds HTML link to edit relation between `entity` and `etarget`""" |
365 """builds HTML link to edit relation between `entity` and `etarget`""" |
366 args = {role(self)[0] : entity.eid, target(self)[0] : etarget.eid} |
366 args = {role(self)[0] : entity.eid, target(self)[0] : etarget.eid} |
367 url = self._cw.user_rql_callback((rql, args)) |
367 url = self._cw.user_rql_callback((rql, args)) |
368 # for each target, provide a link to edit the relation |
368 # for each target, provide a link to edit the relation |
369 return u'[<a href="%s">%s</a>] %s' % (xml_escape(url), label, |
369 return u'[<a href="%s" class="action">%s</a>] %s' % ( |
370 etarget.view('incontext')) |
370 xml_escape(url), label, etarget.view('incontext')) |
371 |
371 |
372 def related_boxitems(self, entity): |
372 def related_boxitems(self, entity): |
373 rql = 'DELETE S %s O WHERE S eid %%(s)s, O eid %%(o)s' % self.rtype |
373 rql = 'DELETE S %s O WHERE S eid %%(s)s, O eid %%(o)s' % self.rtype |
374 return [self.box_item(entity, etarget, rql, u'-') |
374 return [self.box_item(entity, etarget, rql, u'-') |
375 for etarget in self.related_entities(entity)] |
375 for etarget in self.related_entities(entity)] |