summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/portal/__openerp__.py4
-rw-r--r--addons/portal/portal_demo.xml4
-rw-r--r--addons/portal/portal_menu.xml10
-rw-r--r--addons/portal/portal_view.xml7
-rw-r--r--addons/portal/security/portal_security.xml26
-rw-r--r--addons/portal_claim/security/ir.model.access.csv2
-rw-r--r--addons/portal_claim/security/portal_security.xml2
-rw-r--r--addons/portal_event/security/ir.model.access.csv4
-rw-r--r--addons/portal_event/security/portal_security.xml4
-rw-r--r--addons/portal_feedback/security/ir.model.access.csv22
-rw-r--r--addons/portal_issue/security/ir.model.access.csv4
-rw-r--r--addons/portal_issue/security/portal_security.xml4
-rw-r--r--addons/portal_sale/security/ir.model.access.csv62
13 files changed, 83 insertions, 72 deletions
diff --git a/addons/portal/__openerp__.py b/addons/portal/__openerp__.py
index e1fd12fdcf3..7e2efa80af9 100644
--- a/addons/portal/__openerp__.py
+++ b/addons/portal/__openerp__.py
@@ -39,10 +39,10 @@ module 'share'.
'data': [
'security/portal_security.xml',
'security/ir.model.access.csv',
- "board_portal_view.xml",
- 'portal_demo.xml',
+ 'board_portal_view.xml',
'portal_view.xml',
'portal_menu.xml',
+ 'portal_demo.xml',
'res_user_view.xml',
'wizard/portal_wizard_view.xml',
'wizard/share_wizard_view.xml',
diff --git a/addons/portal/portal_demo.xml b/addons/portal/portal_demo.xml
index 08ad59f31db..b64e5570d26 100644
--- a/addons/portal/portal_demo.xml
+++ b/addons/portal/portal_demo.xml
@@ -6,8 +6,8 @@
<field name="name">Demo Portal User</field>
<field name="login">test</field>
<field name="password">test</field>
- <field name="groups_id" eval="[(6,0,[ref('group_portal_user')])]"/>
+ <field name="groups_id" eval="[(6,0,[ref('group_portal_member')])]"/>
</record>
-
+
</data>
</openerp>
diff --git a/addons/portal/portal_menu.xml b/addons/portal/portal_menu.xml
index eec2fc743ca..f9441918401 100644
--- a/addons/portal/portal_menu.xml
+++ b/addons/portal/portal_menu.xml
@@ -2,12 +2,12 @@
<openerp>
<data>
- <menuitem name="Portal" id="menu_portal" action="open_portal"/>
+ <menuitem name="Portal Member's Menu" id="menu_portal" parent="portal_members_root_menu" action="open_portal"/>
- <menuitem name="Track Orders" id="portal_track_orders" parent="menu_portal" groups="portal.group_portal_user"/>
- <menuitem name="Invoice and Payments" id="portal_invoice_payements" parent="menu_portal" groups="portal.group_portal_user"/>
- <menuitem name="Services" id="portal_services" parent="menu_portal" groups="portal.group_portal_user"/>
- <menuitem name="After Sale Services" id="portal_after_sales" parent="menu_portal" groups="portal.group_portal_user"/>
+ <menuitem name="Track Orders" id="portal_track_orders" parent="menu_portal" groups="portal.group_portal_member"/>
+ <menuitem name="Invoice and Payments" id="portal_invoice_payements" parent="menu_portal" groups="portal.group_portal_member"/>
+ <menuitem name="Services" id="portal_services" parent="menu_portal" groups="portal.group_portal_member"/>
+ <menuitem name="After Sale Services" id="portal_after_sales" parent="menu_portal" groups="portal.group_portal_member"/>
<menuitem name="Our company" id="portal_company" parent="menu_portal"/>
<menuitem name="News" id="portal_company_news" parent="portal_company"/>
<menuitem name="Jobs" id="portal_company_jobs" parent="portal_company"/>
diff --git a/addons/portal/portal_view.xml b/addons/portal/portal_view.xml
index 5453ad5af18..75afa81ba1e 100644
--- a/addons/portal/portal_view.xml
+++ b/addons/portal/portal_view.xml
@@ -1,9 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <!-- menu Administration/Portals -->
- <menuitem name="Portals" id="portal_menu" parent="base.menu_administration"
- groups="group_portal_manager"/>
<!-- menu Administration/Portals/Portals -->
<record id="portal_list_action" model="ir.actions.act_window">
@@ -19,8 +16,9 @@ portal group). A portal menu, widgets and specific groups may be assigned to
the portal's users.
</field>
</record>
+
<menuitem name="Portals" id="portal_list_menu"
- parent="portal_menu" sequence="1" action="portal_list_action"/>
+ parent="portal_menu_settings" sequence="1" action="portal_list_action"/>
<!-- portal tree view -->
<record id="portal_list_view" model="ir.ui.view">
@@ -115,5 +113,6 @@ the portal's users.
<field name="domain">[]</field>
<field name="view_id" ref="base.view_company_form" />
</record>
+
</data>
</openerp>
diff --git a/addons/portal/security/portal_security.xml b/addons/portal/security/portal_security.xml
index 5e688f9ba91..5e72cd342d0 100644
--- a/addons/portal/security/portal_security.xml
+++ b/addons/portal/security/portal_security.xml
@@ -1,18 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
+
+ <!-- Don't use any implied_ids here; this group behavior is particular -->
+ <record id="group_portal_member" model="res.groups">
+ <field name="name">Member</field>
+ <field name="comment">Portal members can access information provided by the portal menu and the others module it's linked with. Also, portal members are chrooted in a specific menu.</field>
+ </record>
+
<record id="module_category_portal" model="ir.module.category">
<field name="name">Portal</field>
<field name="parent_id" ref="base.module_category_tools"/>
<field name="sequence">25</field>
</record>
- <record id="group_portal_user" model="res.groups">
- <field name="name">User</field>
- <field name="comment">Portal users can access information provided by the portal menu and the others module it's linked with.</field>
- <field name="category_id" ref="module_category_portal"/>
- </record>
-
+ <!-- No implied ids with 'member' since this group is highly restrictive (chrooted menu) -->
<record id="group_portal_officer" model="res.groups">
<field name="name">Officer</field>
<field name="comment">Portal officers can create new portal users with the portal wizard.</field>
@@ -27,9 +29,19 @@
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
+ <!-- menu Administration/Portals -->
+ <menuitem name="Portals Settings" id="portal_menu_settings" parent="base.menu_administration"
+ groups="group_portal_manager"/>
+
+ <!-- root menu for portal members (chrooted in this menu) -->
+ <menuitem name="Portal Members Root Menu" id="portal_members_root_menu" parent="portal_menu_settings"/>
+
<record id="portal" model="res.portal">
<field name="name">Portal</field>
- <field name="group_id" ref="group_portal_user"/>
+ <field name="group_id" ref="group_portal_member"/>
+ <field name="override_menu" eval="True"/>
+ <field name="parent_menu_id" ref="portal_members_root_menu"/>
</record>
+
</data>
</openerp>
diff --git a/addons/portal_claim/security/ir.model.access.csv b/addons/portal_claim/security/ir.model.access.csv
index 2deff2a0442..2b200628ab4 100644
--- a/addons/portal_claim/security/ir.model.access.csv
+++ b/addons/portal_claim/security/ir.model.access.csv
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_crm_claim,crm.claim,crm_claim.model_crm_claim,portal.group_portal_user,1,0,0,0
+access_crm_claim,crm.claim,crm_claim.model_crm_claim,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_claim/security/portal_security.xml b/addons/portal_claim/security/portal_security.xml
index 01c93de51af..ffd0f6c149c 100644
--- a/addons/portal_claim/security/portal_security.xml
+++ b/addons/portal_claim/security/portal_security.xml
@@ -6,7 +6,7 @@
<field name="name">Personal Claims</field>
<field ref="crm_claim.model_crm_claim" name="model_id"/>
<field name="domain_force">[('partner_id.email','=',user.login)]</field>
- <field name="groups" eval="[(4, ref('portal.group_portal_user'))]"/>
+ <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
diff --git a/addons/portal_event/security/ir.model.access.csv b/addons/portal_event/security/ir.model.access.csv
index 3b899610ad2..b418acbb9c4 100644
--- a/addons/portal_event/security/ir.model.access.csv
+++ b/addons/portal_event/security/ir.model.access.csv
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_event,event,event.model_event_event,portal.group_portal_user,1,0,0,0
-access_registration,registration,event.model_event_registration,portal.group_portal_user,1,0,0,0
+access_event,event,event.model_event_event,portal.group_portal_member,1,0,0,0
+access_registration,registration,event.model_event_registration,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_event/security/portal_security.xml b/addons/portal_event/security/portal_security.xml
index a8f1f508054..258048392b5 100644
--- a/addons/portal_event/security/portal_security.xml
+++ b/addons/portal_event/security/portal_security.xml
@@ -6,14 +6,14 @@
<field name="name">Personal Events</field>
<field ref="event.model_event_event" name="model_id"/>
<field name="domain_force">[]</field>
- <field name="groups" eval="[(4, ref('portal.group_portal_user'))]"/>
+ <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_registration_rule" model="ir.rule">
<field name="name">Personal Registrations</field>
<field ref="event.model_event_registration" name="model_id"/>
<field name="domain_force">[('partner_id.email','=',user.login)]</field>
- <field name="groups" eval="[(4, ref('portal.group_portal_user'))]"/>
+ <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
diff --git a/addons/portal_feedback/security/ir.model.access.csv b/addons/portal_feedback/security/ir.model.access.csv
index 37ba12ce805..00427d53360 100644
--- a/addons/portal_feedback/security/ir.model.access.csv
+++ b/addons/portal_feedback/security/ir.model.access.csv
@@ -1,12 +1,12 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_survey_survey,survey_survey,survey.model_survey,portal.group_portal_user,1,1,0,0
-access_survey_page,survey_page,survey.model_survey_page,portal.group_portal_user,1,1,0,0
-access_survey_question,survey_question,survey.model_survey_question,portal.group_portal_user,1,0,0,0
-access_survey_answer,survey_answer,survey.model_survey_answer,portal.group_portal_user,1,1,0,0
-access_survey_response,survey_response,survey.model_survey_response,portal.group_portal_user,1,1,1,0
-access_survey_history,survey_history,survey.model_survey_history,portal.group_portal_user,1,1,1,0
-access_survey_question_column_heading,survey_question_column_heading,survey.model_survey_question_column_heading,portal.group_portal_user,1,0,0,0
-access_survey_response_line,survey_response_line,survey.model_survey_response_line,portal.group_portal_user,1,1,1,0
-access_survey_response_answer,survey_response_answer,survey.model_survey_response_answer,portal.group_portal_user,1,1,1,0
-access_ir_attachment,ir.attachment,base.model_ir_attachment,portal.group_portal_user,1,0,1,0
-access_mail_message,mail.message,mail.model_mail_message,portal.group_portal_user,1,1,1,0
+access_survey_survey,survey_survey,survey.model_survey,portal.group_portal_member,1,1,0,0
+access_survey_page,survey_page,survey.model_survey_page,portal.group_portal_member,1,1,0,0
+access_survey_question,survey_question,survey.model_survey_question,portal.group_portal_member,1,0,0,0
+access_survey_answer,survey_answer,survey.model_survey_answer,portal.group_portal_member,1,1,0,0
+access_survey_response,survey_response,survey.model_survey_response,portal.group_portal_member,1,1,1,0
+access_survey_history,survey_history,survey.model_survey_history,portal.group_portal_member,1,1,1,0
+access_survey_question_column_heading,survey_question_column_heading,survey.model_survey_question_column_heading,portal.group_portal_member,1,0,0,0
+access_survey_response_line,survey_response_line,survey.model_survey_response_line,portal.group_portal_member,1,1,1,0
+access_survey_response_answer,survey_response_answer,survey.model_survey_response_answer,portal.group_portal_member,1,1,1,0
+access_ir_attachment,ir.attachment,base.model_ir_attachment,portal.group_portal_member,1,0,1,0
+access_mail_message,mail.message,mail.model_mail_message,portal.group_portal_member,1,1,1,0
diff --git a/addons/portal_issue/security/ir.model.access.csv b/addons/portal_issue/security/ir.model.access.csv
index 55953aa7400..51534f28265 100644
--- a/addons/portal_issue/security/ir.model.access.csv
+++ b/addons/portal_issue/security/ir.model.access.csv
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_user,1,0,1,0
-access_task,tasks,project.model_project_task,portal.group_portal_user,1,0,0,0
+access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_member,1,0,1,0
+access_task,tasks,project.model_project_task,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_issue/security/portal_security.xml b/addons/portal_issue/security/portal_security.xml
index e7a75721859..a6c555087c7 100644
--- a/addons/portal_issue/security/portal_security.xml
+++ b/addons/portal_issue/security/portal_security.xml
@@ -6,13 +6,13 @@
<field name="name">Personal Issues</field>
<field ref="project_issue.model_project_issue" name="model_id"/>
<field name="domain_force">[('partner_id.email','=',user.login)]</field>
- <field name="groups" eval="[(4, ref('portal.group_portal_user'))]"/>
+ <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_task_rule" model="ir.rule">
<field name="name">Personal Task</field>
<field ref="project.model_project_task" name="model_id"/>
<field name="domain_force">[('partner_id.email','=',user.login)]</field>
- <field name="groups" eval="[(4, ref('portal.group_portal_user'))]"/>
+ <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
</openerp>
diff --git a/addons/portal_sale/security/ir.model.access.csv b/addons/portal_sale/security/ir.model.access.csv
index 668b81fd711..5a016f00a05 100644
--- a/addons/portal_sale/security/ir.model.access.csv
+++ b/addons/portal_sale/security/ir.model.access.csv
@@ -1,32 +1,32 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_sale_order,sale.order,sale.model_sale_order,portal.group_portal_user,1,0,0,0
-access_sale_order_line,sale.order.line,sale.model_sale_order_line,portal.group_portal_user,1,0,0,0
-access_stock_picking,stock.picking,stock.model_stock_picking,portal.group_portal_user,1,0,0,0
-access_stock_move,stock.move,stock.model_stock_move,portal.group_portal_user,1,0,0,0
-access_stock_warehouse_orderpoint,stock.warehouse.orderpoint,procurement.model_stock_warehouse_orderpoint,portal.group_portal_user,1,0,0,0
-access_account_invoice,account.invoice,account.model_account_invoice,portal.group_portal_user,1,0,0,0
-access_account_invoice_tax,account.invoice.tax,account.model_account_invoice_tax,portal.group_portal_user,1,0,0,0
-access_account_invoice_line,account.invoice.line,account.model_account_invoice_line,portal.group_portal_user,1,0,0,0
-access_account_journal,account.journal,account.model_account_journal,portal.group_portal_user,1,0,0,0
-access_account_voucher,account.voucher,account_voucher.model_account_voucher,portal.group_portal_user,1,0,0,0
-access_account_voucher_line,account.voucher.line,account_voucher.model_account_voucher_line,portal.group_portal_user,1,0,0,0
-access_account_move,account.move,account.model_account_move,portal.group_portal_user,1,0,0,0
-access_account_move_line,account.move.line,account.model_account_move_line,portal.group_portal_user,1,0,0,0
-access_account_move_reconcile,account.move.reconcile,account.model_account_move_reconcile,portal.group_portal_user,1,0,0,0
-access_account_fiscalyear,account.sequence.fiscalyear,account.model_account_sequence_fiscalyear,portal.group_portal_user,1,0,0,0
-access_sale_shop,sale.shop,sale.model_sale_shop,portal.group_portal_user,1,0,0,0
-access_product_list,product.pricelist,product.model_product_pricelist,portal.group_portal_user,1,0,0,0
-access_product,product.product,product.model_product_product,portal.group_portal_user,1,0,0,0
-access_res_partner,res.partner,base.model_res_partner,portal.group_portal_user,1,0,0,0
-access_product_uom,product.uom,product.model_product_uom,portal.group_portal_user,1,0,0,0
-access_account_tax,account.tax,account.model_account_tax,portal.group_portal_user,1,0,0,0
-access_mrp_property,mrp.property,procurement.model_mrp_property,portal.group_portal_user,1,0,0,0
-access_product_template,product.template,product.model_product_template,portal.group_portal_user,1,0,0,0
-access_stock_warehouse,stock.warehouse,stock.model_stock_warehouse,portal.group_portal_user,1,0,0,0
-access_stock_location,stock.location,stock.model_stock_location,portal.group_portal_user,1,0,0,0
-access_account_fiscalyear,account.fiscalyear,account.model_account_fiscalyear,portal.group_portal_user,1,0,0,0
-access_res_partner_category,res.partner.category,base.model_res_partner_category,portal.group_portal_user,1,0,0,0
-access_product_supplierinfo,product.supplierinfo,product.model_product_supplierinfo,portal.group_portal_user,1,0,0,0
-access_product_packaging,product.packaging,product.model_product_packaging,portal.group_portal_user,1,0,0,0
-access_account_period,account.period,account.model_account_period,portal.group_portal_user,1,0,0,0
-access_account_account,account.account,account.model_account_account,portal.group_portal_user,1,0,0,0
+access_sale_order,sale.order,sale.model_sale_order,portal.group_portal_member,1,0,0,0
+access_sale_order_line,sale.order.line,sale.model_sale_order_line,portal.group_portal_member,1,0,0,0
+access_stock_picking,stock.picking,stock.model_stock_picking,portal.group_portal_member,1,0,0,0
+access_stock_move,stock.move,stock.model_stock_move,portal.group_portal_member,1,0,0,0
+access_stock_warehouse_orderpoint,stock.warehouse.orderpoint,procurement.model_stock_warehouse_orderpoint,portal.group_portal_member,1,0,0,0
+access_account_invoice,account.invoice,account.model_account_invoice,portal.group_portal_member,1,0,0,0
+access_account_invoice_tax,account.invoice.tax,account.model_account_invoice_tax,portal.group_portal_member,1,0,0,0
+access_account_invoice_line,account.invoice.line,account.model_account_invoice_line,portal.group_portal_member,1,0,0,0
+access_account_journal,account.journal,account.model_account_journal,portal.group_portal_member,1,0,0,0
+access_account_voucher,account.voucher,account_voucher.model_account_voucher,portal.group_portal_member,1,0,0,0
+access_account_voucher_line,account.voucher.line,account_voucher.model_account_voucher_line,portal.group_portal_member,1,0,0,0
+access_account_move,account.move,account.model_account_move,portal.group_portal_member,1,0,0,0
+access_account_move_line,account.move.line,account.model_account_move_line,portal.group_portal_member,1,0,0,0
+access_account_move_reconcile,account.move.reconcile,account.model_account_move_reconcile,portal.group_portal_member,1,0,0,0
+access_account_fiscalyear,account.sequence.fiscalyear,account.model_account_sequence_fiscalyear,portal.group_portal_member,1,0,0,0
+access_sale_shop,sale.shop,sale.model_sale_shop,portal.group_portal_member,1,0,0,0
+access_product_list,product.pricelist,product.model_product_pricelist,portal.group_portal_member,1,0,0,0
+access_product,product.product,product.model_product_product,portal.group_portal_member,1,0,0,0
+access_res_partner,res.partner,base.model_res_partner,portal.group_portal_member,1,0,0,0
+access_product_uom,product.uom,product.model_product_uom,portal.group_portal_member,1,0,0,0
+access_account_tax,account.tax,account.model_account_tax,portal.group_portal_member,1,0,0,0
+access_mrp_property,mrp.property,procurement.model_mrp_property,portal.group_portal_member,1,0,0,0
+access_product_template,product.template,product.model_product_template,portal.group_portal_member,1,0,0,0
+access_stock_warehouse,stock.warehouse,stock.model_stock_warehouse,portal.group_portal_member,1,0,0,0
+access_stock_location,stock.location,stock.model_stock_location,portal.group_portal_member,1,0,0,0
+access_account_fiscalyear,account.fiscalyear,account.model_account_fiscalyear,portal.group_portal_member,1,0,0,0
+access_res_partner_category,res.partner.category,base.model_res_partner_category,portal.group_portal_member,1,0,0,0
+access_product_supplierinfo,product.supplierinfo,product.model_product_supplierinfo,portal.group_portal_member,1,0,0,0
+access_product_packaging,product.packaging,product.model_product_packaging,portal.group_portal_member,1,0,0,0
+access_account_period,account.period,account.model_account_period,portal.group_portal_member,1,0,0,0
+access_account_account,account.account,account.model_account_account,portal.group_portal_member,1,0,0,0