# HG changeset patch
# User Sylvain Thénault <sylvain.thenault@logilab.fr>
# Date 1280224442 -7200
#      Tue Jul 27 11:54:02 2010 +0200
# Node ID 47260bb652b556370fbaf3b7e9e2fd1587c3b220
# Parent  96294d425e765474de9a2590dbeaad9a3accd39d
avoid empty div when no comments and no right to add comment. Remove spurious parameters from ajax place holder url.

diff --git a/views.py b/views.py
--- a/views.py
+++ b/views.py
@@ -286,33 +286,38 @@
     def entity_call(self, entity, view=None):
         req = self._cw
         req.add_js( ('cubicweb.ajax.js', 'cubes.comment.js') )
-        eid = entity.eid
-        self.w(u'<div id="%s" class="%s" cubicweb:rooteid="%s">' % (
-            self.div_id(), self.div_class(), eid))
+        addcomment = self._cw.vreg['actions'].select_or_none(
+            'reply_comment', req, entity=entity,
+            rset=entity.cw_rset, row=entity.cw_row, col=entity.cw_col)
         if entity.has_eid():
             rql = u'Any C,CD,CC,CCF,U,UL,US,UF ORDERBY CD WHERE C is Comment, '\
                   'C comments X, C creation_date CD, C content CC, C content_format CCF, ' \
                   'C created_by U?, U login UL, U firstname UF, U surname US, X eid %(x)s'
-            rset = req.execute(rql, {'x': eid})
-            if rset.rowcount:
-                self.w(u'<h4>%s</h4>' % (req._('Comment_plural')))
-                self.w(u'<ul class="comment">')
-                for i in xrange(rset.rowcount):
-                    self.wview('tree', rset, row=i)
-                self.w(u'</ul>')
+            rset = req.execute(rql, {'x': entity.eid})
+        else:
+            rset = None
+        if not (rset or addcomment):
+            return
+        self.w(u'<div id="%s" class="%s" cubicweb:rooteid="%s">' % (
+            self.div_id(), self.div_class(), entity.eid))
+        if rset.rowcount:
+            self.w(u'<h4>%s</h4>' % (req._('Comment_plural')))
+            self.w(u'<ul class="comment">')
+            for i in xrange(rset.rowcount):
+                self.wview('tree', rset, row=i)
+            self.w(u'</ul>')
         self.w(u'</div>')
-        addcomment = self._cw.vreg['actions'].select_or_none(
-            'reply_comment', req, entity=entity,
-            rset=entity.cw_rset, row=entity.cw_row, col=entity.cw_col)
         if addcomment is not None:
-            self.w(u'<div id="comment%sHolder"></div>' % eid)
-            params = self.cw_extra_kwargs
+            self.w(u'<div id="comment%sHolder"></div>' % entity.eid)
+            params = self.cw_extra_kwargs.copy()
+            params.pop('view', None)
+            params.pop('context', None)
             if entity.has_eid():
-                params['eid'] = eid
+                params['eid'] = entity.eid
             else:
                 params['etype'] = entity.__regid__
             url = req.ajax_replace_url(
-                'comment%sHolder' % eid, vid='addcommentform', **params)
+                'comment%sHolder' % entity.eid, vid='addcommentform', **params)
             self.w(u' (<a href="%s">%s</a>)' % (xml_escape(url), req._(addcomment.title)))