Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
10 Odpowiedzi
4905 Widoki

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 ?

Awatar
Odrzuć
Najlepsza odpowiedź

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']);
})
Awatar
Odrzuć
Autor

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 | "

Autor

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 !

Najlepsza odpowiedź

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

Awatar
Odrzuć
Autor

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 !!!

Najlepsza odpowiedź

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

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
sie 25
1732
0
paź 24
1368
1
sie 22
2614
0
sie 22
2145
0
paź 21
2092