# HG changeset patch # User Goffi # Date 1492454592 -7200 # Node ID af6a62e210531035ac5b5dedf3d966549de28280 # Parent 8a393ae90f8c6159fc317be4c8d0120fa6e4ddbc pages (common/blog): new show_comments variable is used in session data, if True comments are grabbed and chained to items diff -r 8a393ae90f8c -r af6a62e21053 src/pages/common/blog/page_meta.py --- a/src/pages/common/blog/page_meta.py Mon Apr 17 20:41:00 2017 +0200 +++ b/src/pages/common/blog/page_meta.py Mon Apr 17 20:43:12 2017 +0200 @@ -47,9 +47,28 @@ @defer.inlineCallbacks +def appendComments(self, blog_items, profile): + for blog_item in blog_items: + for comment_data in blog_item.comments: + service = comment_data[u'service'] + node = comment_data[u'node'] + comments_data = yield self.host.bridge.mbGet( + service, + node, + C.NO_LIMIT, + [], + {}, + profile) + comments = data_objects.BlogItems(comments_data) + blog_item.appendCommentsItems(comments) + yield appendComments(self, comments, profile) + + +@defer.inlineCallbacks def prepare_render(self, request): data = self.getRData(request) - service, node = data.get(u'service', u''), data.get(u'node', u'') + # if the comments are not explicitly hidden, we show them + service, node, show_comments = data.get(u'service', u''), data.get(u'node', u''), data.get(u'show_comments', True) profile = self.getProfile(request) if profile is None: profile = C.SERVICE_PROFILE @@ -69,4 +88,10 @@ else: raise e - request.template_data[u'items'] = data_objects.BlogItems(blog_data) + items = data_objects.BlogItems(blog_data) + + if show_comments: + yield appendComments(self, items, profile) + + template_data = request.template_data + template_data[u'items'] = items