# HG changeset patch # User Sandrine Ribeau <sandrine.ribeau@logilab.fr> # Date 1257460886 28800 # Thu Nov 05 14:41:26 2009 -0800 # Node ID d06dd0be09ce7f36698ad046e05dbf41761c7ac3 # Parent 6102b385b8a3f21f56f13c09787b8f1e5c0fc9b4 [views] ticket #343128, add a box of the number of blogs by author diff --git a/views/secondary.py b/views/secondary.py --- a/views/secondary.py +++ b/views/secondary.py @@ -13,7 +13,8 @@ from cubicweb.schema import display_name from cubicweb.view import EntityView, StartupView -from cubicweb.selectors import paginated_rset, sorted_rset, implements +from cubicweb.selectors import paginated_rset, sorted_rset, implements, \ + authenticated_user from cubicweb.web.htmlwidgets import BoxLink, BoxWidget from cubicweb.web.views import baseviews, boxes, calendar, navigation @@ -120,6 +121,20 @@ box.append(BoxLink(rss_url, rss_label)) box.render(self.w) +class BlogEntrySummary(boxes.BoxTemplate): + id = 'blog_summary_box' + title = _('boxes_blog_summary_box') + order = 36 + __select__ = boxes.BoxTemplate.__select__ & authenticated_user() + + def call(self, view=None, **kwargs): + box = BoxWidget(self.req._(self.title), self.id, islist=True) + rql = 'Any FN, SN, L, COUNT(B) GROUPBY L, SN, FN WHERE U is CWUser, U firstname FN, ' \ + 'U surname SN, U login L, B is BlogEntry, B created_by U' + rset = self.req.execute(rql) + for user in rset: + box.append(BoxLink(self.build_url('blogentry/%s' % user[2]), u'%s %s [%s]' % (user[0], user[1], user[3]))) + box.render(self.w) ## list views ##################################################################