Skip to content

Commit 03a498f

Browse files
[ADD] mrp_workorder_last_instruction_point: Add technical instruction point to workorders
This add-on adds a field to the MRP Workorder model to store the last technical instruction given to the operator in that workorder. To add the last technical instruction, when the workorder is stoped, it appears a popup to add the instruction, and when the workorder is in progress, it computes the last instruction based on the time records of the workorder. Co-authored-by: david.alonso <david.alonso@solvos.es>
1 parent 2e873cf commit 03a498f

17 files changed

Lines changed: 903 additions & 0 deletions
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
.. image:: https://odoo-community.org/readme-banner-image
2+
:target: https://odoo-community.org/get-involved?utm_source=readme
3+
:alt: Odoo Community Association
4+
5+
====================================
6+
MRP Workorder Last Instruction Point
7+
====================================
8+
9+
..
10+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11+
!! This file is generated by oca-gen-addon-readme !!
12+
!! changes will be overwritten. !!
13+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14+
!! source digest: sha256:96ff21e99703ec5ee9fba7820cf2cfbfdc1c6221d3e9a7a09f89c54c9c8da353
15+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16+
17+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
18+
:target: https://odoo-community.org/page/development-status
19+
:alt: Beta
20+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
21+
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
22+
:alt: License: LGPL-3
23+
.. |badge3| image:: https://img.shields.io/badge/github-solvosci%2Fslv--manufacture-lightgray.png?logo=github
24+
:target: https://github.com/solvosci/slv-manufacture/tree/15.0/mrp_workorder_last_instruction_point
25+
:alt: solvosci/slv-manufacture
26+
27+
|badge1| |badge2| |badge3|
28+
29+
This add-on adds a field to the MRP Workorder model to store
30+
the last technical instruction given to the operator in that workorder.
31+
To add the last technical instruction, when the workorder is stopped, it shows a popup to add the instruction,
32+
and when the workorder is in progress, it computes the last instruction based on the time records of the workorder.
33+
34+
**Table of contents**
35+
36+
.. contents::
37+
:local:
38+
39+
Bug Tracker
40+
===========
41+
42+
Bugs are tracked on `GitHub Issues <https://github.com/solvosci/slv-manufacture/issues>`_.
43+
In case of trouble, please check there if your issue has already been reported.
44+
If you spotted it first, help us to smash it by providing a detailed and welcomed
45+
`feedback <https://github.com/solvosci/slv-manufacture/issues/new?body=module:%20mrp_workorder_last_instruction_point%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
46+
47+
Do not contact contributors directly about support or help with technical issues.
48+
49+
Credits
50+
=======
51+
52+
Authors
53+
~~~~~~~
54+
55+
* Solvos
56+
57+
Contributors
58+
~~~~~~~~~~~~
59+
60+
* Dante Pereyra <dante.pereyra@solvos.es>
61+
* David Alonso <david.alonso@solvos.es>
62+
63+
Maintainers
64+
~~~~~~~~~~~
65+
66+
This module is part of the `solvosci/slv-manufacture <https://github.com/solvosci/slv-manufacture/tree/15.0/mrp_workorder_last_instruction_point>`_ project on GitHub.
67+
68+
You are welcome to contribute.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import models
2+
from . import wizard
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# © 2026 Solvos Consultoría Informática (<http://www.solvos.es>)
2+
# License LGPL-3 - See http://www.gnu.org/licenses/lgpl-3.0.html
3+
{
4+
"name": "MRP Workorder Last Instruction Point",
5+
"summary": """
6+
This add-on adds a field to the MRP Workorder model to store
7+
the last technical instruction given to the operator in that workorder.
8+
""",
9+
"author": "Solvos",
10+
"license": "LGPL-3",
11+
"version": "15.0.1.0.1",
12+
"category": "Manufacturing/Manufacturing",
13+
"website": "https://github.com/solvosci/slv-manufacture",
14+
"depends": ["mrp"],
15+
"data": [
16+
"security/ir.model.access.csv",
17+
"views/mrp_workorder_views.xml",
18+
"wizard/mrp_workorder_productivity_instruction_view.xml",
19+
],
20+
}
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * mrp_workorder_last_instruction_point
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 15.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2026-03-20 07:32+0000\n"
10+
"PO-Revision-Date: 2026-03-20 07:32+0000\n"
11+
"Last-Translator: \n"
12+
"Language-Team: \n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: \n"
17+
18+
#. module: mrp_workorder_last_instruction_point
19+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_workorder_productivity_instruction_view
20+
msgid "Cancel"
21+
msgstr "Cancelar"
22+
23+
#. module: mrp_workorder_last_instruction_point
24+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_workorder_productivity_instruction_view
25+
msgid "Confirm"
26+
msgstr "Confirmar"
27+
28+
#. module: mrp_workorder_last_instruction_point
29+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__create_uid
30+
msgid "Created by"
31+
msgstr "Creado por"
32+
33+
#. module: mrp_workorder_last_instruction_point
34+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__create_date
35+
msgid "Created on"
36+
msgstr "Creado el"
37+
38+
#. module: mrp_workorder_last_instruction_point
39+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__display_name
40+
msgid "Display Name"
41+
msgstr "Nombre a Mostrar"
42+
43+
#. module: mrp_workorder_last_instruction_point
44+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__id
45+
msgid "ID"
46+
msgstr "ID"
47+
48+
#. module: mrp_workorder_last_instruction_point
49+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard____last_update
50+
msgid "Last Modified on"
51+
msgstr "Última modificación el"
52+
53+
#. module: mrp_workorder_last_instruction_point
54+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_production_workorder_tree_editable_view
55+
msgid "Last Tech. Ins. P User"
56+
msgstr "Usuario Últ. P. In. Téc."
57+
58+
#. module: mrp_workorder_last_instruction_point
59+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_production_workorder_tree_editable_view
60+
msgid "Last Tech. Ins. P."
61+
msgstr "Últ. P. In. Téc."
62+
63+
#. module: mrp_workorder_last_instruction_point
64+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point
65+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_workorder_productivity_instruction_view
66+
msgid "Last Technical Point Instruction"
67+
msgstr "Último punto de instrucción técnica"
68+
69+
#. module: mrp_workorder_last_instruction_point
70+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point_user_id
71+
msgid "Last Technical Point Instruction User"
72+
msgstr "Usuario del último punto de instrucción técnica"
73+
74+
#. module: mrp_workorder_last_instruction_point
75+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__write_uid
76+
msgid "Last Updated by"
77+
msgstr "Última actualización por"
78+
79+
#. module: mrp_workorder_last_instruction_point
80+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__write_date
81+
msgid "Last Updated on"
82+
msgstr "Última actualización el"
83+
84+
#. module: mrp_workorder_last_instruction_point
85+
#: model:ir.model.fields,help:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point
86+
msgid ""
87+
"Last technical point instruction given to the operator in this workorder."
88+
msgstr ""
89+
"Última instrucción técnica dada al operario en esta orden de trabajo."
90+
#. module: mrp_workorder_last_instruction_point
91+
#: code:addons/mrp_workorder_last_instruction_point/models/mrp_workorder.py:0
92+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workcenter_productivity__technical_instruction_point
93+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__technical_instruction_point
94+
#, python-format
95+
msgid "Technical Instruction Point"
96+
msgstr "Punto de Instrucción Técnica"
97+
98+
#. module: mrp_workorder_last_instruction_point
99+
#: model:ir.model.fields,help:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point_user_id
100+
msgid "User who created the last technical point instruction."
101+
msgstr "Usuario que creó la última instrucción técnica."
102+
103+
#. module: mrp_workorder_last_instruction_point
104+
#: model:ir.model,name:mrp_workorder_last_instruction_point.model_mrp_workorder
105+
msgid "Work Order"
106+
msgstr "Orden de trabajo"
107+
108+
#. module: mrp_workorder_last_instruction_point
109+
#: model:ir.model,name:mrp_workorder_last_instruction_point.model_mrp_workcenter_productivity
110+
msgid "Workcenter Productivity Log"
111+
msgstr "Registro de productividad del centro de trabajo"
112+
113+
#. module: mrp_workorder_last_instruction_point
114+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__workorder_id
115+
msgid "Workorder"
116+
msgstr "Orden de trabajo"
117+
118+
#. module: mrp_workorder_last_instruction_point
119+
#: model:ir.model,name:mrp_workorder_last_instruction_point.model_mrp_workorder_productivity_instruction_wizard
120+
msgid "Workorder Productivity Instruction Wizard"
121+
msgstr "Asistente de Instrucción de Productividad de Orden de Trabajo"
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * mrp_workorder_last_instruction_point
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 15.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2026-03-20 07:32+0000\n"
10+
"PO-Revision-Date: 2026-03-20 07:32+0000\n"
11+
"Last-Translator: \n"
12+
"Language-Team: \n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: \n"
17+
18+
#. module: mrp_workorder_last_instruction_point
19+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_workorder_productivity_instruction_view
20+
msgid "Cancel"
21+
msgstr ""
22+
23+
#. module: mrp_workorder_last_instruction_point
24+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_workorder_productivity_instruction_view
25+
msgid "Confirm"
26+
msgstr ""
27+
28+
#. module: mrp_workorder_last_instruction_point
29+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__create_uid
30+
msgid "Created by"
31+
msgstr ""
32+
33+
#. module: mrp_workorder_last_instruction_point
34+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__create_date
35+
msgid "Created on"
36+
msgstr ""
37+
38+
#. module: mrp_workorder_last_instruction_point
39+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__display_name
40+
msgid "Display Name"
41+
msgstr ""
42+
43+
#. module: mrp_workorder_last_instruction_point
44+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__id
45+
msgid "ID"
46+
msgstr ""
47+
48+
#. module: mrp_workorder_last_instruction_point
49+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard____last_update
50+
msgid "Last Modified on"
51+
msgstr ""
52+
53+
#. module: mrp_workorder_last_instruction_point
54+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_production_workorder_tree_editable_view
55+
msgid "Last Tech. Ins. P User"
56+
msgstr ""
57+
58+
#. module: mrp_workorder_last_instruction_point
59+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_production_workorder_tree_editable_view
60+
msgid "Last Tech. Ins. P."
61+
msgstr ""
62+
63+
#. module: mrp_workorder_last_instruction_point
64+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point
65+
#: model_terms:ir.ui.view,arch_db:mrp_workorder_last_instruction_point.mrp_workorder_productivity_instruction_view
66+
msgid "Last Technical Point Instruction"
67+
msgstr ""
68+
69+
#. module: mrp_workorder_last_instruction_point
70+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point_user_id
71+
msgid "Last Technical Point Instruction User"
72+
msgstr ""
73+
74+
#. module: mrp_workorder_last_instruction_point
75+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__write_uid
76+
msgid "Last Updated by"
77+
msgstr ""
78+
79+
#. module: mrp_workorder_last_instruction_point
80+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__write_date
81+
msgid "Last Updated on"
82+
msgstr ""
83+
84+
#. module: mrp_workorder_last_instruction_point
85+
#: model:ir.model.fields,help:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point
86+
msgid ""
87+
"Last technical point instruction given to the operator in this workorder."
88+
msgstr ""
89+
90+
#. module: mrp_workorder_last_instruction_point
91+
#: code:addons/mrp_workorder_last_instruction_point/models/mrp_workorder.py:0
92+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workcenter_productivity__technical_instruction_point
93+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__technical_instruction_point
94+
#, python-format
95+
msgid "Technical Instruction Point"
96+
msgstr ""
97+
98+
#. module: mrp_workorder_last_instruction_point
99+
#: model:ir.model.fields,help:mrp_workorder_last_instruction_point.field_mrp_workorder__last_technical_instruction_point_user_id
100+
msgid "User who created the last technical point instruction."
101+
msgstr ""
102+
103+
#. module: mrp_workorder_last_instruction_point
104+
#: model:ir.model,name:mrp_workorder_last_instruction_point.model_mrp_workorder
105+
msgid "Work Order"
106+
msgstr ""
107+
108+
#. module: mrp_workorder_last_instruction_point
109+
#: model:ir.model,name:mrp_workorder_last_instruction_point.model_mrp_workcenter_productivity
110+
msgid "Workcenter Productivity Log"
111+
msgstr ""
112+
113+
#. module: mrp_workorder_last_instruction_point
114+
#: model:ir.model.fields,field_description:mrp_workorder_last_instruction_point.field_mrp_workorder_productivity_instruction_wizard__workorder_id
115+
msgid "Workorder"
116+
msgstr ""
117+
118+
#. module: mrp_workorder_last_instruction_point
119+
#: model:ir.model,name:mrp_workorder_last_instruction_point.model_mrp_workorder_productivity_instruction_wizard
120+
msgid "Workorder Productivity Instruction Wizard"
121+
msgstr ""
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import mrp_workorder
2+
from . import mrp_workcenter
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# © 2026 Solvos Consultoría Informática (<http://www.solvos.es>)
2+
# License LGPL-3 - See http://www.gnu.org/licenses/lgpl-3.0.html
3+
from odoo import models, fields
4+
5+
6+
class MrpWorkcenterProductivity(models.Model):
7+
_inherit = "mrp.workcenter.productivity"
8+
9+
technical_instruction_point = fields.Text(
10+
string="Technical Instruction Point",
11+
)

0 commit comments

Comments
 (0)