[MERGE] merging stats on forum
authorFabien Pinckaers <fp@openerp.com>
Tue, 2 Dec 2014 19:53:23 +0000 (20:53 +0100)
committerFabien Pinckaers <fp@openerp.com>
Tue, 2 Dec 2014 19:53:23 +0000 (20:53 +0100)
1  2 
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):