diff --git a/addons/website_slides/models/slide_channel_tag.py b/addons/website_slides/models/slide_channel_tag.py
index 67c62cf742d..04cea1657f9 100644
--- a/addons/website_slides/models/slide_channel_tag.py
+++ b/addons/website_slides/models/slide_channel_tag.py
@@ -1,6 +1,8 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from random import randint
+
from odoo import fields, models
@@ -30,4 +32,6 @@ class SlideChannelTag(models.Model):
'Group sequence', related='group_id.sequence',
index=True, readonly=True, store=True)
channel_ids = fields.Many2many('slide.channel', 'slide_channel_tag_rel', 'tag_id', 'channel_id', string='Channels')
- color = fields.Integer(string='Color Index', help="Color to apply to this tag (including in website).")
+ color = fields.Integer(
+ string='Color Index', default=lambda self: randint(1, 11),
+ help="Tag color used in both backend and website. No color means no display in kanban or front-end, to distinguish internal tags from public categorization tags")
diff --git a/addons/website_slides/security/website_slides_security.xml b/addons/website_slides/security/website_slides_security.xml
index ab800865dd0..f8689d090ce 100644
--- a/addons/website_slides/security/website_slides_security.xml
+++ b/addons/website_slides/security/website_slides_security.xml
@@ -75,6 +75,17 @@
+
+ Channel Tag: public/portal: color = published
+
+ ['&', ('color', '!=', False), ('color', '!=', 0)]
+
+
+
+
+
+
+
Slide: always visible (sub rules exist)
diff --git a/addons/website_slides/static/src/js/slides_course_tag_add.js b/addons/website_slides/static/src/js/slides_course_tag_add.js
index b62e9cf0809..9fbbbec502e 100644
--- a/addons/website_slides/static/src/js/slides_course_tag_add.js
+++ b/addons/website_slides/static/src/js/slides_course_tag_add.js
@@ -67,7 +67,7 @@ var TagCourseDialog = Dialog.extend({
route: '/slides/channel/tag/search_read',
params: {
fields: ['name'],
- domain: [['id','not in',self.tagIds]],
+ domain: [['id', 'not in', self.tagIds], ['color', '!=', 0]],
}
});
})
diff --git a/addons/website_slides/views/slide_channel_tag_views.xml b/addons/website_slides/views/slide_channel_tag_views.xml
index b4c4e9ab12e..7edb459c7c3 100644
--- a/addons/website_slides/views/slide_channel_tag_views.xml
+++ b/addons/website_slides/views/slide_channel_tag_views.xml
@@ -63,24 +63,24 @@
@@ -95,6 +95,7 @@
+
diff --git a/addons/website_slides/views/slide_channel_views.xml b/addons/website_slides/views/slide_channel_views.xml
index 04a6363fc94..371b3f5602c 100644
--- a/addons/website_slides/views/slide_channel_views.xml
+++ b/addons/website_slides/views/slide_channel_views.xml
@@ -245,7 +245,7 @@
-
+
diff --git a/addons/website_slides/views/website_slides_templates_course.xml b/addons/website_slides/views/website_slides_templates_course.xml
index 3be29e4f2aa..c65fd96fc70 100644
--- a/addons/website_slides/views/website_slides_templates_course.xml
+++ b/addons/website_slides/views/website_slides_templates_course.xml
@@ -168,6 +168,7 @@
+
@@ -198,8 +199,8 @@
-
-
+
+
@@ -699,8 +700,8 @@
-
-
+
+
diff --git a/addons/website_slides/views/website_slides_templates_homepage.xml b/addons/website_slides/views/website_slides_templates_homepage.xml
index 48360fae5a6..132602a2dfd 100644
--- a/addons/website_slides/views/website_slides_templates_homepage.xml
+++ b/addons/website_slides/views/website_slides_templates_homepage.xml
@@ -215,7 +215,8 @@