Skip to content

Commit 4a66cc0

Browse files
mamcodeReyes4711-S73
authored andcommitted
[IMP] maintenance_stock: pre-commit execution
1 parent 3e11d11 commit 4a66cc0

17 files changed

+386
-273
lines changed

maintenance_stock/__manifest__.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,15 @@
88
"version": "12.0.1.0.0",
99
"category": "Warehouse",
1010
"website": "https://github.com/OCA/maintenance",
11-
"depends": [
12-
"base_maintenance",
13-
"stock",
14-
],
11+
"depends": ["base_maintenance", "stock",],
1512
"data": [
1613
"views/maintenance_equipment_views.xml",
1714
"views/maintenance_request_views.xml",
1815
"views/stock_move_views.xml",
1916
"views/stock_move_line_views.xml",
2017
"views/stock_picking_views.xml",
2118
],
22-
"demo": [
23-
"data/demo_maintenance_stock.xml",
24-
],
19+
"demo": ["data/demo_maintenance_stock.xml",],
2520
"post_init_hook": "post_init_hook",
26-
'installable': True,
21+
"installable": True,
2722
}

maintenance_stock/data/demo_maintenance_stock.xml

Lines changed: 64 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8" ?>
22
<odoo>
33
<data noupdate="1">
44

55
<record id="stock_warehouse_maintenance" model="stock.warehouse">
66
<field name="name">Maintenance Warehouse</field>
7-
<field name="partner_id" ref="stock.res_partner_address_41"/>
8-
<field name="company_id" ref="stock.res_company_1"/>
7+
<field name="partner_id" ref="stock.res_partner_address_41" />
8+
<field name="company_id" ref="stock.res_company_1" />
99
<field name="code">Main</field>
1010
</record>
1111

1212
<function model="ir.model.data" name="_update_xmlids">
13-
<value model="base" eval="[{
13+
<value
14+
model="base"
15+
eval="[{
1416
'xml_id': 'maintenance_stock.main_picking_type_cons',
1517
'record': obj().env.ref('maintenance_stock.stock_warehouse_maintenance').cons_type_id,
1618
'noupdate': True,
@@ -22,63 +24,83 @@
2224
'xml_id': 'maintenance_stock.main_location_cons',
2325
'record': obj().env.ref('maintenance_stock.stock_warehouse_maintenance').wh_cons_loc_id,
2426
'noupdate': True,
25-
}]"/>
27+
}]"
28+
/>
2629
</function>
2730

2831
<record id="product_toner" model="product.product">
2932
<field name="default_code">TON_1234</field>
3033
<field name="name">Toner</field>
3134
<field name="type">product</field>
32-
<field name="categ_id" ref="product.product_category_5"/>
35+
<field name="categ_id" ref="product.product_category_5" />
3336
<field name="lst_price">100.0</field>
3437
<field name="standard_price">70.0</field>
35-
<field name="uom_id" ref="uom.product_uom_unit"/>
36-
<field name="uom_po_id" ref="uom.product_uom_unit"/>
37-
<field name="property_stock_inventory" ref="stock.location_inventory"/>
38-
<field name="image" type="base64" file="maintenance_stock/static/img/toner.png"/>
38+
<field name="uom_id" ref="uom.product_uom_unit" />
39+
<field name="uom_po_id" ref="uom.product_uom_unit" />
40+
<field name="property_stock_inventory" ref="stock.location_inventory" />
41+
<field
42+
name="image"
43+
type="base64"
44+
file="maintenance_stock/static/img/toner.png"
45+
/>
3946
</record>
4047

4148
<record id="stock_inventory_toner" model="stock.inventory">
4249
<field name="name">Inventory for Toner</field>
4350
<field name="filter">product</field>
44-
<field name="product_id" ref="maintenance_stock.product_toner"/>
51+
<field name="product_id" ref="maintenance_stock.product_toner" />
4552
</record>
4653

