21
Officer
Manager
Channel: always visible (sub rules exist)
[(1, '=', 1)]
Channel: public: restricted to public and published
[('website_published', '=', True), ('visibility', '=', 'public')]
Channel: portal/user: restricted to published, public or (invited) attendee, connected user
[
'&',
('website_published', '=', True),
'|',
('visibility', 'in', ('public', 'connected')),
'|',
('is_member_invited', '=', True),
('is_member', '=', True),
]
Channel: officer: read all
[(1, '=', 1)]
Channel: officer: create/write own only
[('user_id', '=', user.id)]
Channel: manager: crud all
[(1, '=', 1)]
Channel Tag: public/portal: color = published
['&', ('color', '!=', False), ('color', '!=', 0)]
Slide: always visible (sub rules exist)
[(1, '=', 1)]
Slide: public: restricted to published or public channel & (category or previewable)
[
('channel_id.website_published', '=', True),
('website_published', '=', True),
('channel_id.visibility', '=', 'public'),
'|',
('is_category','=', True),
('is_preview', '=', True),
]
Slide: portal/user: restricted to published and connected user, (invited) attendee if course visible to attendees only
[
'&',
'|',
('user_id', '=', user.id),
'&',
('website_published', '=', True),
('channel_id.website_published', '=', True),
'|',
'&',
'|',
('channel_id.visibility', 'in', ('public','connected')),
('channel_id.is_member_invited', '=', True),
'|',
('is_category', '=', True),
('is_preview', '=', True),
('channel_id.is_member', '=', True),
]
Slide: officer: read all
[(1, '=', 1)]
Slide: officer: create/write own only
[('channel_id.user_id', '=', user.id)]
Slide: manager: crud all
[(1, '=', 1)]
Channel Partner: officer: create/write/unlink own only
[('channel_id.user_id', '=', user.id)]
Channel Partner: manager: crud all
[(1, '=', 1)]
Slide Partner: officer: create/write/unlink own only
[('channel_id.user_id', '=', user.id)]
Slide Partner: manager: crud all
[(1, '=', 1)]
Resource: read restricted to channel members and channel responsible
[('slide_id.channel_id.is_member', '=', True)]
Resource: officer: read all
[(1, '=', 1)]
Resource: officer: crud own only
[('slide_id.channel_id.user_id', '=', user.id)]
Resource: manager: crud all
[(1, '=', 1)]