Skip to content

Commit 1deb5d0

Browse files
committed
[IMP] vineyard: clean up code
1 parent 7daa02b commit 1deb5d0

20 files changed

+38
-345
lines changed

vineyard/data/base_automation.xml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<odoo>
3-
<record id="industry_on_harvest_base_automation_1" model="base.automation">
4-
<field name="model_id" ref="mrp.model_mrp_production"/>
5-
<field name="action_server_ids" eval="[(6, 0, [ref('industry_harvest_and_transfer_server_action')])]"/>
6-
<field name="trigger">on_create_or_write</field>
7-
<field name="filter_domain">[("state", "=", "done")]</field>
8-
<field name="filter_pre_domain" eval="[('picking_type_id', 'in', [ref('vineyard.stock_picking_type_27')]), ('state', 'in', ['confirmed'])]"/>
9-
<field name="name">On harvest</field>
10-
<field name="trigger_field_ids" eval="[(6, 0, [ref('mrp.field_mrp_production__state')])]"/>
11-
</record>
123
<record id="industry_on_harvest_base_automation_2" model="base.automation">
134
<field name="model_id" ref="stock.model_stock_picking"/>
145
<field name="action_server_ids" eval="[(6, 0, [ref('industry_check_harvest_is_from_harvest_location_server_action')])]"/>

vineyard/data/ir_actions_act_window.xml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<odoo>
33
<record id="harvests_action_act_window_1" model="ir.actions.act_window">
4+
<field name="name">Harvests</field>
5+
<field name="res_model">stock.picking</field>
6+
<field name="view_mode">list,form</field>
47
<field name="domain">[("x_is_harvest", "!=", False)]</field>
5-
<field name="context" eval="{
6-
'default_picking_type_id': ref('vineyard.stock_picking_type_27'),
7-
'default_x_is_harvest': True
8-
}"/>
8+
<field name="context">{
9+
'default_picking_type_id': ref('vineyard.stock_picking_type_27'),
10+
'default_x_is_harvest': True
11+
}</field>
912
<field name="help"><![CDATA[<p class="o_view_nocontent_smiling_face">
1013
This is your new action.
1114
</p>
@@ -17,9 +20,6 @@
1720
top right corner (you can also customize this help message there).
1821
</p>
1922
]]></field>
20-
<field name="name">Harvests</field>
21-
<field name="res_model">stock.picking</field>
22-
<field name="view_mode">list,form</field>
2323
</record>
2424
<record id="harvests_action_act_window_2" model="ir.actions.act_window">
2525
<field name="name">Harvests</field>
@@ -35,7 +35,7 @@
3535
'graph_stacked': False,
3636
'graph_cumulated': False
3737
}</field>
38-
<field name="domain">["&amp;", ("location_id.x_harvest_location", "!=", False), ("picking_id.x_is_harvest", "!=", False),("state", "=", "done")]</field>
38+
<field name="domain">["&amp;", ("location_id.x_is_harvest", "!=", False), ("picking_id.x_is_harvest", "!=", False),("state", "=", "done")]</field>
3939
<field name="help"><![CDATA[<p class="o_view_nocontent_smiling_face">
4040
This is your new action.
4141
</p>
@@ -49,7 +49,6 @@
4949
]]></field>
5050
</record>
5151
<record id="quality_check_tests_action_window" model="ir.actions.act_window">
52-
<!-- <field name="context">{'default_x_recipe_iteration': active_id}</field> -->
5352
<field name="context">{}</field>
5453
<field name="domain">[('x_recipe_iteration', '=', active_id)]</field>
5554
<field name="name">Tests</field>
Lines changed: 8 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,24 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<odoo>
3-
<record id="industry_harvest_and_transfer_server_action" model="ir.actions.server">
4-
<field name="code"><![CDATA[dest_location = env['stock.location'].search([('complete_name', '=', 'WH/Stock')], limit=1)
5-
if not dest_location:
6-
raise UserError("Destination location not found (WH/Stock).")
7-
8-
# Confirm harvest
9-
record.action_confirm()
10-
11-
# Match inputs and set as done
12-
record['qty_producing'] = record.product_qty
13-
record.action_generate_serial()
14-
record.button_mark_done()
15-
16-
# Create a picking
17-
picking = env['stock.picking'].create({
18-
'picking_type_id': env.ref('stock.picking_type_internal').id,
19-
'location_id': record.location_dest_id.id,
20-
'location_dest_id': dest_location.id,
21-
'origin': record.name,
22-
'move_type': 'direct',
23-
})
24-
25-
# Add stock moves for the finished products
26-
for move in record.move_finished_ids.filtered(lambda m: m.product_id.type == 'product'):
27-
env['stock.move'].create({
28-
'name': move.product_id.display_name,
29-
'product_id': move.product_id.id,
30-
'product_uom_qty': move.quantity_done,
31-
'product_uom': move.product_uom.id,
32-
'location_id': record.location_dest_id.id,
33-
'location_dest_id': dest_location.id,
34-
'picking_id': picking.id,
35-
})
36-
37-
# Confirm, assign and validate the picking
38-
picking.action_confirm()
39-
picking.action_assign()
40-
picking.button_validate()
41-
42-
43-
]]></field>
44-
<field name="model_id" ref="mrp.model_mrp_production"/>
45-
<field name="state">code</field>
46-
<field name="name">Harvest and transfer</field>
47-
<field name="usage">base_automation</field>
48-
</record>
493
<record id="industry_check_harvest_is_from_harvest_location_server_action" model="ir.actions.server">
50-
<field name="code"><![CDATA[if record.picking_type_id.x_is_harvest and not record.location_id.x_harvest_location:
51-
raise UserError ("Source location shall be eligible for harvest.")]]></field>
52-
<field name="model_id" ref="stock.model_stock_picking"/>
53-
<field name="state">code</field>
544
<field name="name">Check Harvest Is From Harvest Location</field>
5+
<field name="model_id" ref="stock.model_stock_picking"/>
556
<field name="usage">base_automation</field>
7+
<field name="state">code</field>
8+
<field name="code"><![CDATA[if record.picking_type_id.x_is_harvest and not record.location_id.x_is_harvest:
9+
raise UserError ("Source location shall be eligible for harvest.")]]></field>
5610
</record>
5711
<record id="industry_create_lot_on_validation_server_action" model="ir.actions.server">
12+
<field name="name">Action for Assign Serial</field>
13+
<field name="model_id" ref="stock.model_stock_picking"/>
14+
<field name="usage">base_automation</field>
15+
<field name="state">code</field>
5816
<field name="code"><![CDATA[
5917
for picking in records:
6018
for ml in picking.move_line_ids:
6119
product = ml.product_id
62-
6320
if not product or product.tracking != 'lot':
6421
continue
65-
6622
if not ml.lot_id:
6723
serial = env['ir.sequence'].next_by_code('auto.lot.serial')
6824
lot = env['stock.lot'].create({
@@ -72,36 +28,5 @@ for picking in records:
7228
})
7329
ml.write({'lot_id': lot.id})
7430
]]></field>
75-
<!-- <field name="code"><![CDATA[
76-
generated_serial = env['ir.sequence'].next_by_code('auto.lot.serial')
77-
prefix = generated_serial.split('-')[0] + '-'
78-
existing_lots = set(
79-
env['stock.lot'].search([
80-
('name', 'like', prefix + '%')
81-
]).mapped('name')
82-
)
83-
84-
for picking in records:
85-
for ml in picking.move_line_ids:
86-
product = ml.product_id
87-
if not product or product.tracking != 'lot':
88-
continue
89-
90-
if not ml.lot_id:
91-
serial = generated_serial
92-
while serial in existing_lots:
93-
serial = env['ir.sequence'].next_by_code('auto.lot.serial')
94-
95-
lot = env['stock.lot'].create({
96-
'name': serial,
97-
'product_id': product.id,
98-
'company_id': picking.company_id.id,
99-
})
100-
ml.write({'lot_id': lot.id})
101-
]]></field> -->
102-
<field name="model_id" ref="stock.model_stock_picking"/>
103-
<field name="state">code</field>
104-
<field name="name">Action for Assign Serial</field>
105-
<field name="usage">base_automation</field>
10631
</record>
10732
</odoo>

