From 088041f79d0945a82472ca6a9b387f2fde771981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 28 Jan 2019 12:44:11 +0000 Subject: [PATCH] [FIX][IMP] channel: improve can_upload / can_see computation on channel Purpose of this commit is to clean a bit interface of slides * separate can_see from can_upload; * correctly set can_see on partial visibility channels; * remove upload button for portal users as they have no rights to upload a document and this is not supported in any way; This commit is linked to task ID 1933820 and PR #30553. --- addons/website_slides/controllers/main.py | 6 +++--- addons/website_slides/models/slide_channel.py | 4 ++-- addons/website_slides/views/website_slides_templates.xml | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py index f15ad7eb690..11b5fb0edeb 100644 --- a/addons/website_slides/controllers/main.py +++ b/addons/website_slides/controllers/main.py @@ -65,7 +65,7 @@ class WebsiteSlides(http.Controller): 'most_viewed_slides': most_viewed_slides, 'related_slides': related_slides, 'user': request.env.user, - 'is_public_user': request.env.user == request.website.user_id, + 'is_public_user': request.website.is_public_user(), 'comments': slide.channel_id.can_see_full and slide.website_message_ids or [], 'private': not slide.channel_id.can_see_full, } @@ -88,7 +88,7 @@ class WebsiteSlides(http.Controller): return request.render('website_slides.channels', { 'channels': channels, 'user': request.env.user, - 'is_public_user': request.env.user == request.website.user_id + 'is_public_user': request.website.is_public_user(), }) def sitemap_slide(env, rule, qs): @@ -164,7 +164,7 @@ class WebsiteSlides(http.Controller): 'sorting': sorting, 'user': user, 'pager': pager, - 'is_public_user': user == request.website.user_id, + 'is_public_user': request.website.is_public_user(), 'display_channel_settings': not request.httprequest.cookies.get('slides_channel_%s' % (channel.id), False) and channel.can_see_full, } if search: diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py index fb56ca97b25..fae545c87e9 100644 --- a/addons/website_slides/models/slide_channel.py +++ b/addons/website_slides/models/slide_channel.py @@ -127,9 +127,9 @@ class Channel(models.Model): @api.one @api.depends('visibility', 'group_ids', 'upload_group_ids') def _compute_access(self): - self.can_see = self.visibility in ['public', 'private'] or bool(self.group_ids & self.env.user.groups_id) + self.can_see = self.visibility in ['public', 'partial'] or bool(self.group_ids & self.env.user.groups_id) self.can_see_full = self.visibility == 'public' or bool(self.group_ids & self.env.user.groups_id) - self.can_upload = self.can_see and (not self.upload_group_ids or bool(self.upload_group_ids & self.env.user.groups_id)) + self.can_upload = not self.env.user.share and (not self.upload_group_ids or bool(self.upload_group_ids & self.env.user.groups_id)) @api.multi @api.depends('name') diff --git a/addons/website_slides/views/website_slides_templates.xml b/addons/website_slides/views/website_slides_templates.xml index c2f34ebb6e0..129ce77f965 100644 --- a/addons/website_slides/views/website_slides_templates.xml +++ b/addons/website_slides/views/website_slides_templates.xml @@ -88,7 +88,7 @@ / - + Upload @@ -233,13 +233,13 @@

No presentation published yet.

The is empty. - + Upload PDF presentations, documents, videos or infographic using the button below.

- + Upload