4754
<record id="stock_inventory_toner_line" model="stock.inventory.line">
48-
<field name="product_id" ref="maintenance_stock.product_toner"/>
49-
<field name="product_uom_id" ref="uom.product_uom_unit"/>
50-
<field name="inventory_id" ref="maintenance_stock.stock_inventory_toner"/>
55+
<field name="product_id" ref="maintenance_stock.product_toner" />
56+
<field name="product_uom_id" ref="uom.product_uom_unit" />
57+
<field name="inventory_id" ref="maintenance_stock.stock_inventory_toner" />
5158
<field name="product_qty">50.0</field>
52-
<field name="location_id" ref="maintenance_stock.main_location_stock"/>
59+
<field name="location_id" ref="maintenance_stock.main_location_stock" />
5360
</record>
5461

5562
<function model="stock.inventory" name="action_validate">
56-
<function eval="[[('state','=','draft'),('id', '=', ref('maintenance_stock.stock_inventory_toner'))]]" model="stock.inventory" name="search"/>
63+
<function
64+
eval="[[('state','=','draft'),('id', '=', ref('maintenance_stock.stock_inventory_toner'))]]"
65+
model="stock.inventory"
66+
name="search"
67+
/>
5768
</function>
5869

5970
<record id="maintenance.equipment_printer1" model="maintenance.equipment">
60-
<field name="allow_consumptions" eval="True"/>
61-
<field name="default_consumption_warehouse_id"
62-
ref="maintenance_stock.stock_warehouse_maintenance"/>
71+
<field name="allow_consumptions" eval="True" />
72+
<field
73+
name="default_consumption_warehouse_id"
74+
ref="maintenance_stock.stock_warehouse_maintenance"
75+
/>
6376
</record>
6477

6578
<record id="m_request_1" model="maintenance.request">
6679
<field name="name">Change toner</field>
67-
<field name="user_id" ref="base.user_demo"/>
68-
<field name="owner_user_id" ref="base.user_admin"/>
69-
<field name="equipment_id" ref="maintenance.equipment_printer1"/>
80+
<field name="user_id" ref="base.user_demo" />
81+
<field name="owner_user_id" ref="base.user_admin" />
82+
<field name="equipment_id" ref="maintenance.equipment_printer1" />
7083
<field name="color">7</field>
71-
<field name="stage_id" ref="maintenance.stage_1"/>
72-
<field name="maintenance_team_id" ref="maintenance.equipment_team_maintenance"/>
84+
<field name="stage_id" ref="maintenance.stage_1" />
85+
<field
86+
name="maintenance_team_id"
87+
ref="maintenance.equipment_team_maintenance"
88+
/>
7389
</record>
7490

7591
<record id="consuption_picking_m_request_1" model="stock.picking">
76-
<field name="picking_type_id" ref="maintenance_stock.main_picking_type_cons"/>
77-
<field name="date" eval="DateTime.today() - timedelta(days=15)"/>
78-
<field name="location_id" ref="maintenance_stock.main_location_stock"/>
79-
<field name="location_dest_id" ref="maintenance_stock.main_location_cons"/>
80-
<field name="maintenance_request_id" ref="maintenance_stock.m_request_1"/>
81-
<field name="move_lines" model="stock.move" eval="[(0, 0, {
92+
<field
93+
name="picking_type_id"
94+
ref="maintenance_stock.main_picking_type_cons"
95+
/>
96+
<field name="date" eval="DateTime.today() - timedelta(days=15)" />
97+
<field name="location_id" ref="maintenance_stock.main_location_stock" />
98+
<field name="location_dest_id" ref="maintenance_stock.main_location_cons" />
99+
<field name="maintenance_request_id" ref="maintenance_stock.m_request_1" />
100+
<field
101+
name="move_lines"
102+
model="stock.move"
103+
eval="[(0, 0, {
82104
'name': obj().env.ref('maintenance_stock.product_toner').name,
83105
'product_id': ref('maintenance_stock.product_toner'),
84106
'product_uom': ref('uom.product_uom_unit'),
@@ -93,17 +115,24 @@
93115
'location_id': ref('maintenance_stock.main_location_stock'),
94116
'location_dest_id': ref('maintenance_stock.main_location_cons'),
95117
})],
96-
})]"/>
118+
})]"
119+
/>
97120
</record>
98121

