From 59320c4ab6576a97ef6ce8ead98af61629f565d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= <tde@openerp.com>
Date: Fri, 11 Jul 2014 16:17:54 +0200
Subject: [PATCH] [FIX] website_forum: fixed karma computation, on first vote
 the karma was wrongly calculated (when creating a vote, not when updating
 it).

---
 addons/website_forum/models/forum.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py
index 8d56d416223e..caa9dff6e57e 100644
--- a/addons/website_forum/models/forum.py
+++ b/addons/website_forum/models/forum.py
@@ -304,11 +304,18 @@ class Vote(osv.Model):
 
     def create(self, cr, uid, vals, context=None):
         vote_id = super(Vote, self).create(cr, uid, vals, context=context)
+        post = self.pool['forum.post'].browse(cr, uid, vals['post_id'], context=context)
+        karma = 0
         if vals.get('vote', '1') == '1':
-            karma = self.pool['forum.forum']._karma_upvote
+            if post.parent_id:
+                karma = self.pool['forum.forum']._karma_gen_upvote_ans
+            else:
+                karma = self.pool['forum.forum']._karma_gen_upvote_quest
         elif vals.get('vote', '1') == '-1':
-            karma = self.pool['forum.forum']._karma_downvote
-        post = self.pool['forum.post'].browse(cr, uid, vals['post_id'], context=context)
+            if post.parent_id:
+                karma = self.pool['forum.forum']._karma_gen_downvote_ans
+            else:
+                karma = self.pool['forum.forum']._karma_gen_downvote_quest
         self.pool['res.users'].add_karma(cr, SUPERUSER_ID, [post.create_uid.id], karma, context=context)
         return vote_id
 
-- 
GitLab