From 79a576f58dd4d439d2511fe3ae16c4e383a4190c Mon Sep 17 00:00:00 2001 From: oihane Date: Fri, 22 Aug 2014 08:49:46 +0200 Subject: [PATCH 01/24] [ADD] Modulos de calidad sin migrar --- quality_control/__init__.py | 32 ++ quality_control/__openerp__.py | 51 ++ quality_control/i18n/ca.po | 559 ++++++++++++++++++ quality_control/i18n/ca_ES.po | 553 ++++++++++++++++++ quality_control/i18n/es.po | 570 +++++++++++++++++++ quality_control/i18n/es_ES.po | 558 ++++++++++++++++++ quality_control/i18n/nan_quality_control.pot | 553 ++++++++++++++++++ quality_control/quality_control.py | 570 +++++++++++++++++++ quality_control/quality_control_data.xml | 12 + quality_control/quality_control_view.xml | 478 ++++++++++++++++ quality_control/test_workflow.xml | 77 +++ 11 files changed, 4013 insertions(+) create mode 100644 quality_control/__init__.py create mode 100644 quality_control/__openerp__.py create mode 100644 quality_control/i18n/ca.po create mode 100644 quality_control/i18n/ca_ES.po create mode 100644 quality_control/i18n/es.po create mode 100644 quality_control/i18n/es_ES.po create mode 100644 quality_control/i18n/nan_quality_control.pot create mode 100644 quality_control/quality_control.py create mode 100644 quality_control/quality_control_data.xml create mode 100644 quality_control/quality_control_view.xml create mode 100644 quality_control/test_workflow.xml diff --git a/quality_control/__init__.py b/quality_control/__init__.py new file mode 100644 index 000000000..2573b79d6 --- /dev/null +++ b/quality_control/__init__.py @@ -0,0 +1,32 @@ +# -*- encoding: latin-1 -*- +############################################################################## +# +# Copyright (c) 2010 NaN Projectes de Programari Lliure, S.L. All Rights Reserved. +# http://www.NaN-tic.com +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import quality_control + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/quality_control/__openerp__.py b/quality_control/__openerp__.py new file mode 100644 index 000000000..2b7737479 --- /dev/null +++ b/quality_control/__openerp__.py @@ -0,0 +1,51 @@ +# -*- encoding: latin-1 -*- +############################################################################## +# +# Copyright (c) 2010 NaN Projectes de Programari Lliure, S.L. All Rights Reserved. +# http://www.NaN-tic.com +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +{ + "name": "Quality Control", + "version": "0.1", + "author": "NaN·tic", + "category": "Generic Modules/Others", + "description": """This module provides a generic infrastructure for quality tests. The idea is that it can be later be reused for doing quality tests in production lots but also in any other areas a company may desire. + +Developed for Trod y Avia, S.L.""", + "depends": [ + 'product' + ], + "demo_xml": [], + "update_xml": [ + 'test_workflow.xml', + 'quality_control_data.xml', + 'quality_control_view.xml', + ], + "active": False, + "installable": True, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/quality_control/i18n/ca.po b/quality_control/i18n/ca.po new file mode 100644 index 000000000..f0a179ae6 --- /dev/null +++ b/quality_control/i18n/ca.po @@ -0,0 +1,559 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * nan_quality_control +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.12\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2010-08-31 07:57+0000\n" +"PO-Revision-Date: 2012-07-11 11:40+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-26 04:59+0000\n" +"X-Generator: Launchpad (build 15679)\n" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_new_test +#: view:qc.test:0 +#: field:qc.test,test_template_id:0 +#: field:qc.test.line,test_id:0 +msgid "Test" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:nan_quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "" + +#. module: nan_quality_control +#: model:ir.module.module,description:nan_quality_control.module_meta_information +msgid "" +"This module provides a generic infrastructure for quality tests. The idea is " +"that it can be later be reused for doing quality tests in production lots " +"but also in any other areas a company may desire." +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template +#: model:ir.model,name:nan_quality_control.model_qc_test_template +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_menu +#: view:qc.test.template:0 +#: field:qc.test.template.line,test_template_id:0 +msgid "Test Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Qualitative" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_menu +#: view:qc.proof:0 +#: field:qc.proof.synonym,proof_id:0 +#: field:qc.test.line,proof_id:0 +#: field:qc.test.template.line,proof_id:0 +msgid "Proof" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof +msgid "qc.proof" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof_method +msgid "Methods" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "" + +#. module: nan_quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test +msgid "qc.test" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.posible.value,active:0 +#: field:qc.proof,active:0 +#: field:qc.proof.method,active:0 +#: field:qc.test.template,active:0 +#: field:qc.test.template.category,active:0 +#: field:qc.test.template.trigger,active:0 +msgid "Active" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_menu_config +msgid "Configuration" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_proof_synonym +msgid "Synonym" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "" + +#. module: nan_quality_control +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "" + +#. module: nan_quality_control +#: model:ir.module.module,shortdesc:nan_quality_control.module_meta_information +#: model:ir.ui.menu,name:nan_quality_control.qc_menu +msgid "Quality Control" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_method +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_method_menu +#: field:qc.test.line,method_id:0 +#: field:qc.test.template.line,method_id:0 +msgid "Method" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_menu +msgid "Tests" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,test_uom_id:0 +msgid "UoM of the value of the result if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test,enabled:0 +msgid "" +"If a quality control test is not enabled it means it can not be moved from " +"\"Quality Success\" or \"Quality Failed\" state." +msgstr "" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Quantitative" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_line +#: field:qc.test.line,test_template_line_id:0 +#: view:qc.test.template.line:0 +msgid "Test Template Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof +msgid "proof" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.posible.value,name:0 +#: field:qc.proof,name:0 +#: field:qc.proof.method,name:0 +#: field:qc.proof.synonym,name:0 +#: field:qc.test.template,name:0 +#: field:qc.test.template.trigger,name:0 +msgid "Name" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test.line,valid_value_ids:0 +#: field:qc.test.template.line,valid_value_ids:0 +msgid "Values" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.template.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "" diff --git a/quality_control/i18n/ca_ES.po b/quality_control/i18n/ca_ES.po new file mode 100644 index 000000000..ed1508f48 --- /dev/null +++ b/quality_control/i18n/ca_ES.po @@ -0,0 +1,553 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * nan_quality_control +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.12\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2010-08-31 07:57:32+0000\n" +"PO-Revision-Date: 2010-08-31 07:57:32+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: nan_quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_new_test +#: view:qc.test:0 +#: field:qc.test,test_template_id:0 +#: field:qc.test.line,test_id:0 +msgid "Test" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:nan_quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "" + +#. module: nan_quality_control +#: model:ir.module.module,description:nan_quality_control.module_meta_information +msgid "This module provides a generic infrastructure for quality tests. The idea is that it can be later be reused for doing quality tests in production lots but also in any other areas a company may desire." +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template +#: model:ir.model,name:nan_quality_control.model_qc_test_template +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_menu +#: view:qc.test.template:0 +#: field:qc.test.template.line,test_template_id:0 +msgid "Test Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Qualitative" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_menu +#: view:qc.proof:0 +#: field:qc.proof.synonym,proof_id:0 +#: field:qc.test.line,proof_id:0 +#: field:qc.test.template.line,proof_id:0 +msgid "Proof" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof +msgid "qc.proof" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof_method +msgid "Methods" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "" + +#. module: nan_quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test +msgid "qc.test" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.posible.value,active:0 +#: field:qc.proof,active:0 +#: field:qc.proof.method,active:0 +#: field:qc.test.template,active:0 +#: field:qc.test.template.category,active:0 +#: field:qc.test.template.trigger,active:0 +msgid "Active" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_menu_config +msgid "Configuration" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_proof_synonym +msgid "Synonym" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "" + +#. module: nan_quality_control +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "" + +#. module: nan_quality_control +#: model:ir.module.module,shortdesc:nan_quality_control.module_meta_information +#: model:ir.ui.menu,name:nan_quality_control.qc_menu +msgid "Quality Control" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_method +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_method_menu +#: field:qc.test.line,method_id:0 +#: field:qc.test.template.line,method_id:0 +msgid "Method" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_menu +msgid "Tests" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,test_uom_id:0 +msgid "UoM of the value of the result if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test,enabled:0 +msgid "If a quality control test is not enabled it means it can not be moved from \"Quality Success\" or \"Quality Failed\" state." +msgstr "" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Quantitative" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_line +#: field:qc.test.line,test_template_line_id:0 +#: view:qc.test.template.line:0 +msgid "Test Template Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof +msgid "proof" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.posible.value,name:0 +#: field:qc.proof,name:0 +#: field:qc.proof.method,name:0 +#: field:qc.proof.synonym,name:0 +#: field:qc.test.template,name:0 +#: field:qc.test.template.trigger,name:0 +msgid "Name" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test.line,valid_value_ids:0 +#: field:qc.test.template.line,valid_value_ids:0 +msgid "Values" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.template.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "" + diff --git a/quality_control/i18n/es.po b/quality_control/i18n/es.po new file mode 100644 index 000000000..f1af3a6a0 --- /dev/null +++ b/quality_control/i18n/es.po @@ -0,0 +1,570 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * nan_quality_control +# +# Jordi Pasquina , 2010. +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.12\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2010-08-31 07:57+0000\n" +"PO-Revision-Date: 2012-07-11 11:44+0000\n" +"Last-Translator: Urtzi Odriozola \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-26 04:59+0000\n" +"X-Generator: Launchpad (build 15679)\n" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "Comprobar los valores" + +#. module: nan_quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "Disparador" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "Valor posible" + +#. module: nan_quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "Plantilla" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_new_test +#: view:qc.test:0 +#: field:qc.test,test_template_id:0 +#: field:qc.test.line,test_id:0 +msgid "Test" +msgstr "Test" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:nan_quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "qc.test.conjunto.plantilla.assistente" + +#. module: nan_quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "Uom" + +#. module: nan_quality_control +#: model:ir.module.module,description:nan_quality_control.module_meta_information +msgid "" +"This module provides a generic infrastructure for quality tests. The idea is " +"that it can be later be reused for doing quality tests in production lots " +"but also in any other areas a company may desire." +msgstr "" +"Este módulo proporciona una infraestructura para las pruebas de calidad. La " +"idea es que se pueda volver a utilizarse más adelante para hacer pruebas de " +"calidad en los lotes de producción, pero también en otras áreas que una " +"empresa pueda desear." + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "qc.test.plantilla.linea" + +#. module: nan_quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "REllenar con los valores correctos" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "qc.prueba.sinonimo" + +#. module: nan_quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "Objeto referencia" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "Líneas de la plantilla del test" + +#. module: nan_quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "Éxito?" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template +#: model:ir.model,name:nan_quality_control.model_qc_test_template +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_menu +#: view:qc.test.template:0 +#: field:qc.test.template.line,test_template_id:0 +msgid "Test Template" +msgstr "Plantilla del test" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "Plantilla Disparador" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Qualitative" +msgstr "Cualitativo" + +#. module: nan_quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "Línea de la prueba" + +#. module: nan_quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "Tipo de Prueba" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_menu +#: view:qc.proof:0 +#: field:qc.proof.synonym,proof_id:0 +#: field:qc.test.line,proof_id:0 +#: field:qc.test.template.line,proof_id:0 +msgid "Proof" +msgstr "Prueba" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof +msgid "qc.proof" +msgstr "qc.prueba" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof_method +msgid "Methods" +msgstr "Métodos" + +#. module: nan_quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "Referencia" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "Seleccionar plantilla" + +#. module: nan_quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "Error! No se pueden crear categorías recursivas." + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "Relacionado" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "Nota externa" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test +msgid "qc.test" +msgstr "qc.test" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "Prueba sinónima" + +#. module: nan_quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "Máximo valor válido si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: field:qc.posible.value,active:0 +#: field:qc.proof,active:0 +#: field:qc.proof.method,active:0 +#: field:qc.test.template,active:0 +#: field:qc.test.template.category,active:0 +#: field:qc.test.template.trigger,active:0 +msgid "Active" +msgstr "Activo" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "Método de la prueba" + +#. module: nan_quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "Nombre del modelo inválido en la definición de la acción." + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "Confirmar" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "Genérico" + +#. module: nan_quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "Categorías inferiores" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "Valor del resultado si se trata de una prueba cualitativa." + +#. module: nan_quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "Estado" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "Posible valor de la prueba" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "Resultado del test" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_menu_config +msgid "Configuration" +msgstr "Configuración" + +#. module: nan_quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML inválido para la arquitectura de vistas!" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_proof_synonym +msgid "Synonym" +msgstr "Sinónimo" + +#. module: nan_quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "Categoría padre" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "qc.test.linea" + +#. module: nan_quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "Nombre completo" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "Ql.valor" + +#. module: nan_quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "Tipo" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "Valores posibles" + +#. module: nan_quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "Categoria" + +#. module: nan_quality_control +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "referencia" + +#. module: nan_quality_control +#: model:ir.module.module,shortdesc:nan_quality_control.module_meta_information +#: model:ir.ui.menu,name:nan_quality_control.qc_menu +msgid "Quality Control" +msgstr "Control de calidad" + +#. module: nan_quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "Nombre de la Categoría" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_method +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_method_menu +#: field:qc.test.line,method_id:0 +#: field:qc.test.template.line,method_id:0 +msgid "Method" +msgstr "Método" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_menu +msgid "Tests" +msgstr "Tests" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "qc.test.plantilla.categoria" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "Valor del resultado si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "Mínimo valor válido si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "Fecha" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "Método del test" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "qc.test.plantilla.disparador" + +#. module: nan_quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "Éxito" + +#. module: nan_quality_control +#: help:qc.test.line,test_uom_id:0 +msgid "UoM of the value of the result if it is a quantitative proof." +msgstr "UoM del valor del resultado, si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "Activado" + +#. module: nan_quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "Uom test" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "Esperando la aprobación del supervisor" + +#. module: nan_quality_control +#: help:qc.test,enabled:0 +msgid "" +"If a quality control test is not enabled it means it can not be moved from " +"\"Quality Success\" or \"Quality Failed\" state." +msgstr "" +"Si una prueba de control de calidad no está habilitada, significa que no se " +"pueden mover del estado \"Calidad Correcta\" o \"Calidad Errónea\"." + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Quantitative" +msgstr "Cuantitativa" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_line +#: field:qc.test.line,test_template_line_id:0 +#: view:qc.test.template.line:0 +msgid "Test Template Line" +msgstr "Línea de la plantilla del test" + +#. module: nan_quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "Código" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "Calidad errónea" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "Nota interna" + +#. module: nan_quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "Sinónimos" + +#. module: nan_quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" +"UoM para el valor Máximo y Mínimo válido, si se trata de una prueba " +"cuantitativa." + +#. module: nan_quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof +msgid "proof" +msgstr "Prueba" + +#. module: nan_quality_control +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" +"El nombre del objeto debe empezar con x_ y no debe contener ningún carácter " +"especial!" + +#. module: nan_quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "Mínimo" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "Valores del Test" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "qc.posible.valor" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "Test Sinónimo" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "Líneas del test" + +#. module: nan_quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "Máx" + +#. module: nan_quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "Este campo se activa si todas las pruebas han tenido éxito." + +#. module: nan_quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "Notas" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "Seleccionar plantilla del test" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "Línea del test" + +#. module: nan_quality_control +#: field:qc.posible.value,name:0 +#: field:qc.proof,name:0 +#: field:qc.proof.method,name:0 +#: field:qc.proof.synonym,name:0 +#: field:qc.test.template,name:0 +#: field:qc.test.template.trigger,name:0 +msgid "Name" +msgstr "Nombre" + +#. module: nan_quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "Líneas" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test.line,valid_value_ids:0 +#: field:qc.test.template.line,valid_value_ids:0 +msgid "Values" +msgstr "Valores" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "Aprobar" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "Qt.valor" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "Calidad correcta" + +#. module: nan_quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "Secuencia" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "Aceptar" + +#. module: nan_quality_control +#: help:qc.test.template.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "El campo activo le permite ocultar la categoría sin eliminarlo." diff --git a/quality_control/i18n/es_ES.po b/quality_control/i18n/es_ES.po new file mode 100644 index 000000000..a58f39e43 --- /dev/null +++ b/quality_control/i18n/es_ES.po @@ -0,0 +1,558 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * nan_quality_control +# +# Jordi Pasquina , 2010. +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.12\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2010-08-31 07:57:32+0000\n" +"PO-Revision-Date: 2010-08-31 10:29+0200\n" +"Last-Translator: Jordi Pasquina \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" +"X-Generator: Lokalize 1.0\n" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "Comprobar los valores" + +#. module: nan_quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "Disparador" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "Valor posible" + +#. module: nan_quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "Plantilla" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_new_test +#: view:qc.test:0 +#: field:qc.test,test_template_id:0 +#: field:qc.test.line,test_id:0 +msgid "Test" +msgstr "Test" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:nan_quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "qc.test.conjunto.plantilla.assistente" + +#. module: nan_quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "Uom" + +#. module: nan_quality_control +#: model:ir.module.module,description:nan_quality_control.module_meta_information +msgid "This module provides a generic infrastructure for quality tests. The idea is that it can be later be reused for doing quality tests in production lots but also in any other areas a company may desire." +msgstr "" +"Este módulo proporciona una infraestructura para las pruebas de calidad. La idea es que se pueda volver a utilizarse más adelante para hacer pruebas de calidad en los lotes de producción, pero también en " +"otras áreas que una empresa pueda desear." + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "qc.test.plantilla.linea" + +#. module: nan_quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "REllenar con los valores correctos" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "qc.prueba.sinonimo" + +#. module: nan_quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "Objeto referencia" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "Líneas de la plantilla del test" + +#. module: nan_quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "Éxito?" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template +#: model:ir.model,name:nan_quality_control.model_qc_test_template +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_menu +#: view:qc.test.template:0 +#: field:qc.test.template.line,test_template_id:0 +msgid "Test Template" +msgstr "Plantilla del test" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "Plantilla Disparador" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Qualitative" +msgstr "Cualitativo" + +#. module: nan_quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "Línea de la prueba" + +#. module: nan_quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "Tipo de Prueba" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_menu +#: view:qc.proof:0 +#: field:qc.proof.synonym,proof_id:0 +#: field:qc.test.line,proof_id:0 +#: field:qc.test.template.line,proof_id:0 +msgid "Proof" +msgstr "Prueba" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof +msgid "qc.proof" +msgstr "qc.prueba" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof_method +msgid "Methods" +msgstr "Métodos" + +#. module: nan_quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "Referencia" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "Seleccionar plantilla" + +#. module: nan_quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "Error! No se pueden crear categorías recursivas." + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "Relacionado" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "Nota externa" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test +msgid "qc.test" +msgstr "qc.test" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "Prueba sinónima" + +#. module: nan_quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "Máximo valor válido si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: field:qc.posible.value,active:0 +#: field:qc.proof,active:0 +#: field:qc.proof.method,active:0 +#: field:qc.test.template,active:0 +#: field:qc.test.template.category,active:0 +#: field:qc.test.template.trigger,active:0 +msgid "Active" +msgstr "Activo" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "Método de la prueba" + +#. module: nan_quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "Nombre del modelo inválido en la definición de la acción." + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "Confirmar" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "Genérico" + +#. module: nan_quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "Categorías inferiores" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "Valor del resultado si se trata de una prueba cualitativa." + +#. module: nan_quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "Estado" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "Posible valor de la prueba" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "Resultado del test" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_menu_config +msgid "Configuration" +msgstr "Configuración" + +#. module: nan_quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML inválido para la arquitectura de vistas!" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_proof_synonym +msgid "Synonym" +msgstr "Sinónimo" + +#. module: nan_quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "Categoría padre" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "qc.test.linea" + +#. module: nan_quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "Nombre completo" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "Ql.valor" + +#. module: nan_quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "Tipo" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "Valores posibles" + +#. module: nan_quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "Categoria" + +#. module: nan_quality_control +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "referencia" + +#. module: nan_quality_control +#: model:ir.module.module,shortdesc:nan_quality_control.module_meta_information +#: model:ir.ui.menu,name:nan_quality_control.qc_menu +msgid "Quality Control" +msgstr "Control de calidad" + +#. module: nan_quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "Nombre de la Categoría" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_method +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_method_menu +#: field:qc.test.line,method_id:0 +#: field:qc.test.template.line,method_id:0 +msgid "Method" +msgstr "Método" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_menu +msgid "Tests" +msgstr "Tests" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "qc.test.plantilla.categoria" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "Valor del resultado si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "Mínimo valor válido si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "Fecha" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "Método del test" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "qc.test.plantilla.disparador" + +#. module: nan_quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "Éxito" + +#. module: nan_quality_control +#: help:qc.test.line,test_uom_id:0 +msgid "UoM of the value of the result if it is a quantitative proof." +msgstr "UoM del valor del resultado, si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "Activado" + +#. module: nan_quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "Uom test" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "Esperando la aprobación del supervisor" + +#. module: nan_quality_control +#: help:qc.test,enabled:0 +msgid "If a quality control test is not enabled it means it can not be moved from \"Quality Success\" or \"Quality Failed\" state." +msgstr "Si una prueba de control de calidad no está habilitada, significa que no se pueden mover del estado \"Calidad Correcta\" o \"Calidad Errónea\"." + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Quantitative" +msgstr "Cuantitativa" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_line +#: field:qc.test.line,test_template_line_id:0 +#: view:qc.test.template.line:0 +msgid "Test Template Line" +msgstr "Línea de la plantilla del test" + +#. module: nan_quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "Código" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "Calidad errónea" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "Nota interna" + +#. module: nan_quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "Sinónimos" + +#. module: nan_quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "UoM para el valor Máximo y Mínimo válido, si se trata de una prueba cuantitativa." + +#. module: nan_quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof +msgid "proof" +msgstr "Prueba" + +#. module: nan_quality_control +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "El nombre del objeto debe empezar con x_ y no debe contener ningún carácter especial!" + +#. module: nan_quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "Mínimo" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "Valores del Test" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "qc.posible.valor" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "Test Sinónimo" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "Líneas del test" + +#. module: nan_quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "Máx" + +#. module: nan_quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "Este campo se activa si todas las pruebas han tenido éxito." + +#. module: nan_quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "Notas" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "Seleccionar plantilla del test" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "Línea del test" + +#. module: nan_quality_control +#: field:qc.posible.value,name:0 +#: field:qc.proof,name:0 +#: field:qc.proof.method,name:0 +#: field:qc.proof.synonym,name:0 +#: field:qc.test.template,name:0 +#: field:qc.test.template.trigger,name:0 +msgid "Name" +msgstr "Nombre" + +#. module: nan_quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "Líneas" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test.line,valid_value_ids:0 +#: field:qc.test.template.line,valid_value_ids:0 +msgid "Values" +msgstr "Valores" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "Aprobar" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "Qt.valor" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "Calidad correcta" + +#. module: nan_quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "Secuencia" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "Aceptar" + +#. module: nan_quality_control +#: help:qc.test.template.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "El campo activo le permite ocultar la categoría sin eliminarlo." + + diff --git a/quality_control/i18n/nan_quality_control.pot b/quality_control/i18n/nan_quality_control.pot new file mode 100644 index 000000000..ed1508f48 --- /dev/null +++ b/quality_control/i18n/nan_quality_control.pot @@ -0,0 +1,553 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * nan_quality_control +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 5.0.12\n" +"Report-Msgid-Bugs-To: support@openerp.com\n" +"POT-Creation-Date: 2010-08-31 07:57:32+0000\n" +"PO-Revision-Date: 2010-08-31 07:57:32+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: nan_quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_new_test +#: view:qc.test:0 +#: field:qc.test,test_template_id:0 +#: field:qc.test.line,test_id:0 +msgid "Test" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:nan_quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "" + +#. module: nan_quality_control +#: model:ir.module.module,description:nan_quality_control.module_meta_information +msgid "This module provides a generic infrastructure for quality tests. The idea is that it can be later be reused for doing quality tests in production lots but also in any other areas a company may desire." +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template +#: model:ir.model,name:nan_quality_control.model_qc_test_template +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_menu +#: view:qc.test.template:0 +#: field:qc.test.template.line,test_template_id:0 +msgid "Test Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:nan_quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Qualitative" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_menu +#: view:qc.proof:0 +#: field:qc.proof.synonym,proof_id:0 +#: field:qc.test.line,proof_id:0 +#: field:qc.test.template.line,proof_id:0 +msgid "Proof" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof +msgid "qc.proof" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof_method +msgid "Methods" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "" + +#. module: nan_quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test +msgid "qc.test" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.posible.value,active:0 +#: field:qc.proof,active:0 +#: field:qc.proof.method,active:0 +#: field:qc.test.template,active:0 +#: field:qc.test.template.category,active:0 +#: field:qc.test.template.trigger,active:0 +msgid "Active" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "" + +#. module: nan_quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_menu_config +msgid "Configuration" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_proof_synonym +msgid "Synonym" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "" + +#. module: nan_quality_control +#: model:qc.test.template.category,name:nan_quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "" + +#. module: nan_quality_control +#: model:ir.module.module,shortdesc:nan_quality_control.module_meta_information +#: model:ir.ui.menu,name:nan_quality_control.qc_menu +msgid "Quality Control" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_proof_method +#: model:ir.ui.menu,name:nan_quality_control.qc_proof_method_menu +#: field:qc.test.line,method_id:0 +#: field:qc.test.template.line,method_id:0 +msgid "Method" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_menu +msgid "Tests" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,test_uom_id:0 +msgid "UoM of the value of the result if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test,enabled:0 +msgid "If a quality control test is not enabled it means it can not be moved from \"Quality Success\" or \"Quality Failed\" state." +msgstr "" + +#. module: nan_quality_control +#: selection:qc.proof,type:0 +#: selection:qc.test.line,proof_type:0 +#: selection:qc.test.template.line,type:0 +msgid "Quantitative" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_template_line +#: field:qc.test.line,test_template_line_id:0 +#: view:qc.test.template.line:0 +msgid "Test Template Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "" + +#. module: nan_quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_proof +msgid "proof" +msgstr "" + +#. module: nan_quality_control +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "" + +#. module: nan_quality_control +#: model:ir.model,name:nan_quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "" + +#. module: nan_quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "" + +#. module: nan_quality_control +#: model:ir.ui.menu,name:nan_quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "" + +#. module: nan_quality_control +#: model:ir.actions.act_window,name:nan_quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "" + +#. module: nan_quality_control +#: field:qc.posible.value,name:0 +#: field:qc.proof,name:0 +#: field:qc.proof.method,name:0 +#: field:qc.proof.synonym,name:0 +#: field:qc.test.template,name:0 +#: field:qc.test.template.trigger,name:0 +msgid "Name" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +#: field:qc.test.line,valid_value_ids:0 +#: field:qc.test.template.line,valid_value_ids:0 +msgid "Values" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "" + +#. module: nan_quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "" + +#. module: nan_quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: nan_quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "" + +#. module: nan_quality_control +#: help:qc.test.template.category,active:0 +msgid "The active field allows you to hide the category without removing it." +msgstr "" + diff --git a/quality_control/quality_control.py b/quality_control/quality_control.py new file mode 100644 index 000000000..b9ac81c41 --- /dev/null +++ b/quality_control/quality_control.py @@ -0,0 +1,570 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (c) 2010 NaN Projectes de Programari Lliure, S.L. All Rights Reserved. +# http://www.NaN-tic.com +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import netsvc + +from tools.translate import _ +from osv import fields, osv +import time + +class qc_proof_method(osv.osv): + """ + This model stores a method for doing a test. Examples of methods are: "Eu.Pharm.v.v. (2.2.32)" or "HPLC" + """ + + _name = 'qc.proof.method' + _description = 'Method' + _columns = { + 'name': fields.char('Name', size=100, required=True ,select="1", translate=True), + 'active':fields.boolean('Active', select="1"), + } + _defaults = { + 'active': lambda *a: True, + } +qc_proof_method() + + +class qc_posible_value(osv.osv): + """ + This model stores all possible values of qualitative proof. + """ + + _name = 'qc.posible.value' + _columns = { + 'name': fields.char('Name', size=200, required=True, select="1", translate=True), + 'active':fields.boolean('Active', select="1"), + } + _defaults = { + 'active': lambda *a: True, + } + + def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False): + if context is None: + context = {} + if context.get('proof_id'): + ctx = context.copy() + del ctx['proof_id'] + proof = self.pool.get('qc.proof').browse( cr, uid, context['proof_id'], ctx ) + result = [ x.id for x in proof.value_ids ] + args = args[:] + args.append( ('id', 'in',result)) + return super(qc_posible_value, self).search(cr, uid, args, offset, limit, order, context, count) + + +qc_posible_value() + +class qc_proof( osv.osv ): + """ + This model stores proofs which will be part of a test. Proofs are classified between qualitative + (such as color) and quantitative (such as density). + + Proof must be related with method, and Poof-Method relation must be unique + + A name_search on thish model will search on 'name' field but also on any of its synonyms. + """ + _name = 'qc.proof' + + def _synonyms(self, cr, uid, ids, field_name, arg, context=None): + result = {} + for proof in self.browse(cr, uid, ids, context): + texts = [] + for syn in proof.synonym_ids: + texts.append( syn.name ) + result[proof.id] = ', '.join( texts ) + return result + + _columns = { + 'name': fields.char('Name', size=200, required=True,select="1",translate=True), + 'ref':fields.char('Code',size=30, select="1"), + 'active': fields.boolean('Active', select="1"), + 'synonym_ids': fields.one2many('qc.proof.synonym','proof_id','Synonyms'), + 'type': fields.selection([('qualitative','Qualitative'),('quantitative','Quantitative')], 'Type', select="1",required=True), + 'value_ids': fields.many2many('qc.posible.value', 'qc_proof_posible_value_rel','proof_id','posible_value_id','Posible Values'), + 'synonyms': fields.function(_synonyms, method=True, type='char', size='1000', string='Synonyms', store=False), + } + + _defaults = { + 'active': lambda *a: True, + } + _sql_constraints = [ + ('proof_method_unique', 'unique(proof_id, method_id)', 'Proof-Method relation alredy exists!'), + ] + + def name_search(self, cr, uid, name='', args=None, operator='ilike', context=None, limit=None): + result = super(qc_proof,self).name_search(cr, uid, name, args, operator, context, limit) + if name: + ids = [x[0] for x in result] + new_ids = [] + syns = self.pool.get('qc.proof.synonym').name_search(cr, uid, name, args, operator, context, limit) + syns = [x[0] for x in syns] + for syn in self.pool.get('qc.proof.synonym').browse(cr, uid, syns, context): + if not syn.proof_id.id in ids: + new_ids.append( syn.proof_id.id ) + result += self.name_get(cr, uid, new_ids, context) + return result + + def name_get(self, cr, uid, ids, context=None): + result = [] + for proof in self.browse(cr, uid, ids, context): + text = proof.name + if proof.synonyms: + text += " [%s]" % proof.synonyms + result.append( (proof.id, text) ) + return result + +qc_proof() + + +class qc_proof_synonym(osv.osv): + """ + Proofs may have synonyms. These are used because suppliers may use different names for the same + proof. + """ + + _name = 'qc.proof.synonym' + _columns = { + 'name': fields.char('Name', size=200, required=True, select="1",translate=True), + 'proof_id':fields.many2one('qc.proof','Proof', required=True ), + } +qc_proof_synonym() + + +class qc_test_template_category( osv.osv): + """ + This model is used to categorize proof templates. + """ + + _name = 'qc.test.template.category' + + def name_get(self, cr, uid, ids, context=None): + if not len(ids): + return [] + reads = self.read(cr, uid, ids, ['name','parent_id'], context=context) + res = [] + for record in reads: + name = record['name'] + if record['parent_id']: + name = record['parent_id'][1]+' / '+name + res.append((record['id'], name)) + return res + + def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None): + res = self.name_get(cr, uid, ids, context=context) + return dict(res) + + def _check_recursion(self, cr, uid, ids): + level = 100 + while len(ids): + cr.execute('SELECT DISTINCT parent_id FROM qc_test_template_category WHERE id IN ('+','.join(map(str,ids))+')') + ids = [x[0] for x in cr.fetchall() if x[0] != None] + if not level: + return False + level -= 1 + return True + + _columns = { + 'name': fields.char('Category Name', required=True, size=64, translate=True), + 'parent_id': fields.many2one('qc.test.template.category', 'Parent Category', select=True), + 'complete_name': fields.function(_name_get_fnc, method=True, type="char", string='Full Name'), + 'child_ids': fields.one2many('qc.test.template.category', 'parent_id', 'Child Categories'), + 'active' : fields.boolean('Active', help="The active field allows you to hide the category without removing it."), + } + _constraints = [ + (_check_recursion, 'Error ! You can not create recursive categories.', ['parent_id']) + ] + _defaults = { + 'active' : lambda *a: 1, + } + +qc_test_template_category() + + + +class qc_test_template_trigger( osv.osv ): + _name = 'qc.test.template.trigger' + + _columns ={ + 'name':fields.char('Name', size=64, required=True, readonly=False), + 'active':fields.boolean('Active', required=False), + } + + _defaults = { + 'active':lambda *a:1, + } + +qc_test_template_trigger() + +class qc_test_template(osv.osv): + """ + A template is a group of proofs to with the values that make them valid. + """ + + _name = 'qc.test.template' + _description='Test Template' + + def _links_get(self, cr, uid, context=None): + #TODO: Select models + obj = self.pool.get('res.request.link') + ids = obj.search(cr, uid, [], context=context) + res = obj.read(cr, uid, ids, ['object', 'name'], context) + return [(r['object'], r['name']) for r in res] + + def _default_name(self, cr, uid, context=None): + if context and context.get('reference_model', False): + id = context.get('reference_id') + if not id: + id = context.get('active_id') + if id: + source=self.pool.get(context['reference_model']).browse(cr, uid, id, context) + if hasattr(source, 'name'): + return source.name + + def _default_object_id(self, cr, uid, context=None): + if context and context.get('reference_model', False): + return '%s,%d' % (context['reference_model'], context['reference_id']) + else: + return False + + def _default_type(self, cr, uid, context=None): + if context and context.get('reference_model'): + return 'related' + else: + return False + + + _columns = { + 'active':fields.boolean('Active', select="1"), + 'name': fields.char('Name', size=200, required=True,translate=True,select="1"), + 'test_template_line_ids':fields.one2many('qc.test.template.line','test_template_id', 'Lines' ), + 'object_id':fields.reference('Reference Object', selection=_links_get, size=128 ) , + 'fill_correct_values':fields.boolean('Fill With Correct Values' ), + 'type':fields.selection([('generic','Generic'),('related','Related')], 'Type' , select="1"), + 'category_id': fields.many2one('qc.test.template.category','Category'), + 'trig_on' : fields.many2one('qc.test.template.trigger', 'Trigger'), + } + + _defaults = { + 'name': _default_name, + 'active': lambda *a: True, + 'object_id': _default_object_id, + 'type': _default_type, + } + +qc_test_template() + +class qc_test_template_line(osv.osv): + """ + Each test template line has a reference to a proof and the valid value/values. + """ + + _name = 'qc.test.template.line' + _order= 'sequence asc' + _rec_name = 'sequence' + + def onchange_proof_id(self, cr, uid, ids, proof_id,context=None): + if not proof_id: + return {} + proof = self.pool.get('qc.proof').browse(cr,uid,proof_id) + return {'value':{'type':proof.type, + } + } + + + _columns = { + 'sequence':fields.integer('Sequence', required=True), + 'test_template_id': fields.many2one('qc.test.template', 'Test Template', select="1"), + 'proof_id': fields.many2one('qc.proof', 'Proof', required=True, select="1"), + 'valid_value_ids': fields.many2many('qc.posible.value', 'qc_template_value_rel','template_line_id','value_id','Values'), + 'method_id': fields.many2one('qc.proof.method','Method', select="1"), + 'notes': fields.text('Notes'), + 'min_value': fields.float('Min', digits = (16,5) ), # Only if quantitative + 'max_value': fields.float('Max', digits = (15,5) ), # Only if quantitative + 'uom_id': fields.many2one('product.uom','Uom'), # Only if quantitative + 'type': fields.selection([('qualitative','Qualitative'),('quantitative','Quantitative')], 'Type', select="1"), + } + + _defaults = { + 'sequence':lambda *b:1, + } + +qc_test_template_line() + + +class qc_test(osv.osv): + """ + This model contains an instance of a test template. + """ + + _name = 'qc.test' + + def _success(self, cr, uid, ids, field_name, arg, context=None): + result = {} + for test in self.browse(cr, uid, ids, context): + success = True + proof={} + for line in test.test_line_ids: + proof[ line.proof_id.id ] = proof.get(line.proof_id.id,False) or line.success + + for p in proof: + if not proof[p]: + success = False + break + result[test.id] = success + return result + + def _links_get(self, cr, uid, context=None): + # TODO: Select models + obj = self.pool.get('res.request.link') + ids = obj.search(cr, uid, [], context=context) + res = obj.read(cr, uid, ids, ['object', 'name'], context) + return [(r['object'], r['name']) for r in res] + + def _default_object_id(self, cr, uid, context=None): + if context and context.get('reference_model', False): + return '%s,%d' % (context['reference_model'], context['reference_id']) + else: + return False + + _columns = { + 'name': fields.datetime('Date',required=True, readonly=True, states={'draft':[('readonly',False)]}, select="1"), + 'object_id':fields.reference('Reference', selection=_links_get, size=128, readonly=True, states={'draft':[('readonly',False)]}, select="1"), + 'test_template_id': fields.many2one('qc.test.template','Test', states={'success':[('readonly',True)], 'failed':[('readonly',True)]}, select="1"), + 'test_line_ids': fields.one2many( 'qc.test.line', 'test_id', 'Test Lines', states={'success':[('readonly',True)], 'failed':[('readonly',True)]}), + 'test_internal_note': fields.text('Internal Note', states={'success':[('readonly',True)], 'failed':[('readonly',True)]}), + 'test_external_note': fields.text('External Note', states={'success':[('readonly',True)], 'failed':[('readonly',True)]}), + 'state': fields.selection([ + ('draft','Draft'), + ('waiting','Waiting Supervisor Approval'), + ('success','Quality Success'), + ('failed','Quality Failed'), + ], 'State', readonly=True, select="1"), + 'success': fields.function(_success, method=True, type='boolean', string='Success', help='This field will be active if all tests have succeeded.',select="1"), + 'enabled': fields.boolean('Enabled', readonly=True, help='If a quality control test is not enabled it means it can not be moved from "Quality Success" or "Quality Failed" state.',select="1"), + } + _defaults = { + 'name' : lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), + 'state': lambda *a: 'draft', + 'object_id': _default_object_id, + 'enabled': lambda *a: True, + } + + def copy(self, cr, uid, id, default=None,context=None): + if context == None: + context = {} + + if default == None: + default = {} + default['name'] = time.strftime('%Y-%m-%d %H:%M:%S') + return super( qc_test, self).copy( cr, uid, id, default, context) + + def create(self, cr, uid, datas, context=None): + if context and context.get('reference_model', False): + datas['object_id'] = context['reference_model'] + "," + str(context['reference_id']) + return super(osv.osv, self).create(cr, uid, datas, context=context) + + def qc_test_success(self, cr, uid, ids, context): + self.write(cr, uid, ids, { + 'state' : 'success' + }, context) + return True + + def qc_test_failed(self, cr, uid, ids, context): + self.write(cr, uid, ids, { + 'state' : 'failed' + }, context) + return True + + def test_state(self, cr, uid, ids, mode, *args): + quality_check=False + if mode == 'failed': + return not quality_check + if mode == 'success': + return quality_check + return False + + def set_test_template(self, cr, uid, ids, template_id, force_fill=False, context=None): + if context == None: + context={} + for id in ids: + self.pool.get('qc.test').write( cr, uid, id, { + 'test_template_id' : template_id + }, context) + + test = self.pool.get('qc.test').browse( cr, uid, id, context ) + + if len(test.test_line_ids) > 0: + self.pool.get( 'qc.test.line' ).unlink(cr, uid, [x.id for x in test.test_line_ids], context ) + + fill=False + if test.test_template_id.fill_correct_values: + fill=True + + + for line in test.test_template_id.test_template_line_ids: + data = { + 'test_id': id, + 'method_id': line.method_id.id, + 'proof_id': line.proof_id.id, + 'test_template_line_id': line.id, + 'notes': line.notes, + 'min_value': line.min_value, + 'max_value': line.max_value, + 'uom_id': line.uom_id.id, + 'test_uom_id': line.uom_id.id, + 'proof_type': line.type, + } + if fill or force_fill : + if line.type == 'qualitative': + # Fill wiht the first correct value finded. + data['actual_value_ql'] = len(line.valid_value_ids) and line.valid_value_ids[0] and line.valid_value_ids[0].id or False + + else: + # Fill with value inside rang. + data['actual_value_qt'] =line.min_value + data['test_uom_id'] = line.uom_id.id + + test_line_id = self.pool.get('qc.test.line').create( cr,uid,data , context) + self.pool.get('qc.test.line').write(cr, uid, [test_line_id], { + 'valid_value_ids': [(6, 0,[x.id for x in line.valid_value_ids ])] + }) + + +qc_test() + + +class qc_test_line(osv.osv): + """ + Each test line has a value and a reference to a proof template line. + """ + + _name = 'qc.test.line' + _rec_name = 'proof_id' + + + def quality_test_check( self, cr, uid, ids,field_name, field_value, context ): + res ={} + lines = self.browse(cr,uid,ids,context ) + for line in lines: + if line.proof_type =='qualitative': + res[line.id] = self.quality_test_qualitative_check( cr, uid, line, context) + else: + res[line.id] = self.quality_test_quantitative_check( cr, uid, line, context) + return res + + def quality_test_qualitative_check( self, cr, uid, test_line, context ): + if test_line.actual_value_ql in test_line.valid_value_ids: + return True + else: + return False + + def quality_test_quantitative_check( self, cr, uid, test_line, context ): + amount = self.pool.get('product.uom')._compute_qty( cr, uid, test_line.uom_id.id, test_line.actual_value_qt, test_line.test_uom_id.id) + if amount >= test_line.min_value and amount <= test_line.max_value: + return True + else: + return False + + _columns = { + 'test_id': fields.many2one('qc.test','Test'), + 'test_template_line_id':fields.many2one('qc.test.template.line','Test Template Line', readonly=True), + 'proof_id': fields.many2one('qc.proof','Proof', readonly=True), + 'method_id': fields.many2one('qc.proof.method','Method', readonly=True), + 'valid_value_ids': fields.many2many('qc.posible.value', 'qc_test_value_rel','test_line_id','value_id','Values'), + 'actual_value_qt': fields.float('Qt.Value', digits=(16,5) ,help="Value of the result if it is a quantitative proof."), + 'actual_value_ql': fields.many2one('qc.posible.value','Ql.Value', help="Value of the result if it is a qualitative proof."), + 'notes': fields.text('Notes', readonly=True ), + 'min_value': fields.float('Min', digits=(16,5), readonly=True, help="Minimum valid value if it is a quantitative proof."), + 'max_value': fields.float('Max', digits=(16,5), readonly=True, help="Maximum valid value if it is a quantitative proof."), + 'uom_id': fields.many2one('product.uom','Uom', readonly=True, help="UoM for minimum and maximum values if it is a quantitative proof."), + 'test_uom_id':fields.many2one('product.uom','Uom Test', help="UoM of the value of the result if it is a quantitative proof."), + 'proof_type': fields.selection([('qualitative','Qualitative'),('quantitative','Quantitative')], 'Proof Type', readonly=True), + 'success': fields.function( quality_test_check,type='boolean',method=True, string="Success?", select="1"), + } + + def onchange_actual_value_qt(self, cr, uid, ids, uom_id, test_uom_id, actual_value_qt, min_value, max_value ,context=None): + res={} + if actual_value_qt: + amount = self.pool.get('product.uom')._compute_qty( cr, uid, uom_id, actual_value_qt, test_uom_id) + if amount >= min_value and amount <= max_value: + res.update({'success': True}) + else: + res.update({'success': False}) + return {'value': res} + + def onchange_actual_value_ql(self, cr, uid, ids, actual_value_ql, valid_value_ids, context=None): + res={} + if actual_value_ql: + valid = valid_value_ids[0][2] + if actual_value_ql in valid: + res.update({'success': True}) + else: + res.update({'success': False}) + return {'value': res} + +qc_test_line() + + +class qc_test_wizard(osv.osv_memory): + """ + This wizard is responsible for setting the proof template for a given test. This + will not only fill in the 'test_template_id' field, but will also fill in all lines + of the test with the corresponding lines of the template. + """ + + _name = 'qc.test.set.template.wizard' + + def _default_test_template_id(self, cr, uid, context): + id = context.get('active_id',False) + test = self.pool.get('qc.test').browse(cr, uid, id, context) + ids = self.pool.get('qc.test.template').search(cr, uid, [('object_id','=',test.object_id)], context=context) + return ids and ids[0] or False + + _columns = { + 'test_template_id': fields.many2one('qc.test.template', 'Template'), + } + _defaults = { + 'test_template_id': _default_test_template_id, + } + + def action_create_test(self, cr, uid, ids, context): + wizard = self.browse(cr, uid, ids[0], context) + self.pool.get('qc.test').set_test_template(cr, uid, [context['active_id']], wizard.test_template_id.id, context) + return { + 'type': 'ir.actions.act_window_close', + } + + def action_cancel(self, cr, uid, ids, context=None): + return { + 'type': 'ir.actions.act_window_close', + } + +qc_test_wizard() + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/quality_control/quality_control_data.xml b/quality_control/quality_control_data.xml new file mode 100644 index 000000000..79d704f43 --- /dev/null +++ b/quality_control/quality_control_data.xml @@ -0,0 +1,12 @@ + + + + + + Generic + + + referenced + + + diff --git a/quality_control/quality_control_view.xml b/quality_control/quality_control_view.xml new file mode 100644 index 000000000..66053f2f2 --- /dev/null +++ b/quality_control/quality_control_view.xml @@ -0,0 +1,478 @@ + + + + + + qc.proof.method.form + qc.proof.method + form + +
+ + + + + + +
+
+
+ + qc.proof.method.tree + qc.proof.method + tree + + + + + + + + Methods + qc.proof.method + form + tree,form + + + + + qc.posible.value.form + qc.posible.value + form + +
+ + + + +
+ + qc.posible_value.tree + qc.posible.value + tree + + + + + + + + Posible Values + qc.posible.value + form + tree,form + + + + + qc.test.template.trigger.form + qc.test.template.trigger + form + +
+ + + + +
+ + qc.test.template.trigger.tree + qc.test.template.trigger + tree + + + + + + + + + Template Trigger + qc.test.template.trigger + form + tree,form + + + + + + qc.proof.synonym + qc.proof.synonym + form + +
+ + +
+
+ + qc.proof.synonym.tree + qc.proof.synonym + tree + + + + + + + + Synonym + qc.proof.synonym + form + tree,form + + + + + qc.proof.form + qc.proof + form + +
+ + + + + + + + + + + + +
+
+
+ + qc.proof.tree + qc.proof + tree + + + + + + + + + + proof + qc.proof + form + tree,form + + + + + qc.test.template.form + qc.test.template + form + 8 + +
+ + + + + + + + + + + + + + +
+ + qc.test.template_tree + qc.test.template + tree + + + + + + + + + + + + + Test Template + qc.test.template + form + tree,form + + + + + qc.test.template.line.form + qc.test.template.line + form + +
+ + + + + + + + + + + + + + + + + + +
+
+ + qc.test.template,line.tree + qc.test.template.line + tree + + + + + + + + + + + + + + + + + Test Template Line + qc.test.template.line + form + tree,form + + + + + + qc.test.set.template.wizard + qc.test.set.template.wizard + form + +
+ + +