99122
<function model="stock.picking" name="action_confirm">
100-
<value model="stock.picking" eval="[
101-
obj().env.ref('maintenance_stock.consuption_picking_m_request_1').id]"/>
123+
<value
124+
model="stock.picking"
125+
eval="[
126+
obj().env.ref('maintenance_stock.consuption_picking_m_request_1').id]"
127+
/>
102128
</function>
103129

104130
<function model="stock.picking" name="action_done">
105-
<value model="stock.picking" eval="[
106-
obj().env.ref('maintenance_stock.consuption_picking_m_request_1').id]"/>
131+
<value
132+
model="stock.picking"
133+
eval="[
134+
obj().env.ref('maintenance_stock.consuption_picking_m_request_1').id]"
135+
/>
107136
</function>
108137

109138
</data>

maintenance_stock/hooks.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
33

44
import logging
5+
56
from odoo import SUPERUSER_ID, api
67

78

89
def post_init_hook(cr, registry):
9-
logging.getLogger('odoo.addons.maintenance_stock').info(
10-
'Adding pending locations, sequences and pìcking types to '
11-
'current warehouses')
10+
logging.getLogger("odoo.addons.maintenance_stock").info(
11+
"Adding pending locations, sequences and pìcking types to " "current warehouses"
12+
)
1213

1314
env = api.Environment(cr, SUPERUSER_ID, {})
1415
PickingType = env["stock.picking.type"]
@@ -18,5 +19,6 @@ def post_init_hook(cr, registry):
1819
warehouse.write(new_vals)
1920
# return picking type workaround for existing warehouses
2021
if "cons_type_id" in new_vals:
21-
PickingType.browse(new_vals["cons_type_id"]).write({
22-
"return_picking_type_id": warehouse.in_type_id.id})
22+
PickingType.browse(new_vals["cons_type_id"]).write(
23+
{"return_picking_type_id": warehouse.in_type_id.id}
24+
)

