openerp.website.if_dom_contains('.website_forum', function () {
$('.karma_required').on('click', function (ev) {
var karma = $(ev.currentTarget).data('karma');
if (karma) {
ev.preventDefault();
var $warning = $('
'+
''+
karma + ' karma is required to perform this action. You can earn karma by having '+
'your answers upvoted by the community.
');
var vote_alert = $(ev.currentTarget).parent().find("#vote_alert");
if (vote_alert.length == 0) {
$(ev.currentTarget).parent().append($warning);
}
}
});
$('.vote_up,.vote_down').not('.karma_required').on('click', function (ev) {
ev.preventDefault();
var $link = $(ev.currentTarget);
openerp.jsonRpc($link.data('href'), 'call', {})
.then(function (data) {
if (data['error']){
if (data['error'] == 'own_post'){
var $warning = $('
'+
''+
'Sorry, you cannot vote for your own posts'+
'
');
} else if (data['error'] == 'anonymous_user'){
var $warning = $('
'+
''+
'Sorry you must be logged to vote'+
'
');
}
vote_alert = $link.parent().find("#vote_alert");
if (vote_alert.length == 0) {
$link.parent().append($warning);
}
} else {
$link.parent().find("#vote_count").html(data['vote_count']);
if (data['user_vote'] == 0) {
$link.parent().find(".text-success").removeClass("text-success");
$link.parent().find(".text-warning").removeClass("text-warning");
} else {
if (data['user_vote'] == 1) {
$link.addClass("text-success");
} else {
$link.addClass("text-warning");
}
}
}
});
});
$('.accept_answer').not('.karma_required').on('click', function (ev) {
ev.preventDefault();
var $link = $(ev.currentTarget);
openerp.jsonRpc($link.data('href'), 'call', {}).then(function (data) {
if (data['error']) {
if (data['error'] == 'anonymous_user') {
var $warning = $('