odoo/addons/portal_project/security/portal_security.xml

70 lines
4.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record model="ir.rule" id="project.project_public_members_rule">
<field name="name">Project: employees: public, portal, employees or following</field>
<field name="domain_force">['|',
('privacy_visibility', 'in', ['public', 'portal', 'employees']),
'&amp;',
('privacy_visibility', '=', 'followers'),
('message_follower_ids', 'in', [user.partner_id.id]),
]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="portal_project_rule" model="ir.rule">
<field name="name">Project: portal users: public, portal or following</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="domain_force">['|',
('privacy_visibility', 'in', ['public', 'portal']),
'&amp;',
('privacy_visibility', '=', 'followers'),
('message_follower_ids', 'in', [user.partner_id.id]),
]</field>
<field name="groups" eval="[(4, ref('portal.group_portal'))]"/>
</record>
<record model="ir.rule" id="project_anonymous_rule">
<field name="name">Project: anonymous users: public only</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="domain_force">[('privacy_visibility', '=', 'public')]</field>
<field name="groups" eval="[(4, ref('portal.group_anonymous'))]"/>
</record>
<record model="ir.rule" id="project.task_visibility_rule">
<field name="name">Project/Task: employees: public, portal, employee or following or assigned</field>
<field name="domain_force">['|',
('user_id', '=', user.id),
'|',
('project_id.privacy_visibility', 'in', ['public', 'portal', 'employees']),
'&amp;',
('project_id.privacy_visibility', '=', 'followers'),
('message_follower_ids', 'in', [user.partner_id.id]),
]</field>
</record>
<record id="portal_task_rule" model="ir.rule">
<field name="name">Project/Task: portal users: public or portal and following</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="domain_force">['|',
('project_id.privacy_visibility', '=', 'public'),
'&amp;',
('project_id.privacy_visibility', 'in', ['portal', 'followers']),
'|',
('message_follower_ids','in', [user.partner_id.id]),
('user_id', '=', user.id),
]</field>
<field name="groups" eval="[(4, ref('portal.group_portal'))]"/>
</record>
<record model="ir.rule" id="task_anonymous_rule">
<field name="name">Project/Task: anonymous users: public only</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="domain_force">[('project_id.privacy_visibility', '=', 'public')]</field>
<field name="groups" eval="[(4, ref('portal.group_anonymous'))]"/>
</record>
</data>
</openerp>