From: Fabien Pinckaers Date: Tue, 2 Dec 2014 19:53:23 +0000 (+0100) Subject: [MERGE] merging stats on forum X-Git-Url: http://git.inspyration.org/?p=odoo%2Fodoo.git;a=commitdiff_plain;h=42dc857f3f77af735363fb71b64ef66ce4aa3519 [MERGE] merging stats on forum --- 42dc857f3f77af735363fb71b64ef66ce4aa3519 diff --cc addons/website_forum/models/forum.py index 2c1c2ab,d922104..6c517ce --- a/addons/website_forum/models/forum.py +++ b/addons/website_forum/models/forum.py @@@ -210,22 -208,15 +210,20 @@@ class Post(models.Model) uid_has_answered = fields.Boolean('Has Answered', compute='_get_uid_has_answered') has_validated_answer = fields.Boolean('Is answered', compute='_get_has_validated_answer', store=True) - @api.multi + @api.one @api.depends('create_uid', 'parent_id') def _is_self_reply(self): - self_replies = self.search([('parent_id.create_uid', '=', self._uid)]) - for post in self: - post.is_self_reply = post in self_replies + self.self_reply = self.parent_id.create_uid.id == self._uid @api.one - @api.depends('child_ids', 'website_message_ids') - @api.depends('child_ids.create_uid') ++ @api.depends('child_ids.create_uid', 'website_message_ids') def _get_child_count(self): - self.child_count = len(self.child_ids) + def process(node): + total = len(node.website_message_ids) + len(node.child_ids) + for child in node.child_ids: + total += process(child) + return total + self.child_count = process(self) @api.one def _get_uid_has_answered(self):