diff options
| author | Jeremy Kersten <jke@odoo.com> | 2016-02-10 12:04:08 +0100 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2016-02-10 17:09:20 +0100 |
| commit | 5d14c2c0ff3db18b0894fe0979413cd58be9720b (patch) | |
| tree | f7c6ab6b54cb890f5b598668e13507e131936fb6 | |
| parent | 0b27a371565fc229f2e82b2d7701e00229fe5051 (diff) | |
[FIX] website_forum: don't display user profile link in post when it is private
Return 404 for seo when profile is private.
| -rw-r--r-- | addons/website_forum/controllers/main.py | 2 | ||||
| -rw-r--r-- | addons/website_forum/views/website_forum.xml | 14 | ||||
| -rw-r--r-- | file_state.csv | 0 |
3 files changed, 10 insertions, 6 deletions
diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index e9776226bc8..5bc71a5848c 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -603,7 +603,7 @@ class WebsiteForum(http.Controller): 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) + return request.render("website_forum.private_profile", values, status=404) # limit length of visible posts by default for performance reasons, except for the high # karma users (not many of them, and they need it to properly moderate the forum) diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 879ca5ba379..ab29205ea40 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -768,7 +768,7 @@ <i t-if="question.post_type == 'discussion'" t-attf-class="fa fa-comments-o" t-att-title="question.post_type.capitalize()" /> <i t-if="question.post_type == 'link'" t-attf-class="fa fa-link" t-att-title="question.post_type.capitalize()" /> <span>By </span> - <a t-attf-href="/forum/#{ slug(forum) }/user/#{ question.create_uid.id }" + <a t-att-href="(question.create_uid.id == request.session.uid or question.create_uid.sudo().website_published) and '/forum/%s/user/%s' % (slug(forum), question.create_uid.id) or '#'" t-field="question.create_uid" t-field-options='{"widget": "contact", "country_image": true, "fields": ["name", "country_id"]}' style="display: inline-block;"/> @@ -916,13 +916,17 @@ </div> <div class="question-block"> <div class="pull-right author-box"> + <t t-set="user_profile_url" t-attf-value="#"/> + <t t-if="answer.create_uid.id == request.session.uid or answer.create_uid.sudo().website_published"> + <t t-set="user_profile_url" t-value="'/forum/%s/user/%s' % (slug(forum), answer.create_uid.id)"/> + </t> <div class="o_forum_user_bio_expand" t-if="answer.can_display_biography"> <t t-call="website_forum.forum_user_tooltip"/> </div> - <a t-attf-href="/forum/#{ slug(forum) }/user/#{ answer.create_uid.id }" class="o_forum_user_info"> + <a t-att-href="user_profile_url" class="o_forum_user_info"> <img class="pull-left img img-rounded o_forum_avatar" t-attf-src="/forum/user/#{answer.create_uid.id}/avatar"/> </a> - <a t-attf-href="/forum/#{ slug(forum) }/user/#{ answer.create_uid.id }" + <a t-att-href="user_profile_url" t-field="answer.create_uid" t-field-options='{"widget": "contact", "country_image": true, "fields": ["name", "country_id"]}' style="display: inline-block;"/> @@ -1006,11 +1010,11 @@ <!-- Template for user tooltip --> <template id="forum_user_tooltip"> <div class="o_forum_user_bio text-left panel panel-body"> - <a t-attf-href="/forum/#{ slug(forum) }/user/#{ answer.create_uid.id }"> + <a t-att-href="user_profile_url"> <img class="pull-left img img-rounded o_forum_avatar_big" t-attf-src="/forum/user/#{answer.create_uid.id}/avatar"/> </a> <div class="o_forum_tooltip_header"> - <h4 class="o_forum_tooltip_heading"><a t-attf-href="/forum/#{ slug(forum) }/user/#{ answer.create_uid.id }" + <h4 class="o_forum_tooltip_heading"><a t-att-href="user_profile_url" t-field="answer.create_uid" t-field-options='{"widget": "contact", "country_image": true, "fields": ["name", "country_id"]}' style="display: inline-block;"/> diff --git a/file_state.csv b/file_state.csv new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/file_state.csv |