vineyard/data/ir_model_access.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<odoo>
3-
<record id="x_project_task_worksheet_template_1_ir_model_access_2" model="ir.model.access" forcecreate="1">
3+
<record id="x_project_task_worksheet_template_1_ir_model_access_2" model="ir.model.access">
44
<field name="group_id" ref="project.group_project_user"/>
55
<field name="model_id" ref="x_project_task_worksheet_template_1_ir_model_1"/>
66
<field name="name">x_project_task_worksheet_template_1_user_access</field>
@@ -9,7 +9,7 @@
99
<field name="perm_unlink" eval="True"/>
1010
<field name="perm_write" eval="True"/>
1111
</record>
12-
<record id="x_project_task_worksheet_template_1_ir_model_access_1" model="ir.model.access" forcecreate="1">
12+
<record id="x_project_task_worksheet_template_1_ir_model_access_1" model="ir.model.access">
1313
<field name="group_id" ref="project.group_project_manager"/>
1414
<field name="model_id" ref="x_project_task_worksheet_template_1_ir_model_1"/>
1515
<field name="name">x_project_task_worksheet_template_1_manager_access</field>

vineyard/data/ir_model_fields.xml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<field name="copied" eval="True"/>
66
<field name="field_description">Harvest Location</field>
77
<field name="model_id" ref="stock.model_stock_location"/>
8-
<field name="name">x_harvest_location</field>
8+
<field name="name">x_is_harvest</field>
99
</record>
1010
<record id="stock_model_stock_picking_type_x_is_harvest_field" model="ir.model.fields">
1111
<field name="ttype">boolean</field>
@@ -32,15 +32,17 @@
3232
<field name="relation">mrp.eco</field>
3333
</record>
3434
<record id="mrp_plm_model_mrp_eco_x_recipe_iteration_quality_check_count_field" model="ir.model.fields">
35-
<field name="compute"><![CDATA[
36-
for record in self: record['x_recipe_iteration_quality_check_count'] = self.env['quality.check'].search_count([('x_recipe_iteration', '=', record.id)])
37-
]]></field>
3835
<field name="ttype">integer</field>
3936
<field name="field_description">Recipe Iteration count</field>
4037
<field name="model_id" ref="mrp_plm.model_mrp_eco"/>
4138
<field name="name">x_recipe_iteration_quality_check_count</field>
4239
<field name="selectable" eval="False"/>
4340
<field name="store" eval="False"/>
41+
<field name="compute"><![CDATA[
42+
check_data = self.env['quality.check']._read_group(domain=[('x_recipe_iteration', 'in', self.ids)], groupby=['x_recipe_iteration'], aggregates=['__count'])
43+
mapped_data = {eco.id: count for eco, count in check_data}
44+
for eco in self: eco['x_recipe_iteration_quality_check_count'] = mapped_data.get(eco.id, 0)
45+
]]></field>
4446
</record>
4547
<record id="quality_model_quality_check_x_control_point_title_field" model="ir.model.fields">
4648
<field name="ttype">char</field>

