diff --git a/addons/website_forum/static/src/js/website_forum.js b/addons/website_forum/static/src/js/website_forum.js
index 14e29d49fe9..9a00eb7de23 100644
--- a/addons/website_forum/static/src/js/website_forum.js
+++ b/addons/website_forum/static/src/js/website_forum.js
@@ -1,151 +1,153 @@
$(document).ready(function () {
-
- $('.karma_required').on('click', function (ev) {
- var karma = $(ev.currentTarget).data('karma');
- if (karma) {
- ev.preventDefault();
- var $warning = $('
');
- var vote_alert = $(ev.currentTarget).parent().find("#vote_alert");
- if (vote_alert.length == 0) {
- $(ev.currentTarget).parent().append($warning);
+ if ($('.website_forum').length){
+ $('.karma_required').on('click', function (ev) {
+ var karma = $(ev.currentTarget).data('karma');
+ if (karma) {
+ ev.preventDefault();
+ var $warning = $('
');
+ 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 = $('
'+
+ $('.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");
+ }
+ }
+ }
+ });
+ return true;
+ });
+
+ $('.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 = $('
'+
'× '+
- 'Sorry, you cannot vote for your own posts'+
- '
');
- } else if (data['error'] == 'anonymous_user'){
- var $warning = $('
'+
- '× '+
- 'Sorry you must be logged to vote'+
+ 'Sorry, anonymous users cannot choose correct answer.'+
'
');
}
- vote_alert = $link.parent().find("#vote_alert");
- if (vote_alert.length == 0) {
+ correct_answer_alert = $link.parent().find("#correct_answer_alert");
+ if (correct_answer_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");
+ if (data) {
+ $link.addClass("oe_answer_true").removeClass('oe_answer_false');
} else {
- if (data['user_vote'] == 1) {
- $link.addClass("text-success");
- } else {
- $link.addClass("text-warning");
- }
+ $link.removeClass("oe_answer_true").addClass('oe_answer_false');
}
}
});
- return true;
- });
+ return true;
+ });
- $('.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 = $('
'+
- '× '+
- 'Sorry, anonymous users cannot choose correct answer.'+
- '
');
- }
- correct_answer_alert = $link.parent().find("#correct_answer_alert");
- if (correct_answer_alert.length == 0) {
- $link.parent().append($warning);
- }
- } else {
+ $('.favourite_question').on('click', function (ev) {
+ ev.preventDefault();
+ var $link = $(ev.currentTarget);
+ openerp.jsonRpc($link.data('href'), 'call', {}).then(function (data) {
if (data) {
- $link.addClass("oe_answer_true").removeClass('oe_answer_false');
+ $link.addClass("forum_favourite_question")
} else {
- $link.removeClass("oe_answer_true").addClass('oe_answer_false');
+ $link.removeClass("forum_favourite_question")
}
- }
+ });
+ return true;
});
- return true;
- });
- $('.favourite_question').on('click', function (ev) {
- ev.preventDefault();
- var $link = $(ev.currentTarget);
- openerp.jsonRpc($link.data('href'), 'call', {}).then(function (data) {
- if (data) {
- $link.addClass("forum_favourite_question")
- } else {
- $link.removeClass("forum_favourite_question")
- }
+ $('.comment_delete').on('click', function (ev) {
+ ev.preventDefault();
+ var $link = $(ev.currentTarget);
+ openerp.jsonRpc($link.data('href'), 'call', {}).then(function (data) {
+ $link.parents('.comment').first().remove();
+ });
+ return true;
});
- return true;
- });
- $('.comment_delete').on('click', function (ev) {
- ev.preventDefault();
- var $link = $(ev.currentTarget);
- openerp.jsonRpc($link.data('href'), 'call', {}).then(function (data) {
- $link.parents('.comment').first().remove();
+ $('.notification_close').on('click', function (ev) {
+ ev.preventDefault();
+ var $link = $(ev.currentTarget);
+ openerp.jsonRpc("/forum/notification_read", 'call', {
+ 'notification_id': $link.attr("id")})
+ return true;
});
- return true;
- });
- $('.notification_close').on('click', function (ev) {
- ev.preventDefault();
- var $link = $(ev.currentTarget);
- openerp.jsonRpc("/forum/notification_read", 'call', {
- 'notification_id': $link.attr("id")})
- return true;
- });
+ if($('input.load_tags').length){
+ var tags = $("input.load_tags").val();
+ $("input.load_tags").val("");
+ set_tags(tags);
+ };
- if($('input.load_tags').length){
- var tags = $("input.load_tags").val();
- $("input.load_tags").val("");
- set_tags(tags);
- };
+ function set_tags(tags) {
+ $("input.load_tags").textext({
+ plugins: 'tags focus autocomplete ajax',
+ tagsItems: tags.split(","),
+ //Note: The following list of keyboard keys is added. All entries are default except {32 : 'whitespace!'}.
+ keys: {8: 'backspace', 9: 'tab', 13: 'enter!', 27: 'escape!', 37: 'left', 38: 'up!', 39: 'right',
+ 40: 'down!', 46: 'delete', 108: 'numpadEnter', 32: 'whitespace!'},
+ ajax: {
+ url: '/forum/get_tags',
+ dataType: 'json',
+ cacheResults: true
+ }
+ });
+ // Adds: create tags on space + blur
+ $("input.load_tags").on('whitespaceKeyDown blur', function () {
+ $(this).textext()[0].tags().addTags([ $(this).val() ]);
+ $(this).val("");
+ });
+ $("input.load_tags").on('isTagAllowed', function(e, data) {
+ if (_.indexOf($(this).textext()[0].tags()._formData, data.tag) != -1) {
+ data.result = false;
+ }
+ });
+ }
- function set_tags(tags) {
- $("input.load_tags").textext({
- plugins: 'tags focus autocomplete ajax',
- tagsItems: tags.split(","),
- //Note: The following list of keyboard keys is added. All entries are default except {32 : 'whitespace!'}.
- keys: {8: 'backspace', 9: 'tab', 13: 'enter!', 27: 'escape!', 37: 'left', 38: 'up!', 39: 'right',
- 40: 'down!', 46: 'delete', 108: 'numpadEnter', 32: 'whitespace!'},
- ajax: {
- url: '/forum/get_tags',
- dataType: 'json',
- cacheResults: true
- }
- });
- // Adds: create tags on space + blur
- $("input.load_tags").on('whitespaceKeyDown blur', function () {
- $(this).textext()[0].tags().addTags([ $(this).val() ]);
- $(this).val("");
- });
- $("input.load_tags").on('isTagAllowed', function(e, data) {
- if (_.indexOf($(this).textext()[0].tags()._formData, data.tag) != -1) {
- data.result = false;
- }
- });
- }
-
- if ($('textarea.load_editor').length) {
- var editor = CKEDITOR.instances['content'];
- editor.on('instanceReady', CKEDITORLoadComplete);
+ if ($('textarea.load_editor').length) {
+ var editor = CKEDITOR.instances['content'];
+ editor.on('instanceReady', CKEDITORLoadComplete);
+ }
}
});
+
function IsKarmaValid(eventNumber,minKarma){
"use strict";
if(parseInt($("#karma").val()) >= minKarma){
diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml
index 7b742933959..458ad1c8622 100644
--- a/addons/website_forum/views/website_forum.xml
+++ b/addons/website_forum/views/website_forum.xml
@@ -2,12 +2,10 @@
-
-
-
+
+
+
-
@@ -30,21 +28,27 @@
+
+
+
+
+
+
+
+
+