Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
10343 Lượt xem

Hello Forum, Please let me know, how to restrict the User by warehouse in V7 ?

Suppose there are "n" number of warehouses, then How to assign a Warehouse for user, to restrict the access ? So that, He will be accessible to only one Warehouse, its Locations and Products in that Warehouse- only.

Ảnh đại diện
Huỷ bỏ

Hi Nisthulan, have you already solved this problem? Can you help me I have the same problem on restricting users access in warehouse? Thanks in advance

Câu trả lời hay nhất

In a new custom module do the following :

Create a security group per warehouse and then create a Rule for each group that restrict this group to see this warehouse only, then assgin the required users to this group.

To implement my idea I created a module 'warehouse_filter'

I created for this purpose two warehouses 'warehouse 1' and 'warehouse 2'

I created two groups, one per warehouse, and a rule for each group with the domain using the warehouse name as a filter, I tested it and worked fine

Here is my work

<?xml version="1.0" ?>
<openerp>
<data>
<record model="ir.module.category" id="module_category_warehouse_filter">
<field name="name">Warehouse Filter</field>
<field name="sequence">80</field>
</record>
<record id="group_warehouse_1" model="res.groups">
<field name="name">Warehouse 1</field>
<field name="category_id" ref="warehouse_filter.module_category_warehouse_filter"/>
</record>
<record id="group_warehouse_2" model="res.groups">
<field name="name">Warehouse 2</field>
<field name="category_id" ref="warehouse_filter.module_category_warehouse_filter"/>
</record>
<record id="rule_for_warehouse_1" model="ir.rule">
<field name="name">Rule for Warehouse1</field>
<field ref="stock.model_stock_location" name="model_id"/>
<field name="domain_force">[('name','=','warehouse 1')]</field>
<field name="groups" eval="[(4, ref('warehouse_filter.group_warehouse_1'))]"/>
</record>
<record id="rule_for_warehouse_2" model="ir.rule">
<field name="name">Rule for Warehouse2</field>
<field ref="stock.model_stock_location" name="model_id"/>
<field name="domain_force">[('name','=','warehouse 2')]</field>
<field name="groups" eval="[(4, ref('warehouse_filter.group_warehouse_2'))]"/>
</record>
</data>
</openerp>

I hope this idea be useful.

This is the main idea, but it could be implemented better by create a new field in the stock.location model called 'wh_type', and filter by this field, not by the warehouse name, so several locations may take one type.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 3 15
4076
0
thg 3 15
3509
1
thg 3 15
5209
0
thg 3 15
3508
1
thg 3 22
8219