diff --git a/quality_control/__openerp__.py b/quality_control/__openerp__.py index d06cbff2c..4414721ad 100644 --- a/quality_control/__openerp__.py +++ b/quality_control/__openerp__.py @@ -7,6 +7,8 @@ { "name": "Quality control", "version": "8.0.1.0.0", + "category": "Quality control", + "license": "AGPL-3", "author": "OdooMRP team, " "AvanzOSC, " "Serv. Tecnol. Avanzados - Pedro M. Baeza, " @@ -17,25 +19,24 @@ "Oihane Crucelaegui ", "Ana Juaristi ", ], - "category": "Quality control", "depends": [ - 'product', + "product", ], "data": [ - 'data/quality_control_data.xml', - 'security/quality_control_security.xml', - 'security/ir.model.access.csv', - 'wizard/qc_test_wizard_view.xml', - 'views/qc_menus.xml', - 'views/qc_inspection_view.xml', - 'views/qc_test_category_view.xml', - 'views/qc_test_view.xml', - 'views/qc_trigger_view.xml', - 'views/product_template_view.xml', - 'views/product_category_view.xml', + "data/quality_control_data.xml", + "security/quality_control_security.xml", + "security/ir.model.access.csv", + "wizard/qc_test_wizard_view.xml", + "views/qc_menus.xml", + "views/qc_inspection_view.xml", + "views/qc_test_category_view.xml", + "views/qc_test_view.xml", + "views/qc_trigger_view.xml", + "views/product_template_view.xml", + "views/product_category_view.xml", ], "demo": [ - 'demo/quality_control_demo.xml', + "demo/quality_control_demo.xml", ], "installable": True, } diff --git a/quality_control/i18n/es.po b/quality_control/i18n/es.po index bd2f443c3..b012b846b 100644 --- a/quality_control/i18n/es.po +++ b/quality_control/i18n/es.po @@ -782,14 +782,14 @@ msgstr "Debe establecer primero el test a realizar." #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:128 #, python-format -msgid "You should provide a unit of measure for qualitative questions." -msgstr "Debe proveer una unidad de medida para las preguntas cualitativas." +msgid "You should provide a unit of measure for quantitative questions." +msgstr "Debe proveer una unidad de medida para las preguntas cuantitativas." #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:123 #, python-format -msgid "You should provide an answer for all quantitative questions." -msgstr "Debe proveer una respuesta para todas las preguntas cuantitativas." +msgid "You should provide an answer for all qualitative questions." +msgstr "Debe proveer una respuesta para todas las preguntas cualitativas." #. module: quality_control #: view:qc.inspection.set.test:quality_control.view_qc_test_set_test_form diff --git a/quality_control/i18n/fr.po b/quality_control/i18n/fr.po index c438362e0..0de51bb1b 100644 --- a/quality_control/i18n/fr.po +++ b/quality_control/i18n/fr.po @@ -781,13 +781,13 @@ msgstr "" #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:128 #, python-format -msgid "You should provide a unit of measure for qualitative questions." +msgid "You should provide a unit of measure for quantitative questions." msgstr "" #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:123 #, python-format -msgid "You should provide an answer for all quantitative questions." +msgid "You should provide an answer for all qualitative questions." msgstr "" #. module: quality_control diff --git a/quality_control/i18n/pt_BR.po b/quality_control/i18n/pt_BR.po index f9059d7a6..a50658a18 100644 --- a/quality_control/i18n/pt_BR.po +++ b/quality_control/i18n/pt_BR.po @@ -781,13 +781,13 @@ msgstr "" #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:128 #, python-format -msgid "You should provide a unit of measure for qualitative questions." +msgid "You should provide a unit of measure for quantitative questions." msgstr "" #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:123 #, python-format -msgid "You should provide an answer for all quantitative questions." +msgid "You should provide an answer for all qualitative questions." msgstr "" #. module: quality_control diff --git a/quality_control/i18n/quality_control.pot b/quality_control/i18n/quality_control.pot deleted file mode 100644 index 05e00c0b8..000000000 --- a/quality_control/i18n/quality_control.pot +++ /dev/null @@ -1,779 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * quality_control -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-24 16:08+0000\n" -"PO-Revision-Date: 2015-02-24 16:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_trigger_line -#: model:ir.model,name:quality_control.model_qc_trigger_product_category_line -#: model:ir.model,name:quality_control.model_qc_trigger_product_line -#: model:ir.model,name:quality_control.model_qc_trigger_product_template_line -msgid "Abstract line for defining triggers" -msgstr "" - -#. module: quality_control -#: view:qc.inspection.set.test:quality_control.view_qc_test_set_test_form -msgid "Accept" -msgstr "" - -#. module: quality_control -#: field:qc.test,active:0 -#: field:qc.test.category,active:0 -#: field:qc.trigger,active:0 -msgid "Active" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,possible_ql_values:0 -#: view:qc.test.question:quality_control.qc_test_question_form_view -msgid "Answers" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -msgid "Approve" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,auto_generated:0 -msgid "Auto-generated" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: view:qc.inspection.set.test:quality_control.view_qc_test_set_test_form -msgid "Cancel" -msgstr "" - -#. module: quality_control -#: selection:qc.inspection,state:0 -msgid "Cancelled" -msgstr "" - -#. module: quality_control -#: field:qc.test,category:0 -msgid "Category" -msgstr "" - -#. module: quality_control -#: field:qc.test.category,child_ids:0 -msgid "Child categories" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,company_id:0 -#: field:qc.test,company_id:0 -#: field:qc.trigger,company_id:0 -msgid "Company" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -msgid "Confirm" -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,test_uom_category:0 -msgid "Conversion between Units of Measure can only occur if they belong to the same category. The conversion will be made based on the ratios." -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -msgid "Correct" -msgstr "" - -#. module: quality_control -#: field:qc.test.question.value,ok:0 -msgid "Correct answer?" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,create_uid:0 -#: field:qc.inspection.line,create_uid:0 -#: field:qc.inspection.set.test,create_uid:0 -#: field:qc.test,create_uid:0 -#: field:qc.test.category,create_uid:0 -#: field:qc.test.question,create_uid:0 -#: field:qc.test.question.value,create_uid:0 -#: field:qc.trigger,create_uid:0 -#: field:qc.trigger.product_category_line,create_uid:0 -#: field:qc.trigger.product_line,create_uid:0 -#: field:qc.trigger.product_template_line,create_uid:0 -msgid "Created by" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,create_date:0 -#: field:qc.inspection.line,create_date:0 -#: field:qc.inspection.set.test,create_date:0 -#: field:qc.test,create_date:0 -#: field:qc.test.category,create_date:0 -#: field:qc.test.question,create_date:0 -#: field:qc.test.question.value,create_date:0 -#: field:qc.trigger,create_date:0 -#: field:qc.trigger.product_category_line,create_date:0 -#: field:qc.trigger.product_line,create_date:0 -#: field:qc.trigger.product_template_line,create_date:0 -msgid "Created on" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,date:0 -msgid "Date" -msgstr "" - -#. module: quality_control -#: help:qc.inspection,message_last_post:0 -msgid "Date of the last message posted on the record." -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: selection:qc.inspection,state:0 -msgid "Draft" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_inspection -msgid "Email Thread" -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_test_category.py:35 -#, python-format -msgid "Error ! You can not create recursive categories." -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: field:qc.inspection,external_notes:0 -msgid "External notes" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,message_follower_ids:0 -msgid "Followers" -msgstr "" - -#. module: quality_control -#: selection:qc.test,type:0 -#: model:qc.test.category,name:quality_control.qc_test_template_category_generic -msgid "Generic" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -msgid "Group by..." -msgstr "" - -#. module: quality_control -#: help:qc.inspection,message_summary:0 -msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." -msgstr "" - -#. module: quality_control -#: field:qc.inspection,id:0 -#: field:qc.inspection.line,id:0 -#: field:qc.inspection.set.test,id:0 -#: field:qc.test,id:0 -#: field:qc.test.category,id:0 -#: field:qc.test.question,id:0 -#: field:qc.test.question.value,id:0 -#: field:qc.trigger,id:0 -#: field:qc.trigger.line,id:0 -#: field:qc.trigger.product_category_line,id:0 -#: field:qc.trigger.product_line,id:0 -#: field:qc.trigger.product_template_line,id:0 -msgid "ID" -msgstr "" - -#. module: quality_control -#: help:qc.inspection,auto_generated:0 -msgid "If an inspection is auto-generated, it can be cancelled nor removed" -msgstr "" - -#. module: quality_control -#: help:qc.inspection,message_unread:0 -msgid "If checked new messages require your attention." -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -msgid "Incorrect" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -#: field:qc.inspection.line,inspection_id:0 -msgid "Inspection" -msgstr "" - -#. module: quality_control -#: model:ir.actions.act_window,name:quality_control.action_qc_inspection_line -#: model:ir.ui.menu,name:quality_control.qc_inspection_lines_menu -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: field:qc.inspection,inspection_lines:0 -#: view:qc.inspection.line:quality_control.qc_inspection_line_tree_view -msgid "Inspection lines" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,name:0 -msgid "Inspection number" -msgstr "" - -#. module: quality_control -#: model:ir.actions.act_window,name:quality_control.action_qc_inspection -#: model:ir.ui.menu,name:quality_control.qc_inspection_menu -#: model:ir.ui.menu,name:quality_control.qc_inspection_menu_parent -#: view:qc.inspection:quality_control.qc_inspection_tree_view -msgid "Inspections" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: field:qc.inspection,internal_notes:0 -msgid "Internal notes" -msgstr "" - -#. module: quality_control -#: view:product.template:quality_control.product_template_qc_form_view -msgid "Inventory" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,message_is_follower:0 -msgid "Is a Follower" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,message_last_post:0 -msgid "Last Message Date" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,write_uid:0 -#: field:qc.inspection.line,write_uid:0 -#: field:qc.inspection.set.test,write_uid:0 -#: field:qc.test,write_uid:0 -#: field:qc.test.category,write_uid:0 -#: field:qc.test.question,write_uid:0 -#: field:qc.test.question.value,write_uid:0 -#: field:qc.trigger,write_uid:0 -#: field:qc.trigger.product_category_line,write_uid:0 -#: field:qc.trigger.product_line,write_uid:0 -#: field:qc.trigger.product_template_line,write_uid:0 -msgid "Last Updated by" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,write_date:0 -#: field:qc.inspection.line,write_date:0 -#: field:qc.inspection.set.test,write_date:0 -#: field:qc.test,write_date:0 -#: field:qc.test.category,write_date:0 -#: field:qc.test.question,write_date:0 -#: field:qc.test.question.value,write_date:0 -#: field:qc.trigger,write_date:0 -#: field:qc.trigger.product_category_line,write_date:0 -#: field:qc.trigger.product_line,write_date:0 -#: field:qc.trigger.product_template_line,write_date:0 -msgid "Last Updated on" -msgstr "" - -#. module: quality_control -#: model:res.groups,name:quality_control.group_quality_control_manager -msgid "Manager" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -msgid "Mark todo" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,max_value:0 -#: field:qc.test.question,max_value:0 -msgid "Max" -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,max_value:0 -msgid "Maximum valid value if it's a quantitative question." -msgstr "" - -#. module: quality_control -#: field:qc.inspection,message_ids:0 -msgid "Messages" -msgstr "" - -#. module: quality_control -#: help:qc.inspection,message_ids:0 -msgid "Messages and communication history" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,min_value:0 -#: field:qc.test.question,min_value:0 -msgid "Min" -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,min_value:0 -msgid "Minimum valid value if it's a quantitative question." -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_test.py:66 -#, python-format -msgid "Minimum value can't be higher than maximum value." -msgstr "" - -#. module: quality_control -#: field:qc.test,name:0 -#: field:qc.test.category,name:0 -#: field:qc.test.question,name:0 -#: field:qc.test.question.value,name:0 -#: field:qc.trigger,name:0 -msgid "Name" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: field:qc.inspection.line,notes:0 -#: field:qc.test.question,notes:0 -msgid "Notes" -msgstr "" - -#. module: quality_control -#: field:qc.test.category,parent_id:0 -msgid "Parent category" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_test_question_value -msgid "Possible values of qualitative questions." -msgstr "" - -#. module: quality_control -#: field:qc.test,fill_correct_values:0 -msgid "Pre-fill with correct values" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_product_product -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,product:0 -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -#: field:qc.inspection.line,product:0 -#: field:qc.trigger.product_line,product:0 -msgid "Product" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_product_category -msgid "Product Category" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_product_template -msgid "Product Template" -msgstr "" - -#. module: quality_control -#: help:qc.inspection,product:0 -#: help:qc.inspection.line,product:0 -msgid "Product associated with the inspection" -msgstr "" - -#. module: quality_control -#: field:qc.trigger.product_category_line,product_category:0 -msgid "Product category" -msgstr "" - -#. module: quality_control -#: field:qc.trigger.product_template_line,product_template:0 -msgid "Product template" -msgstr "" - -#. module: quality_control -#: selection:qc.inspection.line,question_type:0 -#: selection:qc.test.question,type:0 -msgid "Qualitative" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,qualitative_value:0 -msgid "Qualitative value" -msgstr "" - -#. module: quality_control -#: field:qc.test.question,ql_values:0 -msgid "Qualitative values" -msgstr "" - -#. module: quality_control -#: model:ir.module.category,name:quality_control.module_category_quality_control -#: model:ir.ui.menu,name:quality_control.qc_menu -#: view:product.category:quality_control.product_category_qc_form_view -#: view:product.template:quality_control.product_template_qc_form_view -msgid "Quality control" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_inspection_line -msgid "Quality control inspection line" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_test_question -msgid "Quality control question" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_test -msgid "Quality control test" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_trigger -#: view:qc.trigger:quality_control.qc_trigger_form_view -msgid "Quality control trigger" -msgstr "" - -#. module: quality_control -#: view:product.category:quality_control.product_category_qc_form_view -#: field:product.category,qc_triggers:0 -#: field:product.product,qc_triggers:0 -#: view:product.template:quality_control.product_template_qc_form_view -#: field:product.template,qc_triggers:0 -#: view:qc.trigger:quality_control.qc_trigger_tree_view -msgid "Quality control triggers" -msgstr "" - -#. module: quality_control -#: selection:qc.inspection,state:0 -msgid "Quality failed" -msgstr "" - -#. module: quality_control -#: selection:qc.inspection,state:0 -msgid "Quality success" -msgstr "" - -#. module: quality_control -#: selection:qc.inspection.line,question_type:0 -#: selection:qc.test.question,type:0 -msgid "Quantitative" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,quantitative_value:0 -msgid "Quantitative value" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,qty:0 -msgid "Quantity" -msgstr "" - -#. module: quality_control -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -#: field:qc.inspection.line,name:0 -msgid "Question" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,question_type:0 -msgid "Question type" -msgstr "" - -#. module: quality_control -#: view:qc.test.question:quality_control.qc_test_question_form_view -msgid "Question value" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -#: view:qc.test:quality_control.qc_test_form_view -#: field:qc.test,test_lines:0 -msgid "Questions" -msgstr "" - -#. module: quality_control -#: selection:qc.inspection,state:0 -msgid "Ready" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,object_id:0 -msgid "Reference" -msgstr "" - -#. module: quality_control -#: field:qc.test,object_id:0 -msgid "Reference object" -msgstr "" - -#. module: quality_control -#: model:qc.test.category,name:quality_control.qc_test_template_category_referenced -msgid "Referenced" -msgstr "" - -#. module: quality_control -#: selection:qc.test,type:0 -msgid "Related" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,user:0 -#: field:qc.trigger.line,user:0 -#: field:qc.trigger.product_category_line,user:0 -#: field:qc.trigger.product_line,user:0 -#: field:qc.trigger.product_template_line,user:0 -msgid "Responsible" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -msgid "Search inspection" -msgstr "" - -#. module: quality_control -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -msgid "Search inspection line" -msgstr "" - -#. module: quality_control -#: model:res.groups,name:quality_control.group_quality_control_user -msgid "See Own Inspections" -msgstr "" - -#. module: quality_control -#: model:ir.actions.act_window,name:quality_control.action_qc_inspection_set_test -#: view:qc.inspection.set.test:quality_control.view_qc_test_set_test_form -msgid "Select test" -msgstr "" - -#. module: quality_control -#: field:qc.test.question,sequence:0 -msgid "Sequence" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_form_view -msgid "Set test" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,state:0 -msgid "State" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,success:0 -#: view:qc.inspection.line:quality_control.qc_inspection_line_search_view -msgid "Success" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,success:0 -msgid "Success?" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,message_summary:0 -msgid "Summary" -msgstr "" - -#. module: quality_control -#: view:qc.inspection:quality_control.qc_inspection_search_view -#: field:qc.inspection,test:0 -#: field:qc.inspection.set.test,test:0 -#: view:qc.test:quality_control.qc_test_form_view -#: field:qc.test.question,test:0 -#: field:qc.trigger.line,test:0 -#: field:qc.trigger.product_category_line,test:0 -#: field:qc.trigger.product_line,test:0 -#: field:qc.trigger.product_template_line,test:0 -msgid "Test" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,test_uom_id:0 -msgid "Test UoM" -msgstr "" - -#. module: quality_control -#: model:ir.actions.act_window,name:quality_control.action_qc_test_category -#: model:ir.ui.menu,name:quality_control.qc_test_category_menu -#: view:qc.test.category:quality_control.qc_test_category_tree_view -msgid "Test categories" -msgstr "" - -#. module: quality_control -#: model:ir.model,name:quality_control.model_qc_test_category -msgid "Test category" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,test_line:0 -#: view:qc.test.question:quality_control.qc_test_question_form_view -#: field:qc.test.question.value,test_line:0 -msgid "Test question" -msgstr "" - -#. module: quality_control -#: model:ir.actions.act_window,name:quality_control.action_qc_test -#: model:ir.ui.menu,name:quality_control.qc_menu_test_parent -#: model:ir.ui.menu,name:quality_control.qc_test_menu -#: view:qc.test:quality_control.qc_test_tree_view -msgid "Tests" -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_test.py:56 -#, python-format -msgid "There isn't any value with OK marked. You have to mark at least one." -msgstr "" - -#. module: quality_control -#: help:qc.test.category,active:0 -msgid "This field allows you to hide the category without removing it." -msgstr "" - -#. module: quality_control -#: help:qc.inspection,success:0 -msgid "This field will be marked if all tests have been succeeded." -msgstr "" - -#. module: quality_control -#: field:qc.trigger.line,trigger:0 -#: field:qc.trigger.product_category_line,trigger:0 -#: field:qc.trigger.product_line,trigger:0 -#: field:qc.trigger.product_template_line,trigger:0 -msgid "Trigger" -msgstr "" - -#. module: quality_control -#: field:qc.test,type:0 -#: field:qc.test.question,type:0 -msgid "Type" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,test_uom_category:0 -msgid "Unit of Measure Category" -msgstr "" - -#. module: quality_control -#: field:qc.inspection,message_unread:0 -msgid "Unread Messages" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,uom_id:0 -msgid "UoM" -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,test_uom_id:0 -msgid "UoM for minimum and maximum values if it's a quantitative question." -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,uom_id:0 -msgid "UoM of the inspection value if it's a quantitative question." -msgstr "" - -#. module: quality_control -#: field:qc.test.question,uom_id:0 -msgid "Uom" -msgstr "" - -#. module: quality_control -#: field:qc.inspection.line,valid_values:0 -msgid "Valid values" -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,qualitative_value:0 -msgid "Value of the result if it's a qualitative question." -msgstr "" - -#. module: quality_control -#: help:qc.inspection.line,quantitative_value:0 -msgid "Value of the result if it's a quantitative question." -msgstr "" - -#. module: quality_control -#: selection:qc.inspection,state:0 -msgid "Waiting supervisor approval" -msgstr "" - -#. module: quality_control -#: help:qc.test.question.value,ok:0 -msgid "When this field is marked, the answer is considered correct." -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_inspection.py:93 -#: code:addons/quality_control/models/qc_inspection.py:97 -#, python-format -msgid "You cannot remove an auto-generated inspection" -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_inspection.py:96 -#: code:addons/quality_control/models/qc_inspection.py:100 -#, python-format -msgid "You cannot remove an inspection that it's not in draft state" -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_inspection.py:109 -#: code:addons/quality_control/models/qc_inspection.py:113 -#, python-format -msgid "You must set the test to perform first." -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_inspection.py:124 -#: code:addons/quality_control/models/qc_inspection.py:128 -#, python-format -msgid "You should provide a unit of measure for qualitative questions." -msgstr "" - -#. module: quality_control -#: code:addons/quality_control/models/qc_inspection.py:119 -#: code:addons/quality_control/models/qc_inspection.py:123 -#, python-format -msgid "You should provide an answer for all quantitative questions." -msgstr "" - -#. module: quality_control -#: view:qc.inspection.set.test:quality_control.view_qc_test_set_test_form -msgid "or" -msgstr "" - diff --git a/quality_control/i18n/sl.po b/quality_control/i18n/sl.po index 4189c4656..ce099985b 100644 --- a/quality_control/i18n/sl.po +++ b/quality_control/i18n/sl.po @@ -782,13 +782,13 @@ msgstr "Najprej določite testiranje, ki se bo izvedlo." #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:128 #, python-format -msgid "You should provide a unit of measure for qualitative questions." +msgid "You should provide a unit of measure for quantitative questions." msgstr "Določite EM za kvalitativna vprašanja." #. module: quality_control #: code:addons/quality_control/models/qc_inspection.py:123 #, python-format -msgid "You should provide an answer for all quantitative questions." +msgid "You should provide an answer for all qualitative questions." msgstr "Določiti morate en odgovor za vsa kvalitativna vprašanja." #. module: quality_control diff --git a/quality_control/models/qc_inspection.py b/quality_control/models/qc_inspection.py index e64a4ed00..fe307610c 100644 --- a/quality_control/models/qc_inspection.py +++ b/quality_control/models/qc_inspection.py @@ -121,12 +121,12 @@ class QcInspection(models.Model): if not line.qualitative_value: raise exceptions.Warning( _("You should provide an answer for all " - "quantitative questions.")) + "qualitative questions.")) else: if not line.uom_id: raise exceptions.Warning( _("You should provide a unit of measure for " - "qualitative questions.")) + "quantitative questions.")) if inspection.success: inspection.state = 'success' else: diff --git a/quality_control/models/qc_test.py b/quality_control/models/qc_test.py index 0e3077934..0868d5226 100644 --- a/quality_control/models/qc_test.py +++ b/quality_control/models/qc_test.py @@ -48,21 +48,16 @@ class QcTestQuestion(models.Model): @api.one @api.constrains('ql_values') def _check_valid_answers(self): - if self.type == 'quantitative': - return - for value in self.ql_values: - if value.ok: - return - raise exceptions.Warning( - _("There isn't no value marked as OK. You have to mark at " - "least one.")) + if (self.type == 'qualitative' and self.ql_values and + not self.ql_values.filtered('ok')): + raise exceptions.Warning( + _("There isn't no value marked as OK. You have to mark at " + "least one.")) @api.one @api.constrains('min_value', 'max_value') def _check_valid_range(self): - if self.type == 'qualitative': - return - if self.min_value > self.max_value: + if self.type == 'quantitative' and self.min_value > self.max_value: raise exceptions.Warning( _("Minimum value can't be higher than maximum value.")) diff --git a/quality_control/models/qc_test_category.py b/quality_control/models/qc_test_category.py index 264518e59..bdb1bdfc3 100644 --- a/quality_control/models/qc_test_category.py +++ b/quality_control/models/qc_test_category.py @@ -12,15 +12,12 @@ class QcTestTemplateCategory(models.Model): @api.one @api.depends('name', 'parent_id') def _get_complete_name(self): - if self.name: - names = [self.name] - parent = self.parent_id - while parent: - names.append(parent.name) - parent = parent.parent_id - self.complete_name = " / ".join(reversed(names)) - else: - self.complete_name = "" + names = [self.name] + parent = self.parent_id + while parent: + names.append(parent.name) + parent = parent.parent_id + self.complete_name = " / ".join(reversed(names)) @api.constrains('parent_id') def _check_recursion(self): diff --git a/quality_control/tests/test_quality_control.py b/quality_control/tests/test_quality_control.py index dc83e79f1..e2e9dd442 100644 --- a/quality_control/tests/test_quality_control.py +++ b/quality_control/tests/test_quality_control.py @@ -3,6 +3,9 @@ # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from openerp.tests.common import TransactionCase +from openerp import exceptions +from ..models.qc_trigger_line import\ + _filter_trigger_lines class TestQualityControl(TransactionCase): @@ -10,16 +13,31 @@ class TestQualityControl(TransactionCase): def setUp(self): super(TestQualityControl, self).setUp() self.inspection_model = self.env['qc.inspection'] + self.category_model = self.env['qc.test.category'] + self.question_model = self.env['qc.test.question'] + self.wizard_model = self.env['qc.inspection.set.test'] + self.qc_trigger = self.env['qc.trigger'].create({ + 'name': 'Test Trigger', + 'active': True, + }) self.test = self.env.ref('quality_control.qc_test_1') self.val_ok = self.env.ref('quality_control.qc_test_question_value_1') self.val_ko = self.env.ref('quality_control.qc_test_question_value_2') + self.qn_question = self.env.ref('quality_control.qc_test_question_2') + self.cat_generic = self.env.ref( + 'quality_control.qc_test_template_category_generic') + self.product = self.env.ref('product.product_product_11') inspection_lines = ( self.inspection_model._prepare_inspection_lines(self.test)) self.inspection1 = self.inspection_model.create({ 'name': 'Test Inspection', - 'test': self.test.id, 'inspection_lines': inspection_lines, }) + self.wizard = self.wizard_model.with_context( + active_id=self.inspection1.id).create({ + 'test': self.test.id, + }) + self.wizard.action_create_test() self.inspection1.action_todo() def test_inspection_correct(self): @@ -36,6 +54,9 @@ class TestQualityControl(TransactionCase): self.assertTrue( self.inspection1.success, 'Incorrect state in inspection %s' % self.inspection1.name) + self.assertEquals(self.inspection1.state, 'success') + self.inspection1.action_approve() + self.assertEquals(self.inspection1.state, 'success') def test_inspection_incorrect(self): for line in self.inspection1.inspection_lines: @@ -51,3 +72,135 @@ class TestQualityControl(TransactionCase): self.assertFalse( self.inspection1.success, 'Incorrect state in inspection %s' % self.inspection1.name) + self.assertEquals(self.inspection1.state, 'waiting') + self.inspection1.action_approve() + self.assertEquals(self.inspection1.state, 'failed') + + def test_actions_errors(self): + inspection2 = self.inspection1.copy() + inspection2.action_draft() + inspection2.write({'test': False}) + with self.assertRaises(exceptions.Warning): + inspection2.action_todo() + inspection3 = self.inspection1.copy() + inspection3.write({ + 'inspection_lines': + self.inspection_model._prepare_inspection_lines(inspection3.test) + }) + for line in inspection3.inspection_lines: + if line.question_type == 'quantitative': + line.quantitative_value = 15.0 + with self.assertRaises(exceptions.Warning): + inspection3.action_confirm() + inspection4 = self.inspection1.copy() + inspection4.write({ + 'inspection_lines': + self.inspection_model._prepare_inspection_lines(inspection4.test) + }) + for line in inspection4.inspection_lines: + if line.question_type == 'quantitative': + line.write({ + 'uom_id': False, + 'quantitative_value': 15.0, + }) + elif line.question_type == 'qualitative': + line.qualitative_value = self.val_ok + with self.assertRaises(exceptions.Warning): + inspection4.action_confirm() + + def test_categories(self): + category1 = self.category_model.create({ + 'name': 'Category ONE', + }) + category2 = self.category_model.create({ + 'name': 'Category TWO', + 'parent_id': category1.id, + }) + self.assertEquals( + category2.complete_name, + '%s / %s' % (category1.name, category2.name), + 'Something went wrong when computing complete name') + with self.assertRaises(exceptions.ValidationError): + category1.parent_id = category2.id + + def test_get_qc_trigger_product(self): + self.test.write({ + 'fill_correct_values': True, + }) + trigger_lines = set() + self.product.write({ + 'qc_triggers': [(0, 0, {'trigger': self.qc_trigger.id, + 'test': self.test.id})], + }) + self.product.product_tmpl_id.write({ + 'qc_triggers': [(0, 0, {'trigger': self.qc_trigger.id, + 'test': self.test.id})], + }) + self.product.categ_id.write({ + 'qc_triggers': [(0, 0, {'trigger': self.qc_trigger.id, + 'test': self.test.id})], + }) + for model in ['qc.trigger.product_category_line', + 'qc.trigger.product_template_line', + 'qc.trigger.product_line']: + trigger_lines = trigger_lines.union( + self.env[model].get_trigger_line_for_product( + self.qc_trigger, self.product)) + self.assertEquals(len(trigger_lines), 3) + filtered_trigger_lines = _filter_trigger_lines(trigger_lines) + self.assertEquals(len(filtered_trigger_lines), 1) + for trigger_line in filtered_trigger_lines: + inspection = self.inspection_model._make_inspection( + self.product, trigger_line) + self.assertEquals(inspection.state, 'ready') + self.assertTrue(inspection.auto_generated) + self.assertEquals(inspection.test, self.test) + for line in inspection.inspection_lines: + if line.question_type == 'qualitative': + self.assertEquals(line.qualitative_value, self.val_ok) + elif line.question_type == 'quantitative': + self.assertEquals( + round(line.quantitative_value, 2), round(( + self.qn_question.min_value + + self.qn_question.max_value) * 0.5, 2)) + + def test_qc_inspection_not_draft_unlink(self): + with self.assertRaises(exceptions.Warning): + self.inspection1.unlink() + inspection2 = self.inspection1.copy() + inspection2.action_cancel() + self.assertEquals(inspection2.state, 'canceled') + inspection2.action_draft() + self.assertEquals(inspection2.state, 'draft') + inspection2.unlink() + + def test_qc_inspection_auto_generate_unlink(self): + inspection2 = self.inspection1.copy() + inspection2.write({ + 'auto_generated': True, + }) + with self.assertRaises(exceptions.Warning): + inspection2.unlink() + + def test_qc_inspection_product(self): + self.inspection1.write({ + 'object_id': '%s,%d' % (self.product._model, self.product.id), + }) + self.assertEquals(self.inspection1.product, + self.product) + + def test_qc_test_question_constraints(self): + with self.assertRaises(exceptions.ValidationError): + self.question_model.create({ + 'name': 'Quantitative Question', + 'type': 'quantitative', + 'min_value': 1.0, + 'max_value': 0.0, + }) + with self.assertRaises(exceptions.ValidationError): + self.question_model.create({ + 'name': 'Qualitative Question', + 'type': 'qualitative', + 'ql_values': [(0, 0, {'name': 'Qualitative answer', + 'ok': False})], + })