vineyard/data/ir_rule.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<odoo noupdate="1">
3-
<record id="x_project_task_worksheet_template_1_ir_rule_1" model="ir.rule" forcecreate="1">
3+
<record id="x_project_task_worksheet_template_1_ir_rule_1" model="ir.rule">
44
<field name="domain_force"><![CDATA[[('create_uid', '=', user.id)]]]></field>
55
<field name="groups" eval="[(6, 0, [ref('project.group_project_user')])]"/>
66
<field name="model_id" ref="x_project_task_worksheet_template_1_ir_model_1"/>
77
<field name="name">x_project_task_worksheet_template_1_own</field>
88
</record>
9-
<record id="x_project_task_worksheet_template_1_ir_rule_2" model="ir.rule" forcecreate="1">
9+
<record id="x_project_task_worksheet_template_1_ir_rule_2" model="ir.rule">
1010
<field name="domain_force"><![CDATA[[(1, '=', 1)]]]></field>
1111
<field name="groups" eval="[(6, 0, [ref('project.group_project_manager'), ref('industry_fsm.group_fsm_user')])]"/>
1212
<field name="model_id" ref="x_project_task_worksheet_template_1_ir_model_1"/>

vineyard/data/ir_ui_view.xml

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<field name="arch" type="xml">
55
<data>
66
<xpath expr="//field[@name='replenish_location']" position="after">
7-
<field name="x_harvest_location"/>
7+
<field name="x_is_harvest"/>
88
</xpath>
99
</data>
1010
</field>
@@ -69,7 +69,7 @@
6969
<field name="arch" type="xml">
7070
<data>
7171
<xpath expr="//form[1]/sheet[1]/group[1]/group[1]/field[@name='picking_type_id']" position="after">
72-
<field name="location_id" hidden="not x_is_harvest" domain="[(&quot;x_harvest_location&quot;, &quot;!=&quot;, False)]"/>
72+
<field name="location_id" hidden="not x_is_harvest" domain="[(&quot;x_is_harvest&quot;, &quot;!=&quot;, False)]"/>
7373
</xpath>
7474
</data>
7575
</field>
@@ -97,11 +97,6 @@
9797
<xpath expr="//field[@name='user_id']" position="after">
9898
<xpath expr="//field[@name='state']" position="move"/>
9999
</xpath>
100-
<!-- <xpath expr="//field[@name='scheduled_date']" position="attributes">
101-
<attribute name="invisible"/>
102-
<attribute name="readonly"/>
103-
<attribute name="widget"/>
104-
</xpath> -->
105100
<xpath expr="//field[@name='date_done']" position="attributes">
106101
<attribute name="optional">show</attribute>
107102
</xpath>
@@ -121,11 +116,6 @@
121116
<xpath expr="//field[@name='product_id']" position="replace">
122117
<field name="date" type="col"/>
123118
</xpath>
124-
<!-- <xpath expr="//graph[1]" position="attributes">
125-
<attribute name="order">asc</attribute>
126-
<attribute name="stacked">0</attribute>
127-
<attribute name="type">line</attribute>
128-
</xpath> -->
129119
<xpath expr="//field[@name='location_dest_id'][not(ancestor::field)]" position="replace">
130120
<field name="location_id" type="col"/>
131121
</xpath>
@@ -163,22 +153,6 @@
163153
<field name="active" eval="True"/>
164154
<field name="type">list</field>
165155
</record>
166-
<!-- <record id="mrp_bom_tree_view_inherit" model="ir.ui.view">
167-
<field name="arch" type="xml">
168-
<data>
169-
<xpath expr="//list[1]" position="attributes">
170-
<attribute name="default_order">code asc</attribute>
171-
</xpath>
172-
</data>
173-
</field>
174-
<field name="inherit_id" ref="mrp.mrp_bom_tree_view"/>
175-
<field name="mode">extension</field>
176-
<field name="model">mrp.bom</field>
177-
<field name="name">mrp.bom.list</field>
178-
<field name="priority">99</field>
179-
<field name="active" eval="True"/>
180-
<field name="type">list</field>
181-
</record> -->
182156
<record id="stock_move_search_view_inherit" model="ir.ui.view">
183157
<field name="arch" type="xml">
184158
<data>
@@ -390,7 +364,7 @@
390364
<xpath expr="//filter[@name='in_location']" position="replace">
391365
<filter name="in_location"
392366
string="Internal"
393-
domain="['|', ('usage', '=', 'internal'), ('x_harvest_location', '!=', False)]"
367+
domain="['|', ('usage', '=', 'internal'), ('x_is_harvest', '!=', False)]"
394368
help="Internal Locations"/>
395369
</xpath>
396370
</field>

