summaryrefslogtreecommitdiff
path: root/addons/project/security/project_security.xml
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2015-08-14 13:19:31 +0200
committerAntony Lesuisse <al@openerp.com>2015-08-14 13:19:31 +0200
commit3286dc2ec74e5be3e87e39114fad90068d2cb8fa (patch)
tree48bda72c201e76db21a86f009b5a2e06af8b84e9 /addons/project/security/project_security.xml
parentf8357a1a605d1c74d09d7ea5d74ab53ce77aa085 (diff)
parent60514d0d0d7254c17ecebad99423f26fd4138d8e (diff)
[MERGE] project_issue: website portal
- Remove portal_project move rules to project - Add issues in the /my/home frontend portal - Remove website_project, task access is backend only
Diffstat (limited to 'addons/project/security/project_security.xml')
-rw-r--r--addons/project/security/project_security.xml44
1 files changed, 40 insertions, 4 deletions
diff --git a/addons/project/security/project_security.xml b/addons/project/security/project_security.xml
index e1d8eb71b0a..b41208248ff 100644
--- a/addons/project/security/project_security.xml
+++ b/addons/project/security/project_security.xml
@@ -47,10 +47,10 @@
</record>
<record model="ir.rule" id="project_public_members_rule">
- <field name="name">Project: employees: public, employees or followers</field>
+ <field name="name">Project: employees: portal, employees or followers</field>
<field name="model_id" ref="model_project_project"/>
<field name="domain_force">['|',
- ('privacy_visibility', 'in', ['public', 'employees']),
+ ('privacy_visibility', 'in', ['portal', 'employees']),
('message_follower_ids', 'in', [user.partner_id.id])
]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
@@ -67,11 +67,11 @@
</record>
<record model="ir.rule" id="task_visibility_rule">
- <field name="name">Project/Task: employees: public or employee or (followers and following)</field>
+ <field name="name">Project/Task: employees: portal or employee or (followers and following)</field>
<field name="model_id" ref="model_project_task"/>
<field name="domain_force">[
'|',
- ('project_id.privacy_visibility', 'in', ['public', 'employees']),
+ ('project_id.privacy_visibility', 'in', ['portal', 'employees']),
'|',
'&amp;',
('project_id.privacy_visibility', '=', 'followers'),
@@ -91,5 +91,41 @@
<field name="groups" eval="[(4,ref('project.group_project_manager'))]"/>
</record>
+ <!-- Portal -->
+ <record model="ir.rule" id="portal_project_rule">
+ <field name="name">Project: portal users: portal or following</field>
+ <field name="model_id" ref="project.model_project_project"/>
+ <field name="domain_force">[
+ '|',
+ '&amp;',
+ ('privacy_visibility', '=', 'portal'),
+ ('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
+ '&amp;',
+ ('privacy_visibility', '=', 'followers'),
+ ('message_follower_ids', 'in', [user.partner_id.id])
+ ]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ </record>
+
+ <record model="ir.rule" id="portal_task_rule">
+ <field name="name">Project/Task: portal users: (portal and colleagues following) or (followers and following)</field>
+ <field name="model_id" ref="project.model_project_task"/>
+ <field name="domain_force">[
+ '|',
+ '|',
+ '&amp;',
+ ('project_id.privacy_visibility', '=', 'portal'),
+ ('project_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
+ '&amp;',
+ ('project_id.privacy_visibility', '=', 'followers'),
+ ('project_id.message_follower_ids', 'in', [user.partner_id.id]),
+ '&amp;',
+ # on employee project can receive messages but not access the object
+ ('project_id.privacy_visibility', '!=', 'employees'),
+ ('message_follower_ids', 'in', [user.partner_id.id])
+ ]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ </record>
+
</data>
</openerp>