Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
10 Replies
4912 Tampilan

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 ?

Avatar
Buang
Jawaban Terbai

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']);
})
Avatar
Buang
Penulis

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

Penulis

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 !

Jawaban Terbai

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

Avatar
Buang
Penulis

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

Jawaban Terbai

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

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
1
Agu 25
1736
0
Okt 24
1373
1
Agu 22
2617
0
Agu 22
2145
0
Okt 21
2093