summaryrefslogtreecommitdiff
path: root/addons/fleet/security
diff options
context:
space:
mode:
authorCedric Snauwaert <csn@openerp.com>2012-12-04 17:20:56 +0100
committerCedric Snauwaert <csn@openerp.com>2012-12-04 17:20:56 +0100
commita56f37e6f4b5207fb437db5c5ad08a3ad0e92a62 (patch)
tree6adeb51c8be73903a5bb6ec93a039a5ffdd5fc89 /addons/fleet/security
parent524694747b1a80e881ebdc1f33e40236ac45f8d0 (diff)
[ADD]access rules and groups
bzr revid: csn@openerp.com-20121204162056-cacua9dw1shg5fnv
Diffstat (limited to 'addons/fleet/security')
-rw-r--r--addons/fleet/security/fleet_security.xml109
-rw-r--r--addons/fleet/security/ir.model.access.csv34
2 files changed, 131 insertions, 12 deletions
diff --git a/addons/fleet/security/fleet_security.xml b/addons/fleet/security/fleet_security.xml
new file mode 100644
index 00000000000..6351d23b55e
--- /dev/null
+++ b/addons/fleet/security/fleet_security.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" ?>
+<openerp>
+ <data>
+ <record model="ir.module.category" id="module_fleet_category">
+ <field name="name">Fleet</field>
+ <field name="sequence">17</field>
+ </record>
+ <record id="group_fleet_user" model="res.groups">
+ <field name="name">User</field>
+ <field name="category_id" ref="module_fleet_category"/>
+ </record>
+ <record id="group_fleet_manager" model="res.groups">
+ <field name="name">Manager</field>
+ <field name="implied_ids" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="category_id" ref="module_fleet_category"/>
+ </record>
+ <record id="fleet_user_contract_visibility" model="ir.rule">
+ <field name="name">User can only see his/her contracts</field>
+ <field name="model_id" ref="model_fleet_vehicle_log_contract"/>
+ <field name="groups" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ <field name="domain_force">[('cost_id.vehicle_id.driver.id','=',user.partner_id.id)]</field>
+ </record>
+ <record id="fleet_user_cost_visibility" model="ir.rule">
+ <field name="name">User can only see his/her costs</field>
+ <field name="model_id" ref="model_fleet_vehicle_cost"/>
+ <field name="groups" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ <field name="perm_create" eval="True"/>
+ <field name="perm_unlink" eval="False"/>
+ <field name="domain_force">[('vehicle_id.driver.id','=',user.partner_id.id)]</field>
+ </record>
+ <record id="fleet_user_service_visibility" model="ir.rule">
+ <field name="name">User can only see his/her vehicle's services</field>
+ <field name="model_id" ref="model_fleet_vehicle_log_services"/>
+ <field name="groups" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ <field name="domain_force">[('cost_id.vehicle_id.driver.id','=',user.partner_id.id)]</field>
+ </record>
+ <record id="fleet_user_odometer_visibility" model="ir.rule">
+ <field name="name">User can only see his/her vehicle's odometer</field>
+ <field name="model_id" ref="model_fleet_vehicle_odometer"/>
+ <field name="groups" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ <field name="perm_create" eval="True"/>
+ <field name="perm_unlink" eval="True"/>
+ <field name="domain_force">[('vehicle_id.driver.id','=',user.partner_id.id)]</field>
+ </record>
+ <record id="fleet_user_fuel_log_visibility" model="ir.rule">
+ <field name="name">User can only see his/her vehicle's fuel log</field>
+ <field name="model_id" ref="model_fleet_vehicle_log_fuel"/>
+ <field name="groups" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ <field name="perm_create" eval="True"/>
+ <field name="perm_unlink" eval="True"/>
+ <field name="domain_force">[('cost_id.vehicle_id.driver.id','=',user.partner_id.id)]</field>
+ </record>
+ <record id="fleet_user_vehicle_visibility" model="ir.rule">
+ <field name="name">User can only see his/her vehicle</field>
+ <field name="model_id" ref="model_fleet_vehicle"/>
+ <field name="groups" eval="[(4, ref('group_fleet_user'))]"/>
+ <field name="perm_read" eval="True"/>
+ <field name="perm_write" eval="True"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ <field name="domain_force">[('driver.id','=',user.partner_id.id)]</field>
+ </record>
+ <record id="fleet_user_contract_visibility_manager" model="ir.rule">
+ <field name="name">Manager has all rights on vehicle's contracts</field>
+ <field name="model_id" ref="model_fleet_vehicle_log_contract"/>
+ <field name="groups" eval="[(4, ref('group_fleet_manager'))]"/>
+ </record>
+ <record id="fleet_user_cost_visibility_manager" model="ir.rule">
+ <field name="name">Manager has all rights on vehicle's costs</field>
+ <field name="model_id" ref="model_fleet_vehicle_cost"/>
+ <field name="groups" eval="[(4, ref('group_fleet_manager'))]"/>
+ </record>
+ <record id="fleet_user_service_visibility_manager" model="ir.rule">
+ <field name="name">Manager has all rights on vehicle's services</field>
+ <field name="model_id" ref="model_fleet_vehicle_log_services"/>
+ <field name="groups" eval="[(4, ref('group_fleet_manager'))]"/>
+ </record>
+ <record id="fleet_user_odometer_visibility_manager" model="ir.rule">
+ <field name="name">Manager has all rights on vehicle's vehicle's odometer</field>
+ <field name="model_id" ref="model_fleet_vehicle_odometer"/>
+ <field name="groups" eval="[(4, ref('group_fleet_manager'))]"/>
+ </record>
+ <record id="fleet_user_fuel_log_visibility_manager" model="ir.rule">
+ <field name="name">Manager has all rights on vehicle's fuel log</field>
+ <field name="model_id" ref="model_fleet_vehicle_log_fuel"/>
+ <field name="groups" eval="[(4, ref('group_fleet_manager'))]"/>
+ </record>
+ <record id="fleet_user_vehicle_visibility_manager" model="ir.rule">
+ <field name="name">Manager has all rights on vehicle</field>
+ <field name="model_id" ref="model_fleet_vehicle"/>
+ <field name="groups" eval="[(4, ref('group_fleet_manager'))]"/>
+ </record>
+
+ </data>
+</openerp>
diff --git a/addons/fleet/security/ir.model.access.csv b/addons/fleet/security/ir.model.access.csv
index 823b3cb2945..ecb8ec307b4 100644
--- a/addons/fleet/security/ir.model.access.csv
+++ b/addons/fleet/security/ir.model.access.csv
@@ -1,13 +1,23 @@
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
-fleet_vehicle_model_access_right,fleet_vehicle_model_access_right,model_fleet_vehicle_model,,1,1,1,1
-fleet_vehicle_tag_access_right,fleet_vehicle_tag_access_right,model_fleet_vehicle_tag,,1,1,1,1
-fleet_vehicle_state_access_right,fleet_vehicle_state_access_right,model_fleet_vehicle_state,,1,1,1,1
-fleet_vehicle_odometer_access_right,fleet_vehicle_odometer_access_right,model_fleet_vehicle_odometer,,1,1,1,1
-fleet_vehicle_model_brand_access_right,fleet_vehicle_model_brand_access_right,model_fleet_vehicle_model_brand,,1,1,1,1
-fleet_vehicle_access_right,fleet_vehicle_access_right,model_fleet_vehicle,,1,1,1,1
-fleet_vehicle_log_fuel_access_right,fleet_vehicle_log_fuel_access_right,model_fleet_vehicle_log_fuel,,1,1,1,1
-fleet_vehicle_log_services_access_right,fleet_vehicle_log_services_access_right,model_fleet_vehicle_log_services,,1,1,1,1
-fleet_vehicle_log_contract_access_right,fleet_vehicle_log_contract_access_right,model_fleet_vehicle_log_contract,,1,1,1,1
-fleet_service_type_access_right,fleet_service_type_access_right,model_fleet_service_type,,1,1,1,1
-access_fleet_vehicle_cost,access_fleet_vehicle_cost,model_fleet_vehicle_cost,,1,1,1,1
-access_fleet_contract_state,access_fleet_contract_state,model_fleet_contract_state,,1,1,1,1
+fleet_vehicle_model_access_right_user,fleet_vehicle_model_access_right,model_fleet_vehicle_model,group_fleet_user,1,0,0,0
+fleet_vehicle_tag_access_right_user,fleet_vehicle_tag_access_right,model_fleet_vehicle_tag,group_fleet_user,1,0,0,0
+fleet_vehicle_state_access_right_user,fleet_vehicle_state_access_right,model_fleet_vehicle_state,group_fleet_user,1,0,0,0
+fleet_vehicle_model_brand_access_right_user,fleet_vehicle_model_brand_access_right,model_fleet_vehicle_model_brand,group_fleet_user,1,0,0,0
+fleet_vehicle_access_right_user,fleet_vehicle_access_right",model_fleet_vehicle,group_fleet_user,1,1,0,0
+fleet_vehicle_log_services_access_right_user,fleet_vehicle_log_services_access_right,model_fleet_vehicle_log_services,group_fleet_user,1,0,0,0
+fleet_vehicle_log_contract_access_right_user,fleet_vehicle_log_contract_access_right,model_fleet_vehicle_log_contract,group_fleet_user,1,0,0,0
+fleet_service_type_access_right_user,fleet_service_type_access_right,model_fleet_service_type,group_fleet_user,1,0,0,0
+access_fleet_vehicle_cost_user,access_fleet_vehicle_cost,model_fleet_vehicle_cost,group_fleet_user,1,1,1,0
+access_fleet_contract_state_user,access_fleet_contract_state,model_fleet_contract_state,group_fleet_user,1,0,0,0
+fleet_vehicle_model_access_right,fleet_vehicle_model_access_right,model_fleet_vehicle_model,group_fleet_manager,1,1,1,1
+fleet_vehicle_tag_access_right,fleet_vehicle_tag_access_right,model_fleet_vehicle_tag,group_fleet_manager,1,1,1,1
+fleet_vehicle_state_access_right,fleet_vehicle_state_access_right,model_fleet_vehicle_state,group_fleet_manager,1,1,1,1
+fleet_vehicle_odometer_access_right,fleet_vehicle_odometer_access_right,model_fleet_vehicle_odometer,group_fleet_user,1,1,1,1
+fleet_vehicle_model_brand_access_right,fleet_vehicle_model_brand_access_right,model_fleet_vehicle_model_brand,group_fleet_manager,1,1,1,1
+fleet_vehicle_access_right,fleet_vehicle_access_right,model_fleet_vehicle,group_fleet_manager,1,1,1,1
+fleet_vehicle_log_fuel_access_right,fleet_vehicle_log_fuel_access_right,model_fleet_vehicle_log_fuel,group_fleet_user,1,1,1,1
+fleet_vehicle_log_services_access_right,fleet_vehicle_log_services_access_right,model_fleet_vehicle_log_services,group_fleet_manager,1,1,1,1
+fleet_vehicle_log_contract_access_right,fleet_vehicle_log_contract_access_right,model_fleet_vehicle_log_contract,group_fleet_manager,1,1,1,1
+fleet_service_type_access_right,fleet_service_type_access_right,model_fleet_service_type,group_fleet_manager,1,1,1,1
+access_fleet_vehicle_cost,access_fleet_vehicle_cost,model_fleet_vehicle_cost,group_fleet_manager,1,1,1,1
+access_fleet_contract_state,access_fleet_contract_state,model_fleet_contract_state,group_fleet_manager,1,1,1,1 \ No newline at end of file