diff --git a/mrp_operations_time_control/README.rst b/mrp_operations_time_control/README.rst new file mode 100644 index 000000000..cbd251dfe --- /dev/null +++ b/mrp_operations_time_control/README.rst @@ -0,0 +1,77 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================================= +Manufacturing Operations - Time control +======================================= + +This module allows to control the duration of the manufacturing +operations (work orders) through the interface controls. + +Configuration +============= + +Go to *Settings > Manufacturing* and activate "Manage routings and work orders" +for handling the features of this module. + +Usage +===== + +On *Manufacturing > Manufacturing > Manufacturing Orders* or +*Manufacturing > Manufacturing > Work Orders*, you can see the existing work +orders. In each of them, there are buttons for starting, pausing or stopping +them. Pressing these buttons, there are records that are automatically created +or modified in the tab "Machine up time" for tracking the time spent. + +You can also maintain this table by hand going to +*Manufacturing > Manufacturing > Operation Time Lines*. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/129/8.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed `feedback +`_. + +Credits +======= + +Images +------ + +* Original Odoo MRP icon +* Thanks to https://openclipart.org/detail/151831/work-bench +* Thanks to https://openclipart.org/detail/3977/stopwatch-no-shading + +Contributors +------------ + +* Mikel Arregi +* Oihane Crucelaegui +* Pedro M. Baeza +* Ana Juaristi + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/mrp_operations_time_control/__init__.py b/mrp_operations_time_control/__init__.py new file mode 100644 index 000000000..ac746c0bd --- /dev/null +++ b/mrp_operations_time_control/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2015 Avanzosc +# © 2015 Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import models diff --git a/mrp_operations_time_control/__openerp__.py b/mrp_operations_time_control/__openerp__.py new file mode 100644 index 000000000..68c2cf035 --- /dev/null +++ b/mrp_operations_time_control/__openerp__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# © 2015 Avanzosc +# © 2015 Pedro M. Baeza +# © 2015 Antiun Ingeniería +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +{ + "name": "MRP Operations Time Control", + "version": "8.0.1.1.0", + "depends": [ + "mrp_operations_extension", + ], + "license": "AGPL-3", + "author": "OdooMRP team, " + "AvanzOSC, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Antiun Ingeniería S.L., " + "Odoo Community Association (OCA)", + "website": "http://www.odoomrp.com", + "contributors": [ + "Mikel Arregi ", + "Oihane Crucelaegui ", + "Pedro M. Baeza ", + "Ana Juaristi " + ], + "category": "Manufacturing", + 'data': [ + "views/operation_time_view.xml", + "views/mrp_production_view.xml", + "security/ir.model.access.csv", + ], + "installable": True, +} diff --git a/mrp_operations_time_control/i18n/es.po b/mrp_operations_time_control/i18n/es.po new file mode 100644 index 000000000..e6e1855d1 --- /dev/null +++ b/mrp_operations_time_control/i18n/es.po @@ -0,0 +1,148 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_time_control +# +# Translators: +# Oihane Crucelaegui , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-11-16 14:56+0000\n" +"Last-Translator: Oihane Crucelaegui \n" +"Language-Team: Spanish (http://www.transifex.com/oca/odoomrp-wip-8-0/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_date:0 +msgid "Created on" +msgstr "Creado el" + +#. module: mrp_operations_time_control +#: field:operation.time.line,end_date:0 +msgid "End Date" +msgstr "Fecha fin" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Finished" +msgstr "Finalizado" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Group By..." +msgstr "Agrupar por..." + +#. module: mrp_operations_time_control +#: field:operation.time.line,id:0 +msgid "ID" +msgstr "ID" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +msgid "Information" +msgstr "Información" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: mrp_operations_time_control +#: model:ir.actions.act_window,name:mrp_operations_time_control.operation_time_lines_action +#: model:ir.ui.menu,name:mrp_operations_time_control.menu_operation_time_lines_action +#: field:mrp.production.workcenter.line,operation_time_lines:0 +msgid "Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,operation_time:0 +msgid "Operation time" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +msgid "Operation time lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Pending" +msgstr "Pendiente" + +#. module: mrp_operations_time_control +#: field:operation.time.line,production:0 +msgid "Production" +msgstr "Producción" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Production Order" +msgstr "Orden de fabricación" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Resume" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Search Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Set Draft" +msgstr "Convertir en borrador" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Start" +msgstr "Inicio" + +#. module: mrp_operations_time_control +#: field:operation.time.line,start_date:0 +msgid "Start Date" +msgstr "Fecha inicio" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +#: field:operation.time.line,uptime:0 +msgid "Uptime" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +#: field:operation.time.line,user:0 +msgid "User" +msgstr "Usuario" + +#. module: mrp_operations_time_control +#: model:ir.model,name:mrp_operations_time_control.model_mrp_production_workcenter_line +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Work Order" +msgstr "Orden de trabajo" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +msgid "hours" +msgstr "horas" diff --git a/mrp_operations_time_control/i18n/fr.po b/mrp_operations_time_control/i18n/fr.po new file mode 100644 index 000000000..4e61641eb --- /dev/null +++ b/mrp_operations_time_control/i18n/fr.po @@ -0,0 +1,147 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_time_control +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-07 10:43+0000\n" +"PO-Revision-Date: 2015-09-10 16:42+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (http://www.transifex.com/oca/odoomrp-wip-8-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: mrp_operations_time_control +#: field:operation.time.line,end_date:0 +msgid "End Date" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Finished" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Group By..." +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,id:0 +msgid "ID" +msgstr "Id." + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +msgid "Information" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_uid:0 +msgid "Last Updated by" +msgstr "Mis à jour par" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_date:0 +msgid "Last Updated on" +msgstr "Mis à jour le" + +#. module: mrp_operations_time_control +#: model:ir.actions.act_window,name:mrp_operations_time_control.operation_time_lines_action +#: model:ir.ui.menu,name:mrp_operations_time_control.menu_operation_time_lines_action +#: field:mrp.production.workcenter.line,operation_time_lines:0 +msgid "Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,operation_time:0 +msgid "Operation time" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +msgid "Operation time lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Pending" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,production:0 +msgid "Production" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Production Order" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Resume" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Search Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Set Draft" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Start" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,start_date:0 +msgid "Start Date" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +#: field:operation.time.line,uptime:0 +msgid "Uptime" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +#: field:operation.time.line,user:0 +msgid "User" +msgstr "" + +#. module: mrp_operations_time_control +#: model:ir.model,name:mrp_operations_time_control.model_mrp_production_workcenter_line +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Work Order" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +msgid "hours" +msgstr "" diff --git a/mrp_operations_time_control/i18n/it.po b/mrp_operations_time_control/i18n/it.po new file mode 100644 index 000000000..31856c636 --- /dev/null +++ b/mrp_operations_time_control/i18n/it.po @@ -0,0 +1,147 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_time_control +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-09-10 16:42+0000\n" +"Last-Translator: <>\n" +"Language-Team: Italian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_uid:0 +msgid "Created by" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_date:0 +msgid "Created on" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,end_date:0 +msgid "End Date" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Finished" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Group By..." +msgstr "Raggruppa per ......" + +#. module: mrp_operations_time_control +#: field:operation.time.line,id:0 +msgid "ID" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +msgid "Information" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_date:0 +msgid "Last Updated on" +msgstr "" + +#. module: mrp_operations_time_control +#: model:ir.actions.act_window,name:mrp_operations_time_control.operation_time_lines_action +#: model:ir.ui.menu,name:mrp_operations_time_control.menu_operation_time_lines_action +#: field:mrp.production.workcenter.line,operation_time_lines:0 +msgid "Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,operation_time:0 +msgid "Operation time" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +msgid "Operation time lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Pending" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,production:0 +msgid "Production" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Production Order" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Resume" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Search Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Set Draft" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Start" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,start_date:0 +msgid "Start Date" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +#: field:operation.time.line,uptime:0 +msgid "Uptime" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +#: field:operation.time.line,user:0 +msgid "User" +msgstr "" + +#. module: mrp_operations_time_control +#: model:ir.model,name:mrp_operations_time_control.model_mrp_production_workcenter_line +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Work Order" +msgstr "Ordine di lavorazione" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +msgid "hours" +msgstr "" diff --git a/mrp_operations_time_control/i18n/pt_BR.po b/mrp_operations_time_control/i18n/pt_BR.po new file mode 100644 index 000000000..4c497c5be --- /dev/null +++ b/mrp_operations_time_control/i18n/pt_BR.po @@ -0,0 +1,148 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_time_control +# +# Translators: +# danimaribeiro , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-07 10:43+0000\n" +"PO-Revision-Date: 2015-10-09 02:47+0000\n" +"Last-Translator: danimaribeiro \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/odoomrp-wip-8-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_uid:0 +msgid "Created by" +msgstr "Criado por" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_date:0 +msgid "Created on" +msgstr "Criado em" + +#. module: mrp_operations_time_control +#: field:operation.time.line,end_date:0 +msgid "End Date" +msgstr "Data final" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Finished" +msgstr "Finalizado" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Group By..." +msgstr "Agrupar por..." + +#. module: mrp_operations_time_control +#: field:operation.time.line,id:0 +msgid "ID" +msgstr "ID" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +msgid "Information" +msgstr "Informação" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_uid:0 +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_date:0 +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: mrp_operations_time_control +#: model:ir.actions.act_window,name:mrp_operations_time_control.operation_time_lines_action +#: model:ir.ui.menu,name:mrp_operations_time_control.menu_operation_time_lines_action +#: field:mrp.production.workcenter.line,operation_time_lines:0 +msgid "Operation Time Lines" +msgstr "Linhas do tempo de operação" + +#. module: mrp_operations_time_control +#: field:operation.time.line,operation_time:0 +msgid "Operation time" +msgstr "Tempo de operação" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +msgid "Operation time lines" +msgstr "Linhas do tempo de operação" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Pending" +msgstr "Pendente" + +#. module: mrp_operations_time_control +#: field:operation.time.line,production:0 +msgid "Production" +msgstr "Produção" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Production Order" +msgstr "Ordem de produção" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Resume" +msgstr "Continuar" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Search Operation Time Lines" +msgstr "Pesquisar linhas do tempo de operação" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Set Draft" +msgstr "Setar provisório" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Start" +msgstr "Iniciar" + +#. module: mrp_operations_time_control +#: field:operation.time.line,start_date:0 +msgid "Start Date" +msgstr "Data de inicio" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +#: field:operation.time.line,uptime:0 +msgid "Uptime" +msgstr "Tempo ativo" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +#: field:operation.time.line,user:0 +msgid "User" +msgstr "Usuário" + +#. module: mrp_operations_time_control +#: model:ir.model,name:mrp_operations_time_control.model_mrp_production_workcenter_line +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Work Order" +msgstr "Ordem de serviço" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +msgid "hours" +msgstr "horas" diff --git a/mrp_operations_time_control/i18n/ro.po b/mrp_operations_time_control/i18n/ro.po new file mode 100644 index 000000000..a130f30de --- /dev/null +++ b/mrp_operations_time_control/i18n/ro.po @@ -0,0 +1,147 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_time_control +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-09-10 16:42+0000\n" +"Last-Translator: <>\n" +"Language-Team: Romanian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_uid:0 +msgid "Created by" +msgstr "Creat de" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_date:0 +msgid "Created on" +msgstr "Creat în" + +#. module: mrp_operations_time_control +#: field:operation.time.line,end_date:0 +msgid "End Date" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Finished" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Group By..." +msgstr "Grupează după..." + +#. module: mrp_operations_time_control +#: field:operation.time.line,id:0 +msgid "ID" +msgstr "ID" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +msgid "Information" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_uid:0 +msgid "Last Updated by" +msgstr "Ultima actualizare de" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_date:0 +msgid "Last Updated on" +msgstr "Ultima actualizare în" + +#. module: mrp_operations_time_control +#: model:ir.actions.act_window,name:mrp_operations_time_control.operation_time_lines_action +#: model:ir.ui.menu,name:mrp_operations_time_control.menu_operation_time_lines_action +#: field:mrp.production.workcenter.line,operation_time_lines:0 +msgid "Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,operation_time:0 +msgid "Operation time" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +msgid "Operation time lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Pending" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,production:0 +msgid "Production" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Production Order" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Resume" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Search Operation Time Lines" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Set Draft" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Start" +msgstr "" + +#. module: mrp_operations_time_control +#: field:operation.time.line,start_date:0 +msgid "Start Date" +msgstr "" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +#: field:operation.time.line,uptime:0 +msgid "Uptime" +msgstr "" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +#: field:operation.time.line,user:0 +msgid "User" +msgstr "" + +#. module: mrp_operations_time_control +#: model:ir.model,name:mrp_operations_time_control.model_mrp_production_workcenter_line +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Work Order" +msgstr "Comandă de lucru" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +msgid "hours" +msgstr "" diff --git a/mrp_operations_time_control/i18n/sl.po b/mrp_operations_time_control/i18n/sl.po new file mode 100644 index 000000000..7bec1c6c9 --- /dev/null +++ b/mrp_operations_time_control/i18n/sl.po @@ -0,0 +1,148 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_time_control +# +# Translators: +# Matjaž Mozetič , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-07 10:43+0000\n" +"PO-Revision-Date: 2015-09-20 18:57+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_uid:0 +msgid "Created by" +msgstr "Ustvaril" + +#. module: mrp_operations_time_control +#: field:operation.time.line,create_date:0 +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: mrp_operations_time_control +#: field:operation.time.line,end_date:0 +msgid "End Date" +msgstr "Zaključni datum" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Finished" +msgstr "Dokončano" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Group By..." +msgstr "Združi po..." + +#. module: mrp_operations_time_control +#: field:operation.time.line,id:0 +msgid "ID" +msgstr "ID" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +msgid "Information" +msgstr "Podrobnosti" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_uid:0 +msgid "Last Updated by" +msgstr "Zadnjič posodobil" + +#. module: mrp_operations_time_control +#: field:operation.time.line,write_date:0 +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: mrp_operations_time_control +#: model:ir.actions.act_window,name:mrp_operations_time_control.operation_time_lines_action +#: model:ir.ui.menu,name:mrp_operations_time_control.menu_operation_time_lines_action +#: field:mrp.production.workcenter.line,operation_time_lines:0 +msgid "Operation Time Lines" +msgstr "Časovne postavke operacije" + +#. module: mrp_operations_time_control +#: field:operation.time.line,operation_time:0 +msgid "Operation time" +msgstr "Čas operacije" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +msgid "Operation time lines" +msgstr "Časovne postavke operacije" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Pending" +msgstr "Na čakanju" + +#. module: mrp_operations_time_control +#: field:operation.time.line,production:0 +msgid "Production" +msgstr "Proizvodnja" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Production Order" +msgstr "Proizvodni nalog" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Resume" +msgstr "Nadaljuj" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Search Operation Time Lines" +msgstr "Iskalnik časovnih postavk operacije" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Set Draft" +msgstr "Nastavi kot osnutek" + +#. module: mrp_operations_time_control +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_tree_view +msgid "Start" +msgstr "Zagon" + +#. module: mrp_operations_time_control +#: field:operation.time.line,start_date:0 +msgid "Start Date" +msgstr "Začetni datum" + +#. module: mrp_operations_time_control +#: view:mrp.production:mrp_operations_time_control.mrp_production_operation_time_form_view +#: view:mrp.production.workcenter.line:mrp_operations_time_control.operation_time_form_view +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_tree_view +#: field:operation.time.line,uptime:0 +msgid "Uptime" +msgstr "Pogonski čas" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +#: field:operation.time.line,user:0 +msgid "User" +msgstr "Uporabnik" + +#. module: mrp_operations_time_control +#: model:ir.model,name:mrp_operations_time_control.model_mrp_production_workcenter_line +#: view:operation.time.line:mrp_operations_time_control.view_operation_time_lines_search +msgid "Work Order" +msgstr "Delovni nalog" + +#. module: mrp_operations_time_control +#: view:operation.time.line:mrp_operations_time_control.operation_time_lines_form_view +msgid "hours" +msgstr "ur" diff --git a/mrp_operations_time_control/models/__init__.py b/mrp_operations_time_control/models/__init__.py new file mode 100644 index 000000000..557357a98 --- /dev/null +++ b/mrp_operations_time_control/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2015 Avanzosc +# © 2015 Antiun Ingeniería +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import operation_time diff --git a/mrp_operations_time_control/models/operation_time.py b/mrp_operations_time_control/models/operation_time.py new file mode 100644 index 000000000..764ec541e --- /dev/null +++ b/mrp_operations_time_control/models/operation_time.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +# © 2015 Avanzosc +# © 2015 Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from openerp import api, models, fields + + +class MrpProductionWorkcenterLine(models.Model): + + _inherit = 'mrp.production.workcenter.line' + operation_time_lines = fields.One2many( + 'operation.time.line', 'operation_time', string='Operation Time Lines') + + def _create_operation_line(self): + self.env['operation.time.line'].create({ + 'start_date': fields.Datetime.now(), + 'operation_time': self.id, + 'user': self.env.uid}) + + def _write_end_date_operation_line(self): + self.operation_time_lines[-1].end_date = fields.Datetime.now() + + @api.multi + def action_start_working(self): + result = super(MrpProductionWorkcenterLine, + self).action_start_working() + self._create_operation_line() + return result + + @api.multi + def action_pause(self): + result = super(MrpProductionWorkcenterLine, self).action_pause() + self._write_end_date_operation_line() + return result + + @api.multi + def action_resume(self): + result = super(MrpProductionWorkcenterLine, self).action_resume() + self._create_operation_line() + return result + + @api.multi + def action_done(self): + result = super(MrpProductionWorkcenterLine, self).action_done() + self._write_end_date_operation_line() + return result + + +class OperationTimeLine(models.Model): + _name = 'operation.time.line' + _rec_name = 'operation_time' + + def _default_user(self): + return self.env.uid + + start_date = fields.Datetime(string='Start Date') + end_date = fields.Datetime(string='End Date') + operation_time = fields.Many2one('mrp.production.workcenter.line') + uptime = fields.Float( + string='Machine up time', compute='_compute_uptime', store=True, + digits=(12, 6)) + production = fields.Many2one( + 'mrp.production', related='operation_time.production_id', + string='Production', store=True) + user = fields.Many2one('res.users', string='User', default=_default_user) + + @api.one + @api.depends('start_date', 'end_date') + def _compute_uptime(self): + if self.end_date and self.start_date: + timedelta = fields.Datetime.from_string(self.end_date) - \ + fields.Datetime.from_string(self.start_date) + self.uptime = timedelta.total_seconds() / 3600. diff --git a/mrp_operations_time_control/security/ir.model.access.csv b/mrp_operations_time_control/security/ir.model.access.csv new file mode 100644 index 000000000..70fa14986 --- /dev/null +++ b/mrp_operations_time_control/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_operation_time_line_user,access_operation_time_line_user,model_operation_time_line,mrp.group_mrp_user,1,1,1,1 +access_operation_time_line_manager,access_operation_time_line_manager,model_operation_time_line,mrp.group_mrp_manager,1,1,1,1 +access_operation_time_line_sale,access_operation_time_line_sale,model_operation_time_line,base.group_sale_salesman,1,0,0,0 \ No newline at end of file diff --git a/mrp_operations_time_control/static/description/icon.png b/mrp_operations_time_control/static/description/icon.png new file mode 100644 index 000000000..abca09104 Binary files /dev/null and b/mrp_operations_time_control/static/description/icon.png differ diff --git a/mrp_operations_time_control/static/description/icon.svg b/mrp_operations_time_control/static/description/icon.svg new file mode 100644 index 000000000..ad7dfef1a --- /dev/null +++ b/mrp_operations_time_control/static/description/icon.svg @@ -0,0 +1,312 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mrp_operations_time_control/tests/__init__.py b/mrp_operations_time_control/tests/__init__.py new file mode 100644 index 000000000..12c05261b --- /dev/null +++ b/mrp_operations_time_control/tests/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2015 Pedro M. Baeza +# © 2015 Antiun Ingeniería +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import test_mrp_operations_time_control diff --git a/mrp_operations_time_control/tests/test_mrp_operations_time_control.py b/mrp_operations_time_control/tests/test_mrp_operations_time_control.py new file mode 100644 index 000000000..eb56bfc88 --- /dev/null +++ b/mrp_operations_time_control/tests/test_mrp_operations_time_control.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# © 2015 Pedro M. Baeza +# © 2015 Antiun Ingeniería +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from openerp.tests import common +import time + + +class TestMrpOperationsTimeControl(common.TransactionCase): + def setUp(self): + super(TestMrpOperationsTimeControl, self).setUp() + self.production = self.env.ref( + 'mrp_operations_extension.mrp_production_opeext') + self.production.signal_workflow('button_confirm') + self.production.force_production() + self.workorder = self.production.workcenter_lines[0] + + def test_operations_time(self): + self.assertFalse(self.workorder.operation_time_lines) + self.workorder.action_start_working() + self.assertTrue(self.workorder.operation_time_lines) + time.sleep(1) + self.workorder.action_pause() + self.assertEqual(len(self.workorder.operation_time_lines), 1) + self.assertTrue(self.workorder.operation_time_lines[0].uptime) + self.workorder.action_resume() + time.sleep(1) + self.workorder.action_done() + self.assertEqual(len(self.workorder.operation_time_lines), 2) + self.assertTrue(self.workorder.operation_time_lines[1].uptime) diff --git a/mrp_operations_time_control/views/mrp_production_view.xml b/mrp_operations_time_control/views/mrp_production_view.xml new file mode 100644 index 000000000..f9e41a0ce --- /dev/null +++ b/mrp_operations_time_control/views/mrp_production_view.xml @@ -0,0 +1,19 @@ + + + + + + mrp.production.operation.time.form + mrp.production + + + + + + + + + + + + diff --git a/mrp_operations_time_control/views/operation_time_view.xml b/mrp_operations_time_control/views/operation_time_view.xml new file mode 100644 index 000000000..9a6df5e2f --- /dev/null +++ b/mrp_operations_time_control/views/operation_time_view.xml @@ -0,0 +1,124 @@ + + + + + + operation.time.line.search + operation.time.line + + + + + + + + + + + + + Operation Time Form View + mrp.production.workcenter.line + + + + + + + + + + + + Operation Time Form View + mrp.production.workcenter.line + + + +