[ADD]access rules and groups

bzr revid: csn@openerp.com-20121204162056-cacua9dw1shg5fnv
This commit is contained in:
Cedric Snauwaert 2012-12-04 17:20:56 +01:00
parent 524694747b
commit a56f37e6f4
5 changed files with 154 additions and 32 deletions

View File

@ -52,7 +52,7 @@ Main Features
'fleet_data.xml',
'fleet_board_view.xml',
],
'update_xml' : ['security/ir.model.access.csv'],
'update_xml' : ['security/fleet_security.xml','security/ir.model.access.csv'],
'demo': ['fleet_cars.xml','fleet_demo.xml'],

View File

@ -135,17 +135,20 @@
<menuitem id="menu_fleet_dashboard"
parent="base.menu_reporting_dashboard"
action="open_board_fleet"
sequence="50"/>
sequence="50"
groups="group_fleet_user"/>
<menuitem name="Fleet" parent="base.menu_reporting" id="menu_fleet_reporting" sequence="50" />
<menuitem name="Fleet" parent="base.menu_reporting" id="menu_fleet_reporting" sequence="50" groups="group_fleet_manager"/>
<menuitem id="menu_fleet_reporting_costs"
parent="menu_fleet_reporting"
action="action_fleet_reporting_costs"
sequence="1"/>
sequence="1"
groups="group_fleet_manager"/>
<menuitem id="menu_fleet_reporting_indicative_costs"
parent="menu_fleet_reporting"
action="action_fleet_reporting_costs_non_effective"
sequence="2"/>
sequence="2"
groups="group_fleet_manager"/>
</data>
</openerp>

View File

