From ccdf7ead109a989b0529f7f9e71d40615a1ab538 Mon Sep 17 00:00:00 2001 From: oihane Date: Fri, 22 Aug 2014 08:49:46 +0200 Subject: [PATCH] Modulos de calidad sin migrar --- quality_control_oca/__init__.py | 32 + quality_control_oca/__openerp__.py | 58 ++ .../data/quality_control_data.xml | 20 + quality_control_oca/i18n/ca.po | 559 +++++++++++++++ quality_control_oca/i18n/ca_ES.po | 553 +++++++++++++++ quality_control_oca/i18n/es.po | 570 ++++++++++++++++ quality_control_oca/i18n/es_ES.po | 558 +++++++++++++++ quality_control_oca/i18n/quality_control.pot | 553 +++++++++++++++ quality_control_oca/models/__init__.py | 31 + quality_control_oca/models/quality_control.py | 636 ++++++++++++++++++ .../security/ir.model.access.csv | 13 + .../security/quality_control_security.xml | 18 + .../views/quality_control_view.xml | 515 ++++++++++++++ quality_control_oca/wizard/__init__.py | 31 + quality_control_oca/wizard/qc_test_wizard.py | 70 ++ .../wizard/qc_test_wizard_view.xml | 35 + .../workflow/test_workflow.xml | 77 +++ 17 files changed, 4329 insertions(+) create mode 100644 quality_control_oca/__init__.py create mode 100644 quality_control_oca/__openerp__.py create mode 100644 quality_control_oca/data/quality_control_data.xml create mode 100644 quality_control_oca/i18n/ca.po create mode 100644 quality_control_oca/i18n/ca_ES.po create mode 100644 quality_control_oca/i18n/es.po create mode 100644 quality_control_oca/i18n/es_ES.po create mode 100644 quality_control_oca/i18n/quality_control.pot create mode 100644 quality_control_oca/models/__init__.py create mode 100644 quality_control_oca/models/quality_control.py create mode 100644 quality_control_oca/security/ir.model.access.csv create mode 100644 quality_control_oca/security/quality_control_security.xml create mode 100644 quality_control_oca/views/quality_control_view.xml create mode 100644 quality_control_oca/wizard/__init__.py create mode 100644 quality_control_oca/wizard/qc_test_wizard.py create mode 100644 quality_control_oca/wizard/qc_test_wizard_view.xml create mode 100644 quality_control_oca/workflow/test_workflow.xml diff --git a/quality_control_oca/__init__.py b/quality_control_oca/__init__.py new file mode 100644 index 000000000..2868583fc --- /dev/null +++ b/quality_control_oca/__init__.py @@ -0,0 +1,32 @@ +# -*- encoding: 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. +# +############################################################################## + +from . import models +from . import wizard diff --git a/quality_control_oca/__openerp__.py b/quality_control_oca/__openerp__.py new file mode 100644 index 000000000..839cfac37 --- /dev/null +++ b/quality_control_oca/__openerp__.py @@ -0,0 +1,58 @@ +# -*- encoding: 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. +# +############################################################################## + +{ + "name": "Quality Control", + "version": "0.1", + "author": "NaN·tic", + "contributors": [ + "Oihane Crucelaegui ", + ], + "category": "Generic Modules/Others", + "summary": "Quality control", + "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' + ], + "data": [ + 'data/quality_control_data.xml', + 'security/quality_control_security.xml', + 'security/ir.model.access.csv', + 'workflow/test_workflow.xml', + 'wizard/qc_test_wizard_view.xml', + 'views/quality_control_view.xml', + ], + "installable": True, +} diff --git a/quality_control_oca/data/quality_control_data.xml b/quality_control_oca/data/quality_control_data.xml new file mode 100644 index 000000000..71ec8bd59 --- /dev/null +++ b/quality_control_oca/data/quality_control_data.xml @@ -0,0 +1,20 @@ + + + + + + Generic + + + Referenced + + + + + + Quality Control + + + + + diff --git a/quality_control_oca/i18n/ca.po b/quality_control_oca/i18n/ca.po new file mode 100644 index 000000000..37cc89aa6 --- /dev/null +++ b/quality_control_oca/i18n/ca.po @@ -0,0 +1,559 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * 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: quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "" + +#. module: quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "" + +#. module: quality_control +#: model:ir.module.module,description: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: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template +#: model:ir.model,name:quality_control.model_qc_test_template +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "" + +#. module: 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: quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.model,name:quality_control.model_qc_proof +msgid "qc.proof" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof_method +msgid "Methods" +msgstr "" + +#. module: quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "" + +#. module: quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test +msgid "qc.test" +msgstr "" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "" + +#. module: 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: quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "" + +#. module: quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "" + +#. module: quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "" + +#. module: quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_menu_config +msgid "Configuration" +msgstr "" + +#. module: quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_proof_synonym +msgid "Synonym" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "" + +#. module: quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "" + +#. module: quality_control +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "" + +#. module: quality_control +#: model:ir.module.module,shortdesc:quality_control.module_meta_information +#: model:ir.ui.menu,name:quality_control.qc_menu +msgid "Quality Control" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_method +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_menu +msgid "Tests" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "" + +#. module: quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "" + +#. module: quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "" + +#. module: 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: quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "" + +#. module: 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: 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: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "" + +#. module: quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof +msgid "proof" +msgstr "" + +#. module: quality_control +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "" + +#. module: quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "" + +#. module: quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "" + +#. module: 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: quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "" + +#. module: 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_oca/i18n/ca_ES.po b/quality_control_oca/i18n/ca_ES.po new file mode 100644 index 000000000..7a800bf63 --- /dev/null +++ b/quality_control_oca/i18n/ca_ES.po @@ -0,0 +1,553 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * 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: quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "" + +#. module: quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "" + +#. module: quality_control +#: model:ir.module.module,description: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: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template +#: model:ir.model,name:quality_control.model_qc_test_template +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "" + +#. module: 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: quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.model,name:quality_control.model_qc_proof +msgid "qc.proof" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof_method +msgid "Methods" +msgstr "" + +#. module: quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "" + +#. module: quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test +msgid "qc.test" +msgstr "" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "" + +#. module: 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: quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "" + +#. module: quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "" + +#. module: quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "" + +#. module: quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_menu_config +msgid "Configuration" +msgstr "" + +#. module: quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_proof_synonym +msgid "Synonym" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "" + +#. module: quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "" + +#. module: quality_control +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "" + +#. module: quality_control +#: model:ir.module.module,shortdesc:quality_control.module_meta_information +#: model:ir.ui.menu,name:quality_control.qc_menu +msgid "Quality Control" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_method +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_menu +msgid "Tests" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "" + +#. module: quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "" + +#. module: quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "" + +#. module: 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: quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "" + +#. module: 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: 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: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "" + +#. module: quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof +msgid "proof" +msgstr "" + +#. module: quality_control +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "" + +#. module: quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "" + +#. module: quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "" + +#. module: 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: quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "" + +#. module: 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_oca/i18n/es.po b/quality_control_oca/i18n/es.po new file mode 100644 index 000000000..da4a1ffe6 --- /dev/null +++ b/quality_control_oca/i18n/es.po @@ -0,0 +1,570 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * 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: quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "Comprobar los valores" + +#. module: quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "Disparador" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "Valor posible" + +#. module: quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "Plantilla" + +#. module: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "qc.test.conjunto.plantilla.assistente" + +#. module: quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "Uom" + +#. module: quality_control +#: model:ir.module.module,description: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: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "qc.test.plantilla.linea" + +#. module: quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "REllenar con los valores correctos" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "qc.prueba.sinonimo" + +#. module: quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "Objeto referencia" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "Líneas de la plantilla del test" + +#. module: quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "Éxito?" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template +#: model:ir.model,name:quality_control.model_qc_test_template +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "Plantilla Disparador" + +#. module: 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: quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "Línea de la prueba" + +#. module: quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "Tipo de Prueba" + +#. module: quality_control +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.model,name:quality_control.model_qc_proof +msgid "qc.proof" +msgstr "qc.prueba" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof_method +msgid "Methods" +msgstr "Métodos" + +#. module: quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "Referencia" + +#. module: quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "Seleccionar plantilla" + +#. module: 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: quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "Relacionado" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "Nota externa" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test +msgid "qc.test" +msgstr "qc.test" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "Prueba sinónima" + +#. module: 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: 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: quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "Método de la prueba" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "Confirmar" + +#. module: quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "Genérico" + +#. module: quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "Categorías inferiores" + +#. module: 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: quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "Estado" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "Posible valor de la prueba" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "Resultado del test" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_menu_config +msgid "Configuration" +msgstr "Configuración" + +#. module: quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML inválido para la arquitectura de vistas!" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_proof_synonym +msgid "Synonym" +msgstr "Sinónimo" + +#. module: quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "Categoría padre" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "qc.test.linea" + +#. module: quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "Nombre completo" + +#. module: quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "Ql.valor" + +#. module: 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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "Valores posibles" + +#. module: quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "Categoria" + +#. module: quality_control +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "referencia" + +#. module: quality_control +#: model:ir.module.module,shortdesc:quality_control.module_meta_information +#: model:ir.ui.menu,name:quality_control.qc_menu +msgid "Quality Control" +msgstr "Control de calidad" + +#. module: quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "Nombre de la Categoría" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_method +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_menu +msgid "Tests" +msgstr "Tests" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "qc.test.plantilla.categoria" + +#. module: 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: 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: quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "Fecha" + +#. module: quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "Método del test" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "qc.test.plantilla.disparador" + +#. module: quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "Éxito" + +#. module: 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: quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "Activado" + +#. module: quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "Uom test" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "Esperando la aprobación del supervisor" + +#. module: 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: 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: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "Código" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "Calidad errónea" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "Nota interna" + +#. module: quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "Sinónimos" + +#. module: 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: quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof +msgid "proof" +msgstr "Prueba" + +#. module: 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: quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "Mínimo" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "Valores del Test" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "qc.posible.valor" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "Test Sinónimo" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "Líneas del test" + +#. module: quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "Máx" + +#. module: 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: quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "Notas" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "Seleccionar plantilla del test" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "Línea del test" + +#. module: 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: quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "Líneas" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "Aprobar" + +#. module: quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "Qt.valor" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "Calidad correcta" + +#. module: quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "Secuencia" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "Aceptar" + +#. module: 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_oca/i18n/es_ES.po b/quality_control_oca/i18n/es_ES.po new file mode 100644 index 000000000..de2926bc2 --- /dev/null +++ b/quality_control_oca/i18n/es_ES.po @@ -0,0 +1,558 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * 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: quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "Comprobar los valores" + +#. module: quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "Disparador" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "Valor posible" + +#. module: quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "Plantilla" + +#. module: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "qc.test.conjunto.plantilla.assistente" + +#. module: quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "Uom" + +#. module: quality_control +#: model:ir.module.module,description: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: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "qc.test.plantilla.linea" + +#. module: quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "REllenar con los valores correctos" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "qc.prueba.sinonimo" + +#. module: quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "Objeto referencia" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "Líneas de la plantilla del test" + +#. module: quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "Éxito?" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template +#: model:ir.model,name:quality_control.model_qc_test_template +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "Plantilla Disparador" + +#. module: 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: quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "Línea de la prueba" + +#. module: quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "Tipo de Prueba" + +#. module: quality_control +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.model,name:quality_control.model_qc_proof +msgid "qc.proof" +msgstr "qc.prueba" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof_method +msgid "Methods" +msgstr "Métodos" + +#. module: quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "Referencia" + +#. module: quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "Seleccionar plantilla" + +#. module: 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: quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "Relacionado" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "Nota externa" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test +msgid "qc.test" +msgstr "qc.test" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "Prueba sinónima" + +#. module: 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: 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: quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "Método de la prueba" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "Confirmar" + +#. module: quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "Genérico" + +#. module: quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "Categorías inferiores" + +#. module: 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: quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "Estado" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "Posible valor de la prueba" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "Resultado del test" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_menu_config +msgid "Configuration" +msgstr "Configuración" + +#. module: quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML inválido para la arquitectura de vistas!" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_proof_synonym +msgid "Synonym" +msgstr "Sinónimo" + +#. module: quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "Categoría padre" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "qc.test.linea" + +#. module: quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "Nombre completo" + +#. module: quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "Ql.valor" + +#. module: 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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "Valores posibles" + +#. module: quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "Categoria" + +#. module: quality_control +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "referencia" + +#. module: quality_control +#: model:ir.module.module,shortdesc:quality_control.module_meta_information +#: model:ir.ui.menu,name:quality_control.qc_menu +msgid "Quality Control" +msgstr "Control de calidad" + +#. module: quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "Nombre de la Categoría" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_method +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_menu +msgid "Tests" +msgstr "Tests" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "qc.test.plantilla.categoria" + +#. module: 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: 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: quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "Fecha" + +#. module: quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "Método del test" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "qc.test.plantilla.disparador" + +#. module: quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "Éxito" + +#. module: 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: quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "Activado" + +#. module: quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "Uom test" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "Esperando la aprobación del supervisor" + +#. module: 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: 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: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "Código" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "Calidad errónea" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "Nota interna" + +#. module: quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "Sinónimos" + +#. module: 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: quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof +msgid "proof" +msgstr "Prueba" + +#. module: 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: quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "Mínimo" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "Valores del Test" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "qc.posible.valor" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "Test Sinónimo" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "Líneas del test" + +#. module: quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "Máx" + +#. module: 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: quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "Notas" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "Seleccionar plantilla del test" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "Línea del test" + +#. module: 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: quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "Líneas" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "Aprobar" + +#. module: quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "Qt.valor" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "Calidad correcta" + +#. module: quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "Secuencia" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "Aceptar" + +#. module: 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_oca/i18n/quality_control.pot b/quality_control_oca/i18n/quality_control.pot new file mode 100644 index 000000000..7a800bf63 --- /dev/null +++ b/quality_control_oca/i18n/quality_control.pot @@ -0,0 +1,553 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * 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: quality_control +#: view:qc.test.line:0 +msgid "Check Values" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,trig_on:0 +msgid "Trigger" +msgstr "" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Posible Value" +msgstr "" + +#. module: quality_control +#: field:qc.test.set.template.wizard,test_template_id:0 +msgid "Template" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_set_template_wizard_form +#: model:ir.model,name:quality_control.model_qc_test_set_template_wizard +msgid "qc.test.set.template.wizard" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,uom_id:0 +#: field:qc.test.template.line,uom_id:0 +msgid "Uom" +msgstr "" + +#. module: quality_control +#: model:ir.module.module,description: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: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_line +msgid "qc.test.template.line" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,fill_correct_values:0 +msgid "Fill With Correct Values" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_synonym +msgid "qc.proof.synonym" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,object_id:0 +msgid "Reference Object" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_template_line_menu +msgid "Test Template Lines" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,success:0 +msgid "Success?" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template +#: model:ir.model,name:quality_control.model_qc_test_template +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_template_trigger +#: model:ir.ui.menu,name:quality_control.qc_test_template_trigger_menu +#: view:qc.test.template.trigger:0 +msgid "Template Trigger" +msgstr "" + +#. module: 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: quality_control +#: view:qc.test.template.line:0 +msgid "proof Line" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,proof_type:0 +msgid "Proof Type" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.model,name:quality_control.model_qc_proof +msgid "qc.proof" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof_method +msgid "Methods" +msgstr "" + +#. module: quality_control +#: field:qc.test,object_id:0 +msgid "Reference" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +msgid "Select Template" +msgstr "" + +#. module: quality_control +#: constraint:qc.test.template.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "" + +#. module: quality_control +#: selection:qc.test.template,type:0 +msgid "Related" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_external_note:0 +msgid "External Note" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test +msgid "qc.test" +msgstr "" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Proof Synonym" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,max_value:0 +msgid "Maximum valid value if it is a quantitative proof." +msgstr "" + +#. module: 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: quality_control +#: view:qc.proof.method:0 +msgid "Proof Method" +msgstr "" + +#. module: quality_control +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +msgid "Confirm" +msgstr "" + +#. module: quality_control +#: selection:qc.test.template,type:0 +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_generic +msgid "Generic" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,actual_value_ql:0 +msgid "Value of the result if it is a qualitative proof." +msgstr "" + +#. module: quality_control +#: field:qc.test,state:0 +msgid "State" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Draft" +msgstr "" + +#. module: quality_control +#: view:qc.posible.value:0 +msgid "Proof Posible Value" +msgstr "" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Result" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_menu_config +msgid "Configuration" +msgstr "" + +#. module: quality_control +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_proof_synonym +msgid "Synonym" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_line +msgid "qc.test.line" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,complete_name:0 +msgid "Full Name" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,actual_value_ql:0 +msgid "Ql.Value" +msgstr "" + +#. module: quality_control +#: field:qc.proof,type:0 +#: field:qc.test.template,type:0 +#: field:qc.test.template.line,type:0 +msgid "Type" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_posible_value +#: model:ir.ui.menu,name:quality_control.qc_proof_posible_value_menu +#: field:qc.proof,value_ids:0 +msgid "Posible Values" +msgstr "" + +#. module: quality_control +#: field:qc.test.template,category_id:0 +msgid "Category" +msgstr "" + +#. module: quality_control +#: model:qc.test.template.category,name:quality_control.qc_test_template_category_referenced +msgid "referenced" +msgstr "" + +#. module: quality_control +#: model:ir.module.module,shortdesc:quality_control.module_meta_information +#: model:ir.ui.menu,name:quality_control.qc_menu +msgid "Quality Control" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.category,name:0 +msgid "Category Name" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_proof_method +#: model:ir.ui.menu,name: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: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_menu +msgid "Tests" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_category +msgid "qc.test.template.category" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,actual_value_qt:0 +msgid "Value of the result if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: help:qc.test.line,min_value:0 +msgid "Minimum valid value if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: field:qc.test,name:0 +msgid "Date" +msgstr "" + +#. module: quality_control +#: view:qc.proof.method:0 +msgid "Test Method" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_test_template_trigger +msgid "qc.test.template.trigger" +msgstr "" + +#. module: quality_control +#: field:qc.test,success:0 +msgid "Success" +msgstr "" + +#. module: 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: quality_control +#: field:qc.test,enabled:0 +msgid "Enabled" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,test_uom_id:0 +msgid "Uom Test" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Waiting Supervisor Approval" +msgstr "" + +#. module: 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: 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: quality_control +#: model:ir.actions.act_window,name: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: quality_control +#: field:qc.proof,ref:0 +msgid "Code" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Failed" +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: field:qc.test,test_internal_note:0 +msgid "Internal Note" +msgstr "" + +#. module: quality_control +#: field:qc.proof,synonym_ids:0 +#: field:qc.proof,synonyms:0 +msgid "Synonyms" +msgstr "" + +#. module: quality_control +#: help:qc.test.line,uom_id:0 +msgid "UoM for minimum and maximum values if it is a quantitative proof." +msgstr "" + +#. module: quality_control +#: view:qc.test:0 +#: view:qc.test.set.template.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_proof +msgid "proof" +msgstr "" + +#. module: quality_control +#: constraint:ir.model:0 +msgid "The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,min_value:0 +#: field:qc.test.template.line,min_value:0 +msgid "Min" +msgstr "" + +#. module: quality_control +#: view:qc.test.line:0 +msgid "Test Values" +msgstr "" + +#. module: quality_control +#: model:ir.model,name:quality_control.model_qc_posible_value +msgid "qc.posible.value" +msgstr "" + +#. module: quality_control +#: view:qc.proof.synonym:0 +msgid "Test Synonym" +msgstr "" + +#. module: quality_control +#: model:ir.ui.menu,name:quality_control.qc_test_lines_menu +#: field:qc.test,test_line_ids:0 +msgid "Test Lines" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,max_value:0 +#: field:qc.test.template.line,max_value:0 +msgid "Max" +msgstr "" + +#. module: quality_control +#: help:qc.test,success:0 +msgid "This field will be active if all tests have succeeded." +msgstr "" + +#. module: quality_control +#: field:qc.test.line,notes:0 +#: field:qc.test.template.line,notes:0 +msgid "Notes" +msgstr "" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Select Test Template" +msgstr "" + +#. module: quality_control +#: model:ir.actions.act_window,name:quality_control.action_qc_test_line +#: view:qc.test.line:0 +msgid "Test Line" +msgstr "" + +#. module: 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: quality_control +#: field:qc.test.template,test_template_line_ids:0 +msgid "Lines" +msgstr "" + +#. module: 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: quality_control +#: view:qc.test:0 +msgid "Approve" +msgstr "" + +#. module: quality_control +#: field:qc.test.line,actual_value_qt:0 +msgid "Qt.Value" +msgstr "" + +#. module: quality_control +#: selection:qc.test,state:0 +msgid "Quality Success" +msgstr "" + +#. module: quality_control +#: field:qc.test.template.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: quality_control +#: view:qc.test.set.template.wizard:0 +msgid "Accept" +msgstr "" + +#. module: 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_oca/models/__init__.py b/quality_control_oca/models/__init__.py new file mode 100644 index 000000000..93bc89c58 --- /dev/null +++ b/quality_control_oca/models/__init__.py @@ -0,0 +1,31 @@ +# -*- encoding: 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. +# +############################################################################## + +from . import quality_control diff --git a/quality_control_oca/models/quality_control.py b/quality_control_oca/models/quality_control.py new file mode 100644 index 000000000..dc6a4756c --- /dev/null +++ b/quality_control_oca/models/quality_control.py @@ -0,0 +1,636 @@ +# -*- 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. +# +############################################################################## + +from openerp.tools.translate import _ +from openerp.osv import orm, fields +import time + + +class QcProofMethod(orm.Model): + """ + 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': True, + } + + +class QcPosibleValue(orm.Model): + """ + 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': 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['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(QcPosibleValue, self).search(cr, uid, args, offset, limit, + order, context, count) + + +class QcProof(orm.Model): + """ + 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=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 (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(QcProof, self).name_search(cr, uid, name=name, + args=args, operator=operator, + context=context, limit=limit) + synonym_obj = self.pool['qc.proof.synonym'] + if name: + ids = [x[0] for x in result] + new_ids = [] + syns = synonym_obj.name_search(cr, uid, name=name, args=args, + operator=operator, context=context, + limit=limit) + syns = [x[0] for x in syns] + for syn in synonym_obj.browse(cr, uid, syns, context=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=context) + return result + +# def name_get(self, cr, uid, ids, context=None): +# result = [] +# for proof in self.browse(cr, uid, ids, context=context): +# text = proof.name +# if proof.synonym_ids: +# text += " [%s]" % proof.synonyms +# result.append((proof.id, text)) +# return result + + +class QcProofSynonym(orm.Model): + """ + 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), + } + + +class QcTestTemplateCategory(orm.Model): + """ + This model is used to categorize proof templates. + """ + _name = 'qc.test.template.category' + _description = '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] is not 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': 1, + } + + +class QcTestTemplateTrigger(orm.Model): + _name = 'qc.test.template.trigger' + _description = 'Test Template Trigger' + + _columns = { + 'name': fields.char('Name', size=64, required=True, readonly=False, + translate=True), + 'active': fields.boolean('Active', required=False), + } + + _defaults = { + 'active': 1, + } + + +class QcTestTemplate(orm.Model): + """ + 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 + link_obj = self.pool['res.request.link'] + ids = link_obj.search(cr, uid, [], context=context) + res = link_obj.read(cr, uid, ids, ['object', 'name'], context=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[context['reference_model']].browse( + cr, uid, id, context=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': True, + 'object_id': _default_object_id, + 'type': _default_type, + } + + +class QcTestTemplateLine(orm.Model): + """ + Each test template line has a reference to a proof and the valid + value/values. + """ + _name = 'qc.test.template.line' + _description = '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['qc.proof'].browse(cr, uid, proof_id, + context=context) + 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)), # Quantitative only + 'max_value': fields.float('Max', digits=(15, 5)), # Quantitative only + 'uom_id': fields.many2one('product.uom', 'Uom'), # Quantitative only + 'type': fields.selection([('qualitative', 'Qualitative'), + ('quantitative', 'Quantitative')], + 'Type', select="1"), + } + + _defaults = { + 'sequence': 1, + } + + +class QcTest(orm.Model): + """ + 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=context): + success = False + if len(test.test_line_ids): + 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 + link_obj = self.pool['res.request.link'] + ids = link_obj.search(cr, uid, [], context=context) + res = link_obj.read(cr, uid, ids, ['object', 'name'], context=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", + store=True), + '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': 'draft', + 'object_id': _default_object_id, + 'enabled': True, + } + + def copy(self, cr, uid, id, default=None, context=None): + if context is None: + context = {} + + if default is None: + default = {} + default['name'] = time.strftime('%Y-%m-%d %H:%M:%S') + return super(QcTest, self).copy(cr, uid, id, default, context=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(orm.Model, self).create(cr, uid, datas, context=context) + + def qc_test_success(self, cr, uid, ids, context=None): + self.write(cr, uid, ids, { + 'state': 'success' + }, context=context) + return True + + def qc_test_failed(self, cr, uid, ids, context=None): + self.write(cr, uid, ids, { + 'state': 'failed' + }, context=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 is None: + context = {} + test_obj = self.pool['qc.test'] + test_line_obj = self.pool['qc.test.line'] + for id in ids: + test_obj.write(cr, uid, id, { + 'test_template_id': template_id + }, context) + test = test_obj.browse(cr, uid, id, context=context) + + if len(test.test_line_ids) > 0: + test_line_obj.unlink(cr, uid, + [x.id for x in test.test_line_ids], + context=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 with 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 range. + data['actual_value_qt'] = line.min_value + data['test_uom_id'] = line.uom_id.id + + test_line_id = test_line_obj.create(cr, uid, data, + context=context) + test_line_obj.write( + cr, uid, [test_line_id], + {'valid_value_ids': + [(6, 0, [x.id for x in line.valid_value_ids])]}, + context=context) + + +class QcTestLine(orm.Model): + """ + 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=None): + res = {} + lines = self.browse(cr, uid, ids, context=None) + for line in lines: + if line.proof_type == 'qualitative': + res[line.id] = self.quality_test_qualitative_check( + cr, uid, line, context=None) + else: + res[line.id] = self.quality_test_quantitative_check( + cr, uid, line, context=None) + return res + + def quality_test_qualitative_check(self, cr, uid, test_line, context=None): + 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=None): + amount = self.pool['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['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} diff --git a/quality_control_oca/security/ir.model.access.csv b/quality_control_oca/security/ir.model.access.csv new file mode 100644 index 000000000..e1396873f --- /dev/null +++ b/quality_control_oca/security/ir.model.access.csv @@ -0,0 +1,13 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_user_qc_test,qc_test,quality_control.model_qc_test,quality_control.group_quality_control_user,1,1,1,1 +access_user_qc_test_line,qc_test_line,quality_control.model_qc_test_line,quality_control.group_quality_control_user,1,1,1,1 +access_user_qc_test_template,qc_test_template user,quality_control.model_qc_test_template,quality_control.group_quality_control_user,1,0,0,0 +access_user_qc_test_template_line,qc_test_template_line user,quality_control.model_qc_test_template_line,quality_control.group_quality_control_user,1,0,0,0 +access_manager_qc_test_template,qc_test_template manager,quality_control.model_qc_test_template,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_test_template_line,qc_test_template_line manager,quality_control.model_qc_test_template_line,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_proof_method,qc_proof_method,quality_control.model_qc_proof_method,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_posible_value,qc_posible_value,quality_control.model_qc_posible_value,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_proof,qc_proof,quality_control.model_qc_proof,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_proof_synonym,qc_proof_synonym,quality_control.model_qc_proof_synonym,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_test_template_category,qc_test_template_category,quality_control.model_qc_test_template_category,quality_control.group_quality_control_manager,1,1,1,1 +access_manager_qc_test_template_trigger,qc_test_template_trigger,quality_control.model_qc_test_template_trigger,quality_control.group_quality_control_manager,1,1,1,1 diff --git a/quality_control_oca/security/quality_control_security.xml b/quality_control_oca/security/quality_control_security.xml new file mode 100644 index 000000000..2efdaaf2f --- /dev/null +++ b/quality_control_oca/security/quality_control_security.xml @@ -0,0 +1,18 @@ + + + + + + User + + + + + Manager + + + + + + + diff --git a/quality_control_oca/views/quality_control_view.xml b/quality_control_oca/views/quality_control_view.xml new file mode 100644 index 000000000..f14ef2c6c --- /dev/null +++ b/quality_control_oca/views/quality_control_view.xml @@ -0,0 +1,515 @@ + + + + + + + + + + + qc.proof.method.form + qc.proof.method + +
+ + + + +
+
+
+ + qc.proof.method.tree + qc.proof.method + + + + + + + + Methods + qc.proof.method + form + tree,form + + + + + + + qc.posible.value.form + qc.posible.value + +
+ + + + +
+
+
+ + qc.posible_value.tree + qc.posible.value + + + + + + + + Posible Values + qc.posible.value + form + tree,form + + + + + + + qc.test.template.trigger.form + qc.test.template.trigger + +
+ + + + +
+
+
+ + qc.test.template.trigger.tree + qc.test.template.trigger + + + + + + + + Template Trigger + qc.test.template.trigger + form + tree,form + + + + + + + qc.proof.synonym + qc.proof.synonym + +
+ + + + +
+
+
+ + qc.proof.synonym.tree + qc.proof.synonym + + + + + + + + + Synonym + qc.proof.synonym + form + tree,form + + + + + + + qc.proof.form + qc.proof + +
+ + + + + + + + + + + + + + +
+
+
+ + qc.proof.tree + qc.proof + + + + + + + + + + Proof + qc.proof + form + tree,form + + + + + + qc.test.template.category.form + qc.test.template.category + +
+ + + + + + + + + + +
+
+
+ + + qc.test.template.category.tree + qc.test.template.category + + + + + + + + + + + + Test Template Category + qc.test.template.category + form + tree,form + + + + + + + + + qc.test.template.form + qc.test.template + 8 + +
+ +