vineyard/data/mrp_bom_line.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
<field name="product_qty">150.0</field>
3131
<field name="product_uom_id" ref="uom.product_uom_gram"/>
3232
</record>
33-
3433
<record id="mrp_bom_line_6" model="mrp.bom.line">
3534
<field name="product_id" ref="product_product_14"/>
3635
<field name="bom_id" ref="mrp_bom_5"/>
@@ -61,7 +60,6 @@
6160
<field name="product_qty">10.0</field>
6261
<field name="product_uom_id" ref="uom.product_uom_gram"/>
6362
</record>
64-
6563
<record id="mrp_bom_line_8" model="mrp.bom.line">
6664
<field name="product_id" ref="product_product_13"/>
6765
<field name="bom_id" ref="mrp_bom_6"/>
@@ -92,7 +90,6 @@
9290
<field name="product_qty">15.0</field>
9391
<field name="product_uom_id" ref="uom.product_uom_gram"/>
9492
</record>
95-
9693
<record id="mrp_bom_line_13" model="mrp.bom.line">
9794
<field name="product_id" ref="product_product_11"/>
9895
<field name="bom_id" ref="mrp_bom_7"/>
@@ -117,7 +114,6 @@
117114
<field name="product_qty">6.0</field>
118115
<field name="product_uom_id" ref="uom.product_uom_gram"/>
119116
</record>
120-
121117
<record id="mrp_bom_line_14" model="mrp.bom.line">
122118
<field name="product_id" ref="product_product_9"/>
123119
<field name="bom_id" ref="mrp_bom_8"/>
@@ -142,7 +138,6 @@
142138
<field name="product_qty">3.0</field>
143139
<field name="product_uom_id" ref="uom.product_uom_gram"/>
144140
</record>
145-
146141
<record id="mrp_bom_line_15" model="mrp.bom.line">
147142
<field name="product_id" ref="product_product_10"/>
148143
<field name="bom_id" ref="mrp_bom_9"/>
@@ -167,7 +162,6 @@
167162
<field name="product_qty">8.0</field>
168163
<field name="product_uom_id" ref="uom.product_uom_gram"/>
169164
</record>
170-
171165
<record id="mrp_bom_line_28" model="mrp.bom.line">
172166
<field name="product_id" ref="product_product_15"/>
173167
<field name="bom_id" ref="mrp_bom_13"/>

vineyard/data/product_product.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,12 @@
4141
</record>
4242
<record id="product_product_25" model="product.product">
4343
<field name="product_tmpl_id" ref="product_template_25"/>
44-
<field name="weight">1.5</field>
45-
<field name="is_favorite" eval="True"/>
4644
</record>
4745
<record id="product_product_26" model="product.product">
4846
<field name="product_tmpl_id" ref="product_template_26"/>
49-
<field name="weight">1.5</field>
50-
<field name="is_favorite" eval="True"/>
5147
</record>
5248
<record id="product_product_27" model="product.product">
5349
<field name="product_tmpl_id" ref="product_template_27"/>
54-
<field name="weight">1.5</field>
55-
<field name="is_favorite" eval="True"/>
5650
</record>
5751
<record id="product_product_29" model="product.product">
5852
<field name="product_tmpl_id" ref="product_template_29"/>

0 commit comments

Comments
 (0)