Skip to content

Commit

Permalink
Merge PR #435 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by LoisRForgeFlow
  • Loading branch information
OCA-git-bot committed Apr 26, 2024
2 parents bc3371d + 8793d9c commit f5283f8
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 3 deletions.
4 changes: 4 additions & 0 deletions ddmrp_report_part_flow_index/models/ddmrp_flow_index_group.py
Expand Up @@ -6,10 +6,14 @@

class DdmrpFlowIndexGroup(models.Model):
_name = "ddmrp.flow.index.group"
_order = "sequence, id"

name = fields.Char(required=True)
summary = fields.Text()
active = fields.Boolean(default=True)
lower_range = fields.Float(help="Lower range used to assign in stock buffer")
upper_range = fields.Float(help="Upper range used to assign in stock buffer")
sequence = fields.Integer(required=True)

def toggle_active(self):
for record in self:
Expand Down
40 changes: 39 additions & 1 deletion ddmrp_report_part_flow_index/models/stock_buffer.py
Expand Up @@ -8,5 +8,43 @@ class StockBuffer(models.Model):
_inherit = "stock.buffer"

flow_index_group_id = fields.Many2one(
"ddmrp.flow.index.group", string="Flow Index Group"
"ddmrp.flow.index.group", string="Flow Index Group", readonly=True
)

def _calc_flow_index_group_id(self):
flow_index_reports = self.env["report.ddmrp.part.plan.flow.index"].read_group(
domain=[("buffer_id", "in", self.ids)],
fields=["order_frequency_group"],
groupby=["buffer_id"],
)
flow_index_groups = self.env["ddmrp.flow.index.group"].search([])
for rec in self:
flow_index_report = list(
filter(lambda x: x["buffer_id"][0] == rec.id, flow_index_reports)
)
if not flow_index_report:
continue

frequency_group = flow_index_report[0]["order_frequency_group"]
for index_group in flow_index_groups:
if index_group.upper_range and index_group.lower_range:
if (
index_group.lower_range
<= frequency_group
<= index_group.upper_range
):
rec.flow_index_group_id = index_group
break
elif index_group.upper_range:
if index_group.upper_range >= frequency_group:
rec.flow_index_group_id = index_group
break
elif index_group.lower_range:
if frequency_group >= index_group.lower_range:
rec.flow_index_group_id = index_group
break

def cron_actions(self, only_nfp=False):
res = super().cron_actions(only_nfp=only_nfp)
self._calc_flow_index_group_id()
return res
Expand Up @@ -8,7 +8,10 @@
<field name="model">ddmrp.flow.index.group</field>
<field name="arch" type="xml">
<tree>
<field name="sequence" widget="handle" />
<field name="name" />
<field name="lower_range" />
<field name="upper_range" />
</tree>
</field>
</record>
Expand All @@ -29,6 +32,9 @@
<group>
<field name="active" invisible="1" />
<field name="name" />
<field name="sequence" />
<field name="lower_range" />
<field name="upper_range" />
</group>
</group>
<field name="summary" placeholder="Log a description..." />
Expand Down
4 changes: 2 additions & 2 deletions ddmrp_report_part_flow_index/views/stock_buffer_view.xml
Expand Up @@ -8,9 +8,9 @@
<field name="model">stock.buffer</field>
<field name="inherit_id" ref="ddmrp.stock_buffer_view_form" />
<field name="arch" type="xml">
<field name="product_type" position="after">
<group name="buffer_information" position="inside">
<field name="flow_index_group_id" />
</field>
</group>
</field>
</record>

Expand Down

0 comments on commit f5283f8

Please sign in to comment.