Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,8 @@ For Support :
* Website : www.techspawn.com
* Facebook : www.facebook.com/techspawnsolutions/
* Twitter : www.twitter.com/techspawn/

Contributors:
=============

* F?brica de Software Libre: www.fslibre.com
Binary file removed __init__.pyc
Binary file not shown.
7 changes: 5 additions & 2 deletions __openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,11 @@
'depends': ['base', 'stock'],

'data': [

'users_view.xml',
'security/security.xml',
'stock_view.xml',
'security/security.xml',
],
'installable': True,
'application': False,
'auto_install': False,
}
20 changes: 8 additions & 12 deletions security/security.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

<record id="filter_user_stock_picking_type_allowed" model="ir.rule">
<field name="name">Filter Stock Picking Type Allowed</field>
<field name="model_id" search="[('model','=','stock.picking.type')]" model="ir.model"/>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="domain_force">[('id','in', [ p.id for p in user.default_picking_type_ids ])]</field>
</record>

</data>
</openerp>
<odoo>
<record id="filter_user_stock_picking_type_allowed" model="ir.rule">
<field name="name">Filter Stock Picking Type Allowed</field>
<field name="model_id" search="[('model','=','stock.picking.type')]" model="ir.model"/>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="domain_force">['|', ('allowed_user_ids','=', False), ('id','in', [ p.id for p in user.default_picking_type_ids ])]</field>
</record>
</odoo>
12 changes: 9 additions & 3 deletions stock.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-

from openerp import models, fields, api, _
from openerp.exceptions import Warning


class ResUsers(models.Model):
_inherit = 'res.users'

Expand All @@ -20,6 +20,14 @@ class ResUsers(models.Model):
'user_id', 'picking_type_id', string='Default Warehouse Operations')


class StockPickingType(models.Model):
_inherit = 'stock.picking.type'

allowed_user_ids = fields.Many2many(
'res.users', 'stock_picking_type_users_rel',
'picking_type_id', 'user_id', string='Allowed users', )


class stock_move(models.Model):
_inherit = 'stock.move'

Expand All @@ -38,5 +46,3 @@ def check_user_location_rights(self):
raise Warning(message % self.location_id.name)
elif self.location_dest_id not in user_locations:
raise Warning(message % self.location_dest_id.name)


Binary file removed stock.pyc
Binary file not shown.
15 changes: 15 additions & 0 deletions stock_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_picking_type_form" model="ir.ui.view">
<field name="name">Picking type allowed users form view</field>
<field name="model">stock.picking.type</field>
<field name="inherit_id" ref="stock.view_picking_type_form"/>
<field name="arch" type="xml">
<xpath expr="//sheet" position="inside">
<group string="Allowed users" groups="stock.group_stock_manager">
<field name="allowed_user_ids" widget="many2many_tags"/>
</group>
</xpath>
</field>
</record>
</odoo>
42 changes: 14 additions & 28 deletions users_view.xml
Original file line number Diff line number Diff line change
@@ -1,31 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_users_form" model="ir.ui.view">
<field name="name">usability.default_warehouse.res.users.form</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group string="Menus Customization" position="inside">
<odoo>
<record id="view_users_form" model="ir.ui.view">
<field name="name">usability.default_warehouse.res.users.form</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group name="preferences" position="after">
<group string="Warehouse Restrictions">
<field name="default_picking_type_ids" widget="many2many_tags" attrs="{'invisible': [('login','=', 'admin')]}"/>
<field name="restrict_locations" attrs="{'invisible': [('login','=', 'admin')]}"/>
<field name="stock_location_ids" widget="many2many_tags" attrs="{'invisible': [('restrict_locations','!=', True)]}"/>
</group>
</field>
</record>

<record id="view_location_security_users_form" model="ir.ui.view">
<field name="name">location_security.users.form</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<group string="Menus Customization" position="inside">
<field name="restrict_locations" attrs="{'invisible': [('login','=', 'admin')]}"/>
</group>
<page string="Preferences" position="after">
<page string="Allowed Stock Locations" attrs="{'invisible': [('restrict_locations','!=', True)]}">
<field name="stock_location_ids" nolabel="1" colspan="2"/>
</page>
</page>
</field>
</record>
</data>
</openerp>
</group>
</field>
</record>
</odoo>