diff options
| author | Aurélien Warnon <awa@odoo.com> | 2019-02-21 09:06:26 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2019-02-26 16:07:16 +0000 |
| commit | 5db9ed0391febb7cabfcd7fadb1971abd2fa0bc4 (patch) | |
| tree | edb8d33100b9cf70a6d6f3e44b4c772269a1cd59 /addons/website_slides/controllers | |
| parent | 362271f35ad1a2c0bb15b1069deaa864c5100a3b (diff) | |
[REF] website_slides: refactor the slide archive modal on frontend
Purpose
=======
This commits refactors the slide archiving confirmation modal to make it a
standard Dialog (remove global selectors, remove most of useless xml, ...).
It also adds a new slide archive route to allow channel publishers to archive
slides in sudo mode. Indeed ACLs only website_publishers can write on slide
model. In some case people without real rights may update slides.
Commit linked to task ID 1942852 and PR #31394.
Diffstat (limited to 'addons/website_slides/controllers')
| -rw-r--r-- | addons/website_slides/controllers/main.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py index 01f52fb536a..17ca37648eb 100644 --- a/addons/website_slides/controllers/main.py +++ b/addons/website_slides/controllers/main.py @@ -559,6 +559,17 @@ class WebsiteSlides(WebsiteProfile): slide.invalidate_cache() return slide.read(['likes', 'dislikes', 'user_vote'])[0] + @http.route('/slides/slide/archive', type='json', auth='user', website=True) + def slide_archive(self, slide_id): + """ This route allows channel publishers to archive slides. + It has to be done in sudo mode since only website_publishers can write on slides in ACLs """ + slide = request.env['slide.slide'].browse(int(slide_id)) + if slide.channel_id.can_publish: + slide.sudo().active = False + return True + + return False + @http.route(['/slides/slide/send_share_email'], type='json', auth='user', website=True) def slide_send_share_email(self, slide_id, email): slide = request.env['slide.slide'].browse(int(slide_id)) |
