diff --git a/views.py b/views.py index 4938fcf9dfdff369179a8e1ad5afea1e15050756_dmlld3MucHk=..ea019423d4ea5b8732ae51befe058c3337311850_dmlld3MucHk= 100644 --- a/views.py +++ b/views.py @@ -16,7 +16,7 @@ from cubicweb.selectors import (one_line_rset, but_etype, implements, has_permission, relation_possible, yes, - match_kwargs) + match_kwargs, rql_condition) from cubicweb.view import EntityView from cubicweb.common.uilib import rql_for_eid, cut, safe_cut from cubicweb.common.mixins import TreeViewMixIn @@ -142,6 +142,16 @@ 'editcomment') self.w(u' | <span class="replyto"><a href="%s">%s</a></span>' % (xml_escape(url), self.req._(editaction.title))) + + deleteaction = actions.select_object('delete_comment', self.req, + rset=self.rset, row=row) + if deleteaction is not None: + url = self.req.build_ajax_replace_url( + 'comment%s' % entity.eid, rql_for_eid(entity.eid), + 'deleteconf') + self.w(u' | <span class="replyto"><a href="%s">%s</a></span>' + % (xml_escape(url), self.req._(deleteaction.title))) + self.w(u'</div>\n') text = entity.printable_value('content') if not kwargs.get('full'): @@ -306,6 +316,17 @@ def url(self): return self.build_url(rql=self.rset.printable_rql(), vid='edition') +class DelteCommentAction(Action): + id = 'delete_comment' + __select__ = implements('Comment') & has_permission('delete') \ + & rql_condition('NOT EXISTS(C comments X)') + + title = _('delete comment') + category = 'hidden' + order = 110 + + def url(self): + return self.build_url(rql=self.rset.printable_rql(), vid='deleteconf') # add some comments related methods to the Jsoncontroller #####################