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