summaryrefslogtreecommitdiff
path: root/addons/website_forum/controllers
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2014-12-02 16:18:08 +0100
committerChristophe Simonis <chs@odoo.com>2014-12-02 16:18:08 +0100
commit1d3f8eba879f02da7fc0bb46c9801029eccbc8c8 (patch)
tree10ef917de1be8ef9755cba4f3c9ac951af176b18 /addons/website_forum/controllers
parent7878b2fd0cb42827b71bd00a1fd8199e73269fe4 (diff)
parent591e329bb0efe4997677a0bee2e6f3b558e35df8 (diff)
[MERGE] forward port of branch 8.0 up to 591e329
Diffstat (limited to 'addons/website_forum/controllers')
-rw-r--r--addons/website_forum/controllers/main.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py
index 3a1397e6a3f..faea93141d8 100644
--- a/addons/website_forum/controllers/main.py
+++ b/addons/website_forum/controllers/main.py
@@ -419,18 +419,28 @@ class WebsiteForum(http.Controller):
Data = request.env["ir.model.data"]
user = User.sudo().search([('id', '=', user_id)])
+ current_user = request.env.user.sudo()
if not user or user.karma < 1:
+
+ # Users with high karma can see users with karma <= 0 for
+ # moderation purposes, IFF they have posted something (see below)
+ if (not user or
+ (user.karma < 1 and current_user.karma < forum.karma_unlink_all)):
return werkzeug.utils.redirect("/forum/%s" % slug(forum))
values = self._prepare_forum_values(forum=forum, **post)
- if user_id != request.session.uid and not user.website_published:
- return request.website.render("website_forum.private_profile", values)
+
# questions and answers by user
- user_questions, user_answers = [], []
user_question_ids = Post.search([
('parent_id', '=', False),
('forum_id', '=', forum.id), ('create_uid', '=', user.id)],
order='create_date desc')
count_user_questions = len(user_question_ids)
+
+ if (user_id != request.session.uid and not
+ (user.website_published or
+ (count_user_questions and current_user.karma > forum.karma_unlink_all))):
+ return request.website.render("website_forum.private_profile", values)
+
# displaying only the 20 most recent questions
user_questions = user_question_ids[:20]