İçereği Atla
Menü
Bu soru işaretlendi
10 Cevaplar
4924 Görünümler

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
Vazgeç
En İyi Yanıt

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
Vazgeç
Üretici

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

Üretici

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 !

En İyi Yanıt

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
Vazgeç
Üretici

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

En İyi Yanıt

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
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Ağu 25
1795
0
Eki 24
1386
1
Ağu 22
2627
0
Ağu 22
2160
0
Eki 21
2106