Skip to content

Commit

Permalink
[8.0.2.0.0][stock_picking_split_policy]
Browse files Browse the repository at this point in the history
  • Loading branch information
mikevhe18 committed Jun 24, 2019
1 parent d0a8bdd commit 44fd1ab
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 24 deletions.
3 changes: 2 additions & 1 deletion stock_picking_split_policy/__openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Stock Picking Split Policy",
"version": "8.0.1.1.0",
"version": "8.0.2.0.0",
"category": "Stock Management",
"website": "https://opensynergy-indonesia.com",
"author": "OpenSynergy Indonesia",
Expand All @@ -14,6 +14,7 @@
"stock_split_picking",
],
"data": [
"data/base_workflow_policy_data.xml",
"views/stock_picking_type_views.xml",
"views/stock_picking_views.xml",
],
Expand Down
13 changes: 13 additions & 0 deletions stock_picking_split_policy/data/base_workflow_policy_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2019 OpenSynergy Indonesia
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->

<openerp>
<data>
<record id="base_workflow_line_stock_picking_split" model="base.workflow_policy_line">
<field name="workflow_id" ref="stock_picking_policy.base_workflow_stock_picking"/>
<field name="field_id" search="[('model_id.model','=','stock.picking'),('name','=','split_ok')]"/>
<field name="python_code">result = document.picking_type_id.split_group_ids.ids</field>
</record>
</data>
</openerp>
26 changes: 3 additions & 23 deletions stock_picking_split_policy/models/stock_picking.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,11 @@ class StockPicking(models.Model):

@api.multi
@api.depends(
"picking_type_id.split_group_ids",
"picking_type_id",
)
def _compute_policy(self):
super(StockPicking, self)._compute_policy()
obj_picking_type = self.env["stock.picking.type"]
for picking in self:
picking.split_ok = False
picking_id = self.env.context.get("default_picking_type_id", False)
if not picking_id:
continue
picking_type = obj_picking_type.browse([picking_id])[0]
picking.split_ok = self._split_policy(picking_type)

@api.model
def _split_policy(self, picking_type):
result = False
user = self.env.user
split_group_ids = picking_type.split_group_ids.ids
group_ids = user.groups_id.ids
if not picking_type.split_group_ids.ids:
result = True
else:
if (set(split_group_ids) & set(group_ids)):
result = True
return result
_super = super(StockPicking, self)
_super._compute_policy()

split_ok = fields.Boolean(
string="Can Split",
Expand Down

0 comments on commit 44fd1ab

Please sign in to comment.