Skip to content

Commit

Permalink
[ADD] mrp_workorder_grouping_by_material
Browse files Browse the repository at this point in the history
  • Loading branch information
mikelarre committed Nov 16, 2020
1 parent b8027e5 commit 3b22f03
Show file tree
Hide file tree
Showing 18 changed files with 821 additions and 0 deletions.
Empty file.
2 changes: 2 additions & 0 deletions mrp_workorder_grouping_by_material/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizard
25 changes: 25 additions & 0 deletions mrp_workorder_grouping_by_material/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2020 Mikel Arregi Etxaniz - AvanzOSC
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
{
"name": "Workorders grouping by main material",
"version": "12.0.1.0.0",
"license": "AGPL-3",
"depends": [
"mrp",
],
"author": "AvanzOSC",
"website": "http://www.avanzosc.es",
"category": "Tools",
"data": [
"data/mrp_workorder_nest_data.xml",
"security/ir.model.access.csv",
"views/mrp_bom_view.xml",
"views/mrp_workcenter_view.xml",
"views/mrp_workorder_nest_view.xml",
"views/mrp_workorder_view.xml",
"wizard/nested_new_line_view.xml",
],
'demo': [],
'installable': True,
'auto_install': False,
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<record id="nested_workorder_code_seq" model="ir.sequence">
<field name="code">mrp.workorder.nest</field>
<field name="name">Nested Workorder Sequence</field>
<field name="padding">6</field>
<field name="company_id" eval="False" />
</record>
</odoo>
287 changes: 287 additions & 0 deletions mrp_workorder_grouping_by_material/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,287 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mrp_workorder_grouping_by_material
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-28 14:51+0000\n"
"PO-Revision-Date: 2020-10-28 14:51+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_bom
msgid "Bill of Material"
msgstr "Lista de materiales"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_bom_line
msgid "Bill of Material Line"
msgstr "Línea de Lista de Materiales"

#. module: mrp_workorder_grouping_by_material
#: selection:mrp.workorder.nest,state:0
msgid "Blocked"
msgstr "Bloqueado"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.nested_new_line_form
msgid "Cancel"
msgstr "Cancelar"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__code
msgid "Code"
msgstr "Código"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
msgid "Continue Production"
msgstr "Continuar la producción"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__create_uid
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__create_uid
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__create_uid
msgid "Created by"
msgstr "Creado por"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__create_date
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__create_date
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__create_date
msgid "Created on"
msgstr "Creado el"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__display_name
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__display_name
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__display_name
msgid "Display Name"
msgstr "Nombre mostrado"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.nested_new_line_form
#: selection:mrp.workorder.nest,state:0
msgid "Done"
msgstr "Hecho"

#. module: mrp_workorder_grouping_by_material
#: selection:mrp.workorder.nest,state:0
msgid "Draft"
msgstr "Borrador"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
msgid "Finish Order"
msgstr "Finalizar orden"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__id
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__id
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__id
msgid "ID"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder__nested_ids
msgid "In Nests"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: selection:mrp.workorder.nest,state:0
msgid "In Progress"
msgstr "En progreso"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest____last_update
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line____last_update
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line____last_update
msgid "Last Modified on"
msgstr "Última modificación en"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__write_uid
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__write_uid
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__write_date
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__write_date
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__write_date
msgid "Last Updated on"
msgstr "Última actualización el"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__lot_id
msgid "Lot"
msgstr "Lote"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_bom_line__main_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__main_product_id
msgid "Main Material"
msgstr "Material principal"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder__main_product_id
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__main_product_id
msgid "Main Product"
msgstr "Material principal"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__name
msgid "Name"
msgstr "Nombre"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__nest_id
msgid "Nest"
msgstr "Nido"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_nested_new_line__nested_id
msgid "Nested"
msgstr "Anidado"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__nested_line_ids
msgid "Nested Lines"
msgstr "Lineas Anidadas"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.nested_new_line_form
msgid "Nested New Line"
msgstr "Nueva Linea Anidada"

#. module: mrp_workorder_grouping_by_material
#: model:ir.actions.act_window,name:mrp_workorder_grouping_by_material.mrp_workorder_nest_action
#: model:ir.ui.menu,name:mrp_workorder_grouping_by_material.menu_nested_workorder_action
msgid "Nested Work Orders"
msgstr "Ordenes de trabajo anidadas"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workcenter__nesting_required
msgid "Nesting Required"
msgstr "Requiere Anidación"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__qty_production
msgid "Original Production Quantity"
msgstr "Cantidad de producción original"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
msgid "Pause"
msgstr "Detener"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__produce_qty
msgid "Produce Quantity"
msgstr "Cantidad Producida"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__product_id
msgid "Product"
msgstr "Producto"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__production_id
msgid "Production"
msgstr "Producción"

#. module: mrp_workorder_grouping_by_material
#: selection:mrp.workorder.nest,state:0
msgid "Ready"
msgstr "Preparado"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__date_planned_start
msgid "Scheduled Date Date"
msgstr "Fecha Planificada"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
msgid "Scrap"
msgstr "Desechar"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__name
msgid "Service Number"
msgstr "Numero de Servicio"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
msgid "Start Working"
msgstr "Empezar a trabajar"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest__state
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__state
msgid "State"
msgstr "Estado"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,help:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__product_uom_id
msgid "Technical: used in views only."
msgstr "Técnico: utilizado sólo en vistas"

#. module: mrp_workorder_grouping_by_material
#: model_terms:ir.ui.view,arch_db:mrp_workorder_grouping_by_material.mrp_workorder_nest_form
msgid "Unblock"
msgstr "Desbloquear"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__product_uom_id
msgid "Unit of Measure"
msgstr "Unidad de medida"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_workcenter
msgid "Work Center"
msgstr "Centro de producción"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_workorder
msgid "Work Order"
msgstr "Orden de trabajo"

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__workcenter_id
msgid "Workcenter"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: model:ir.model.fields,field_description:mrp_workorder_grouping_by_material.field_mrp_workorder_nest_line__workorder_id
msgid "Workorder"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_workoder_nest_line
msgid "mrp.workoder.nest.line"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_workorder_nest
msgid "mrp.workorder.nest"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_mrp_workorder_nest_line
msgid "mrp.workorder.nest.line"
msgstr ""

#. module: mrp_workorder_grouping_by_material
#: model:ir.model,name:mrp_workorder_grouping_by_material.model_nested_new_line
msgid "nested.new.line"
msgstr ""

4 changes: 4 additions & 0 deletions mrp_workorder_grouping_by_material/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from . import mrp_workorder
from . import mrp_workcenter
from . import mrp_bom
from . import mrp_workorder_nest
28 changes: 28 additions & 0 deletions mrp_workorder_grouping_by_material/models/mrp_bom.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2020 Mikel Arregi Etxaniz - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models, exceptions


class MrpBom(models.Model):
_inherit = "mrp.bom"

@api.constrains('bom_line_ids')
def _check_one_main_material(self):
for record in self:
if len(record.bom_line_ids.filtered(lambda x: x.main_material)) \
> 1:
raise exceptions.ValidationError(
"There can only be one main material")

class MrpBomLine(models.Model):
_inherit = "mrp.bom.line"

main_material = fields.Boolean(string="Main Material")

@api.constrains("operation_id", "main_material")
def _check_main_material_operation(self):
for record in self:
if record.main_material and not record.operation_id:
raise exceptions.ValidationError(
"Main material must have an operation")

9 changes: 9 additions & 0 deletions mrp_workorder_grouping_by_material/models/mrp_workcenter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright 2020 Mikel Arregi Etxaniz - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models


class MrpWorkcenter(models.Model):
_inherit = "mrp.workcenter"

nesting_required = fields.Boolean(string="Nesting Required")
Loading

0 comments on commit 3b22f03

Please sign in to comment.