I recently got upvoted, and I searched to find which is the question/answer that was upvoted with no succes. Sometimes I get known the source of upvote / downvote by checking the recent questions / answers I posted during the last two weeks, for example. I then guess the source of the karma change. I need a standard way to know this, any help ?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
Here a small JS code to paste in the console to see who upvote/downote your own post.
openerp.website.session.session_reload().then(function() {
var my_user = openerp.website.session.uid
|| parseInt($('.website_forum .navbar a[href^="/forum/help-1/user/"]').attr('href').split('/').pop());
openerp.jsonRpc('/web/dataset/call_kw', 'call', {
model: 'forum.post.vote',
method: 'search_read',
args: [[['recipient_id','=',my_user]], ['post_id', 'vote', 'user_id']],
kwargs: { context: openerp.website.get_context()}
}).then(function(results) {
_.each(results, function(result) {
console.log('Post: ' + result.post_id[0] + ' | ' + result.vote + " by " + result.user_id[1]) });
})
})
Or to know on One post, who downvote / upvote ...
var post = <THE_POST_ID_HERE>;
openerp.jsonRpc('/web/dataset/call_kw', 'call', {
model: 'forum.post.vote',
method: 'search_read',
args: [[['post_id','=',post]], ['user_id', 'vote']],
kwargs: { context: openerp.website.get_context()}
}).then(function(result) {
function vote(x) {
this.user_name = x.user_id[1];
this.user_id = x.user_id[0];
this.vote = parseInt(x.vote);
}
res = [];
_.forEach(result, function(x){ res.push(new vote(x)); });
console.table(res, ['vote','user_id','user_name']);
})
nice!!
Thx for reply, but I still need more help, I pasted the first code block in the Chrome console while I'm opening the link www.odoo.com with my login, but I got the following error : Uncaught TypeError: Cannot read property 'uid' of undefined at :2:38 at Object.InjectedScript._evaluateOn (:905:140) at Object.InjectedScript._evaluateAndWrap (:838:34) at Object.InjectedScript.evaluate (:694:21) what is the missing/wrong step I did. Thx in advance for your more help
You can try to remove "openerp.website.session.uid | "
thx very much, I got my user_id and put it in my_user and then called 'openerp.jsonRpc(...' and it has worked.
I updated the first code to reload session ! Thank for the reporting !
Hi Tarek,
The Odoo forum has no way to find that out at the moment. At this point Odoo simply adds the xx karma you gain for an upvoted / accepted answer to your total.There is no way to see who gave you an upvote or downvote. The only way to find out where you've gained/lost karma is by looking at all your topics I'm afraid..The forum software still has a good possibility to grow there :)
I think they do not have all these abilities due to the resources it uses. I know the Odoo forum already has a hard time handling all the badges etc.
Yenthe
I hoped that they do something like this http://www.codeproject.com/script/Reputation/List.aspx?mid=7728905, if you have an account on CodeProject site you will understand what I mean
Hi Tarek, you could always do it in rpc Info is public, it's not a secret !!!
Check this updated post for references
https://www.odoo.com/es_ES/forum/help-1/question/how-to-know-who-vote-for-your-questions-or-answers-in-odoo-forum-v9-script-update-94628