+ +

+ + + + + + + + + + + + + +
+
+
+
+ + qc.test.template_tree + qc.test.template + + + + + + + + + + + + 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.form + qc.test + form + +
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + +
+ + + + +
+
+
+
+
+ + qc.test.tree + qc.test + tree + + + + + + + + + + + Test + qc.test + form + tree,form + + + + + + + qc.test.line.form + qc.test.line + form + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + qc.test.line.tree + qc.test.line + tree + + + + + + + + + + + + + + + + + + Test Line + qc.test.line + form + tree,form + + + + +
+
+ diff --git a/quality_control_oca/wizard/__init__.py b/quality_control_oca/wizard/__init__.py new file mode 100644 index 000000000..7e105bf3f --- /dev/null +++ b/quality_control_oca/wizard/__init__.py @@ -0,0 +1,31 @@ +# -*- encoding: 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. +# +############################################################################## + +from . import qc_test_wizard diff --git a/quality_control_oca/wizard/qc_test_wizard.py b/quality_control_oca/wizard/qc_test_wizard.py new file mode 100644 index 000000000..19c60c4d3 --- /dev/null +++ b/quality_control_oca/wizard/qc_test_wizard.py @@ -0,0 +1,70 @@ +# -*- 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. +# +############################################################################## + +from openerp.osv import orm, fields + + +class QcTestWizard(orm.TransientModel): + """ + 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=None): + id = context.get('active_id', False) + test = self.pool['qc.test'].browse(cr, uid, id, context=context) + ids = self.pool['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=None): + wizard = self.browse(cr, uid, ids[0], context=context) + self.pool['qc.test'].set_test_template(cr, uid, [context['active_id']], + wizard.test_template_id.id, + context=context) + return { + 'type': 'ir.actions.act_window_close', + } + + def action_cancel(self, cr, uid, ids, context=None): + return { + 'type': 'ir.actions.act_window_close', + } diff --git a/quality_control_oca/wizard/qc_test_wizard_view.xml b/quality_control_oca/wizard/qc_test_wizard_view.xml new file mode 100644 index 000000000..e88c6bc35 --- /dev/null +++ b/quality_control_oca/wizard/qc_test_wizard_view.xml @@ -0,0 +1,35 @@ + + + + + + qc.test.set.template.wizard + qc.test.set.template.wizard + +
+ + + +
+
+
+
+
+ + + Select Test Template + ir.actions.act_window + qc.test.set.template.wizard + form + form + new + + +
+
diff --git a/quality_control_oca/workflow/test_workflow.xml b/quality_control_oca/workflow/test_workflow.xml new file mode 100644 index 000000000..cdde507ae --- /dev/null +++ b/quality_control_oca/workflow/test_workflow.xml @@ -0,0 +1,77 @@ + + + + + quality.control.basic + qc.test + True + + + + + + True + draft + function + write({'state': 'draft'}) + subflow.draft + + + + waiting + function + write({'state': 'waiting'}) + subflow.waiting + + + + success + function + write({'state': 'success'}) + subflow.success + + + + failed + function + write({'state': 'failed'}) + subflow.failed + + + + + + + confirm + + + + + not success + approve + + + + + success + approve + + + + + cancel + + + + + enabled + cancel + + + + + enabled + cancel + + +