maintenance_stock/models/maintenance_equipment.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ class MaintenanceEquipment(models.Model):
1111
inverse_name="maintenance_equipment_id",
1212
groups="stock.group_stock_user",
1313
)
14-
allow_consumptions = fields.Boolean(
15-
groups="stock.group_stock_user",
16-
)
14+
allow_consumptions = fields.Boolean(groups="stock.group_stock_user",)
1715
default_consumption_warehouse_id = fields.Many2one(
1816
string="Default Consumption Warehouse",
1917
comodel_name="stock.warehouse",
@@ -36,24 +34,29 @@ def action_view_stock_picking_ids(self):
3634

3735
def action_view_stock_move_ids(self):
3836
self.ensure_one()
39-
action = self.env.ref('stock.stock_move_action').read()[0]
40-
action['domain'] = [('maintenance_equipment_id', '=', self.id)]
37+
action = self.env.ref("stock.stock_move_action").read()[0]
38+
action["domain"] = [("maintenance_equipment_id", "=", self.id)]
4139
return action
4240

4341
def action_view_stock_move_line_ids(self):
4442
self.ensure_one()
45-
action = self.env.ref('stock.stock_move_line_action').read()[0]
46-
action['domain'] = [('maintenance_equipment_id', '=', self.id)]
43+
action = self.env.ref("stock.stock_move_line_action").read()[0]
44+
action["domain"] = [("maintenance_equipment_id", "=", self.id)]
4745

4846
# TODO Grouping by destination allows separating consumptions
4947
# and returns. Look for a better system and remove this
50-
show_groupby_to = len(self.env['stock.move.line'].search(
51-
[('maintenance_equipment_id', '=', self.id)]
52-
).mapped('location_dest_id')) > 1
53-
54-
action['context'] = {
55-
'search_default_done': 1,
56-
'search_default_groupby_location_dest_id': show_groupby_to,
57-
'search_default_groupby_product_id': 1,
48+
show_groupby_to = (
49+
len(
50+
self.env["stock.move.line"]
51+
.search([("maintenance_equipment_id", "=", self.id)])
52+
.mapped("location_dest_id")
53+
)
54+
> 1
55+
)
56+
57+
action["context"] = {
58+
"search_default_done": 1,
59+
"search_default_groupby_location_dest_id": show_groupby_to,
60+
"search_default_groupby_product_id": 1,
5861
}
5962
return action

maintenance_stock/models/maintenance_request.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,36 +24,39 @@ class MaintenanceRequest(models.Model):
2424

2525
def action_view_stock_picking_ids(self):
2626
self.ensure_one()
27-
action = self.env.ref(
28-
'stock.stock_picking_action_picking_type').read()[0]
29-
action['domain'] = [('maintenance_request_id', '=', self.id)]
30-
action['context'] = {
31-
'default_picking_type_id':
32-
self.default_consumption_warehouse_id.cons_type_id.id,
33-
'default_maintenance_request_id': self.id,
27+
action = self.env.ref("stock.stock_picking_action_picking_type").read()[0]
28+
action["domain"] = [("maintenance_request_id", "=", self.id)]
29+
action["context"] = {
30+
"default_picking_type_id": self.default_consumption_warehouse_id.cons_type_id.id,
31+
"default_maintenance_request_id": self.id,
3432
}
3533
return action
3634

3735
def action_view_stock_move_ids(self):
3836
self.ensure_one()
39-
action = self.env.ref('stock.stock_move_action').read()[0]
40-
action['domain'] = [('maintenance_request_id', '=', self.id)]
37+
action = self.env.ref("stock.stock_move_action").read()[0]
38+
action["domain"] = [("maintenance_request_id", "=", self.id)]
4139
return action
4240

4341
def action_view_stock_move_line_ids(self):
4442
self.ensure_one()
45-
action = self.env.ref('stock.stock_move_line_action').read()[0]
46-
action['domain'] = [('maintenance_request_id', '=', self.id)]
43+
action = self.env.ref("stock.stock_move_line_action").read()[0]
44+
action["domain"] = [("maintenance_request_id", "=", self.id)]
4745

4846
# TODO Grouping by destination allows separating consumptions
4947
# and returns. Look for a better system and remove this
50-
show_groupby_to = len(self.env['stock.move.line'].search(
51-
[('maintenance_request_id', '=', self.id)]
52-
).mapped('location_dest_id')) > 1
53-
54-
action['context'] = {
55-
'search_default_done': 1,
56-
'search_default_groupby_location_dest_id': show_groupby_to,
57-
'search_default_groupby_product_id': 1,
48+
show_groupby_to = (
49+
len(
50+
self.env["stock.move.line"]
51+
.search([("maintenance_request_id", "=", self.id)])
52+
.mapped("location_dest_id")
53+
)
54+
> 1
55+
)
56+
57+
action["context"] = {
58+
"search_default_done": 1,
59+
"search_default_groupby_location_dest_id": show_groupby_to,
60+
"search_default_groupby_product_id": 1,
5861
}
5962
return action

maintenance_stock/models/stock_move.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ class StockMove(models.Model):
77
_inherit = "stock.move"
88

99
maintenance_request_id = fields.Many2one(
10-
comodel_name="maintenance.request",
11-
related="picking_id.maintenance_request_id",
10+
comodel_name="maintenance.request", related="picking_id.maintenance_request_id",
1211
)
1312
maintenance_equipment_id = fields.Many2one(
1413
comodel_name="maintenance.equipment",

maintenance_stock/models/stock_move_line.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ class StockMoveLine(models.Model):
77
_inherit = "stock.move.line"
88

99
maintenance_request_id = fields.Many2one(
10-
comodel_name="maintenance.request",
11-
related="picking_id.maintenance_request_id",
10+
comodel_name="maintenance.request", related="picking_id.maintenance_request_id",
1211
)
1312
maintenance_equipment_id = fields.Many2one(
1413
comodel_name="maintenance.equipment",

maintenance_stock/models/stock_picking.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ class StockPicking(models.Model):
77
_inherit = "stock.picking"
88

99
maintenance_request_id = fields.Many2one(
10-
comodel_name="maintenance.request",
11-
index=True,
10+
comodel_name="maintenance.request", index=True,
1211
)
1312
maintenance_equipment_id = fields.Many2one(
1413
comodel_name="maintenance.equipment",

0 commit comments

Comments
 (0)