@ -149,11 +149,11 @@
</field>
</record>
<menuitem name="Fleet" id="menu_root" sequence="110" />
<menuitem name="Configuration" parent="menu_root" id="fleet_configuration" sequence="3" />
<menuitem name="Fleet" id="menu_root" sequence="110" groups="group_fleet_user"/>
<menuitem name="Configuration" parent="menu_root" id="fleet_configuration" sequence="3" groups="group_fleet_manager"/>
<menuitem action="fleet_vehicle_model_act" parent="fleet_configuration" id="fleet_vehicle_model_menu" groups="base.group_no_one"/>
<menuitem action="fleet_vehicle_model_brand_act" parent="fleet_configuration" id="fleet_vehicle_model_brand_menu" groups="base.group_no_one"/>
<menuitem action="fleet_vehicle_state_act" parent="fleet_configuration" id="fleet_vehicle_state_menu" />
<menuitem action="fleet_vehicle_state_act" parent="fleet_configuration" id="fleet_vehicle_state_menu" groups="group_fleet_manager"/>
<record model='ir.ui.view' id='fleet_vehicle_form'>
<field name="name">fleet.vehicle.form</field>
@ -179,7 +179,7 @@
</div>
<div class="oe_right oe_button_box">
<button name="return_action_to_open" type="object" context="{'xml_id':'fleet_vehicle_log_contract_act'}" string="Contracts" help="show the contract for this vehicle" />
<button name="act_show_log_cost" type="object" string="Costs" help="show all the costs for this vehicle" />
<button name="act_show_log_cost" type="object" string="Costs" help="show all the costs for this vehicle" groups="fleet.group_fleet_manager"/>
<button name="return_action_to_open" type="object" context="{'xml_id':'fleet_vehicle_log_services_act'}" string="Services" help="show the services logs for this vehicle" />
<button name="return_action_to_open" type="object" context="{'xml_id':'fleet_vehicle_log_fuel_act'}" string="Fuel Logs" help="show the fuel logs for this vehicle" />
<button name="return_action_to_open" type="object" context="{'xml_id':'fleet_vehicle_odometer_act'}" string="Odometer Logs" help="show the odometer logs for this vehicle" />
@ -347,8 +347,8 @@
</field>
</record>
<menuitem name="Vehicles" parent="menu_root" id="fleet_vehicles" sequence="2" />
<menuitem action="fleet_vehicle_act" parent="fleet_vehicles" id="fleet_vehicle_menu" />
<menuitem name="Vehicles" parent="menu_root" id="fleet_vehicles" sequence="2" groups="group_fleet_user"/>
<menuitem action="fleet_vehicle_act" parent="fleet_vehicles" id="fleet_vehicle_menu" groups="group_fleet_user"/>
@ -358,10 +358,10 @@
<field name="arch" type="xml">
<form string="Contract logs" version="7.0">
<header>
<button modifiers="{'invisible': [['state', '=', 'closed']]}" name="contract_close" states="open" type="object" class="oe_highlight" string="Terminate Contract"/>
<button modifiers="{'invisible': [['state', '=', 'closed']]}" name="contract_close" states="toclose" type="object" class="oe_highlight" string="Terminate Contract"/>
<button modifiers="{'invisible': [['state', 'not in', ['closed']]]}" name="contract_open" states="closed" type="object" class="oe_highlight" string="Set Contract In Progress"/>
<button class="oe_highlight" name="act_renew_contract" type="object" string="Renew Contract" help="Create a new contract automatically with all the same informations except for the date that will start at the end of current contract" />
<button modifiers="{'invisible': [['state', '=', 'closed']]}" name="contract_close" states="open" type="object" class="oe_highlight" string="Terminate Contract" groups="fleet.group_fleet_manager"/>
<button modifiers="{'invisible': [['state', '=', 'closed']]}" name="contract_close" states="toclose" type="object" class="oe_highlight" string="Terminate Contract" groups="fleet.group_fleet_manager"/>
<button modifiers="{'invisible': [['state', 'not in', ['closed']]]}" name="contract_open" states="closed" type="object" class="oe_highlight" string="Set Contract In Progress" groups="fleet.group_fleet_manager"/>
<button class="oe_highlight" name="act_renew_contract" type="object" string="Renew Contract" help="Create a new contract automatically with all the same informations except for the date that will start at the end of current contract" groups="fleet.group_fleet_manager"/>
<field name="state" widget="statusbar" />
</header>
<sheet>
@ -491,7 +491,7 @@
</field>
</record>
<menuitem action="fleet_vehicle_log_contract_act" parent="fleet_vehicles" id="fleet_vehicle_log_contract_menu" />
<menuitem action="fleet_vehicle_log_contract_act" parent="fleet_vehicles" id="fleet_vehicle_log_contract_menu" groups="group_fleet_user"/>
<record model='ir.ui.view' id='fleet_vehicle_odometer_form'>
<field name="name">fleet.vehicle.odometer.form</field>
@ -568,7 +568,7 @@
</field>
</record>
<menuitem action="fleet_vehicle_odometer_act" parent="fleet_vehicles" id="fleet_vehicle_odometer_menu" />
<menuitem action="fleet_vehicle_odometer_act" parent="fleet_vehicles" id="fleet_vehicle_odometer_menu" groups="group_fleet_user"/>
<record model='ir.ui.view' id='fleet_vehicle_log_fuel_form'>
<field name="name">fleet.vehicle.log.fuel.form</field>
@ -657,7 +657,7 @@
</field>
</record>
<menuitem action="fleet_vehicle_log_fuel_act" parent="fleet_vehicles" id="fleet_vehicle_log_fuel_menu" />
<menuitem action="fleet_vehicle_log_fuel_act" parent="fleet_vehicles" id="fleet_vehicle_log_fuel_menu" groups="group_fleet_user"/>
<record model='ir.ui.view' id='fleet_vehicle_log_services_form'>
@ -749,7 +749,7 @@
</field>
</record>
<menuitem action="fleet_vehicle_log_services_act" parent="fleet_vehicles" id="fleet_vehicle_log_services_menu" />
<menuitem action="fleet_vehicle_log_services_act" parent="fleet_vehicles" id="fleet_vehicle_log_services_menu" groups="group_fleet_user"/>
<record model='ir.ui.view' id='fleet_vehicle_service_types_tree'>
<field name="name">fleet.service.type.tree</field>
@ -870,7 +870,7 @@
</field>
</record>
<menuitem action="fleet_vehicle_costs_act" parent="fleet_vehicles" id="fleet_vehicle_costs_menu" />
<menuitem action="fleet_vehicle_costs_act" parent="fleet_vehicles" id="fleet_vehicle_costs_menu" groups="group_fleet_manager"/>
<!--
<record model='ir.ui.view' id='fleet_hr_employee_form'>
<field name="name">fleet.hr.employee.form</field>

View File

@ -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>

View File

@ -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
Can't render this file because it contains an unexpected character in line 6 and column 59.