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)]