[MIG] quality_control: Migration to 13.0 + renaming to quality_control_oca

Co-authored-by: Carlos Roca <carlos.roca@tecnativa.com>
Co-authored-by: ps-tubtim <pimolnats@ecosoft.co.th>
Co-authored-by: Pedro M. Baeza < pedro.baeza@tecnativa.com>
This commit is contained in:
ps-tubtim
2020-03-17 17:10:15 +07:00
committed by Antoni Marroig Campomar
parent 1f9deae190
commit 697ee304f3
29 changed files with 174 additions and 1196 deletions

View File

@@ -1,6 +1,6 @@
===============
Quality control
===============
===================
Quality Control OCA
===================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
@@ -14,13 +14,13 @@ Quality control
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmanufacture-lightgray.png?logo=github
:target: https://github.com/OCA/manufacture/tree/12.0/quality_control
:target: https://github.com/OCA/manufacture/tree/13.0/quality_control_oca
:alt: OCA/manufacture
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/manufacture-12-0/manufacture-12-0-quality_control
:target: https://translation.odoo-community.org/projects/manufacture-13-0/manufacture-13-0-quality_control_oca
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/129/12.0
:target: https://runbot.odoo-community.org/runbot/129/13.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -64,16 +64,6 @@ The complete inspection workflow is:
|
| -> Failure (Pending approval) -> Approved
Based on the nan_quality_control_* modules from NaN·tic.
Usage
=====
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/129/12.0
Known issues / Roadmap
======================
@@ -85,7 +75,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/manufacture/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/manufacture/issues/new?body=module:%20quality_control%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/manufacture/issues/new?body=module:%20quality_control_oca%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
@@ -95,18 +85,28 @@ Credits
Authors
~~~~~~~
* OdooMRP team
* AvanzOSC
* Tecnativa
Contributors
~~~~~~~~~~~~
* Pedro M. Baeza <pedro.baeza@serviciobaeza.com>
* Oihane Crucelaegui <oihanecrucelaegi@avanzosc.es>
* Ana Juaristi <anajuaristi@avanzosc.es>
* Lois Rilo <lois.rilo@eficent.com>
* Lois Rilo <lois.rilo@forgeflow.com>
* Simone Rubino <simone.rubino@agilebg.com>
* Juan Humanes <juan.humanes@guadaltech.es>
* Ignacio José Alés López <ignacio.ales@guadaltech.es>
* Pimolnat Suntian <pimolnats@ecosoft.co.th>
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza
* Carlos Roca
Other credits
~~~~~~~~~~~~~
* Originally based on the old nan_quality_control_* modules from NaN·tic.
Maintainers
~~~~~~~~~~~
@@ -121,6 +121,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/manufacture <https://github.com/OCA/manufacture/tree/12.0/quality_control>`_ project on GitHub.
This module is part of the `OCA/manufacture <https://github.com/OCA/manufacture/tree/13.0/quality_control_oca>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -1,18 +1,18 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014-2021 Tecnativa Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017-2020 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Quality control",
"name": "Quality Control OCA",
"version": "13.0.1.0.0",
"category": "Quality control",
"category": "Quality Control",
"license": "AGPL-3",
"summary": "Generic infrastructure for quality tests.",
"author": "OdooMRP team, " "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/manufacture/tree/12.0/quality_control",
"author": "AvanzOSC, Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/manufacture",
"depends": ["product"],
"data": [
"data/quality_control_data.xml",

View File

@@ -2,8 +2,9 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
Copyright 2021 Tecnativa - Carlos Roca
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<data noupdate="1">
@@ -21,8 +22,6 @@
<field name="name">Quality Control</field>
<field name="digits">5</field>
</record>
</data>
<data>
<record id="seq_qc_inspection" model="ir.sequence">
<field name="name">Quality inspection</field>
<field name="code">qc.inspection</field>

View File

@@ -43,17 +43,13 @@ msgstr "Activo"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_ids
#, fuzzy
#| msgid "Active"
msgid "Activities"
msgstr "Activo"
msgstr "Actividades"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_state
#, fuzzy
#| msgid "Active"
msgid "Activity State"
msgstr "Activo"
msgstr "Estado de actividad"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__possible_ql_values
@@ -722,8 +718,6 @@ msgstr "Responsable"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_user_id
#, fuzzy
#| msgid "Responsible"
msgid "Responsible User"
msgstr "Responsable"
@@ -760,10 +754,8 @@ msgstr "Establecer test"
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_inspection_set_test
#, fuzzy
#| msgid "Search inspection"
msgid "Set test for inspection"
msgstr "Buscar inspección"
msgstr "Establecer test para inspección"
#. module: quality_control
#: model:qc.test.question,name:quality_control.qc_test_question_2

View File

@@ -1,984 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * quality_control
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-12 03:48+0000\n"
"PO-Revision-Date: 2018-02-12 03:48+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/"
"es_ES/)\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_trigger_line
msgid "Abstract line for defining triggers"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.view_qc_test_set_test_form
msgid "Accept"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_needaction
msgid "Action Needed"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test__active
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__active
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__active
msgid "Active"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_ids
msgid "Activities"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_state
msgid "Activity State"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__possible_ql_values
#: model_terms:ir.ui.view,arch_db:quality_control.qc_test_question_form_view
msgid "Answers"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "Approve"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__auto_generated
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Auto-generated"
msgstr ""
#. module: quality_control
#: model:qc.test.question.value,name:quality_control.qc_test_question_value_2
msgid "Bad"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
#: model_terms:ir.ui.view,arch_db:quality_control.view_qc_test_set_test_form
msgid "Cancel"
msgstr "Cancelar"
#. module: quality_control
#: selection:qc.inspection,state:0
msgid "Canceled"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__test_uom_category
#: model:ir.model.fields,field_description:quality_control.field_qc_test__category
msgid "Category"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__child_ids
msgid "Child categories"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__company_id
#: model:ir.model.fields,field_description:quality_control.field_qc_test__company_id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__company_id
msgid "Company"
msgstr "Compañía"
#. module: quality_control
#: model:ir.ui.menu,name:quality_control.menu_qc_config
msgid "Configuration"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "Confirm"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__test_uom_category
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
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Correct"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__ok
msgid "Correct answer?"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__create_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__create_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__create_date
msgid "Created on"
msgstr "Creado en"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__date
msgid "Date"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_test__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__display_name
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__display_name
msgid "Display Name"
msgstr "Nombre para mostrar"
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
#: selection:qc.inspection,state:0
msgid "Draft"
msgstr "Borrador"
#. module: quality_control
#: code:addons/quality_control/models/qc_test_category.py:36
#, python-format
msgid "Error! You can not create recursive categories."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__external_notes
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "External notes"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_follower_ids
msgid "Followers"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__complete_name
msgid "Full name"
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
#: model:qc.test,name:quality_control.qc_test_1
msgid "Generic Test (demo)"
msgstr ""
#. module: quality_control
#: model:qc.test.question.value,name:quality_control.qc_test_question_value_1
msgid "Good"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Group by..."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__id
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__id
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__id
#: model:ir.model.fields,field_description:quality_control.field_qc_test__id
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__id
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__id
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line__id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__id
msgid "ID"
msgstr "ID"
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__auto_generated
msgid "If an inspection is auto-generated, it can be canceled but not removed."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_trigger_line__partners
#: model:ir.model.fields,help:quality_control.field_qc_trigger_product_category_line__partners
#: model:ir.model.fields,help:quality_control.field_qc_trigger_product_line__partners
#: model:ir.model.fields,help:quality_control.field_qc_trigger_product_template_line__partners
msgid ""
"If filled, the test will only be created when the action is done for one of "
"the specified partners. If empty, the test will always be created."
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Incorrect"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__inspection_id
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
msgid "Inspection"
msgstr ""
#. module: quality_control
#: model:ir.actions.act_window,name:quality_control.action_qc_inspection_line
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__inspection_lines
#: model:ir.ui.menu,name:quality_control.qc_inspection_lines_menu
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_tree_view
msgid "Inspection lines"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__name
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
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_tree_view
msgid "Inspections"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__internal_notes
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "Internal notes"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_test____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line____last_update
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line____last_update
msgid "Last Modified on"
msgstr "Última modificación en"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__write_uid
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__write_date
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__write_date
msgid "Last Updated on"
msgstr "Última actualización en"
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: quality_control
#: model:res.groups,name:quality_control.group_quality_control_manager
msgid "Manager"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "Mark todo"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__max_value
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__max_value
msgid "Max"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__max_value
msgid "Maximum valid value for a quantitative question."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_ids
msgid "Messages"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__min_value
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__min_value
msgid "Min"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__min_value
msgid "Minimum valid value for a quantitative question."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test__name
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__name
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__name
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__name
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__name
msgid "Name"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__notes
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__notes
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "Notes"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: quality_control
#: model:qc.test.question,name:quality_control.qc_test_question_1
msgid "Overall quality"
msgstr ""
#. module: quality_control
#: selection:qc.inspection,activity_state:0
msgid "Overdue"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_category__parent_id
msgid "Parent category"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line__partners
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__partners
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__partners
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__partners
msgid "Partners"
msgstr ""
#. module: quality_control
#: selection:qc.inspection,activity_state:0
msgid "Planned"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_test_question_value
msgid "Possible values for qualitative questions."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test__fill_correct_values
msgid "Pre-fill with correct values"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_product_product
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__product_id
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__product_id
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__product
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Product"
msgstr "Producto"
#. module: quality_control
#: model:ir.model,name:quality_control.model_product_category
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__product_category
msgid "Product Category"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_product_template
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__product_template
msgid "Product Template"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__product_id
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__product_id
msgid "Product associated with the inspection"
msgstr ""
#. module: quality_control
#: selection:qc.inspection.line,question_type:0
#: selection:qc.test.question,type:0
msgid "Qualitative"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__qualitative_value
msgid "Qualitative value"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__ql_values
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
#: model_terms:ir.ui.view,arch_db:quality_control.product_category_qc_form_view
#: model_terms:ir.ui.view,arch_db:quality_control.product_template_qc_form_view
msgid "Quality control"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_inspection
msgid "Quality control inspection"
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
#: model_terms:ir.ui.view,arch_db:quality_control.qc_trigger_form_view
msgid "Quality control trigger"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_product_category__qc_triggers
#: model:ir.model.fields,field_description:quality_control.field_product_product__qc_triggers
#: model:ir.model.fields,field_description:quality_control.field_product_template__qc_triggers
#: model_terms:ir.ui.view,arch_db:quality_control.product_category_qc_form_view
#: model_terms:ir.ui.view,arch_db:quality_control.product_template_qc_form_view
#: model_terms:ir.ui.view,arch_db: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
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__quantitative_value
msgid "Quantitative value"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__qty
msgid "Quantity"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__name
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
msgid "Question"
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_test.py:71
#, python-format
msgid ""
"Question '%s' is not valid: minimum value can't be higher than maximum value."
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_test.py:62
#, python-format
msgid "Question '%s' is not valid: you have to mark at least one value as OK."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__question_type
msgid "Question type"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_test_question_form_view
msgid "Question value"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test__test_lines
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_test_form_view
msgid "Questions"
msgstr ""
#. module: quality_control
#: selection:qc.inspection,state:0
msgid "Ready"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__object_id
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Reference"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test__object_id
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
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__user
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line__user
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__user
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__user
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__user
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Responsible"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Search inspection"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
msgid "Search inspection line"
msgstr ""
#. module: quality_control
#: model:ir.actions.act_window,name:quality_control.action_qc_inspection_set_test
#: model_terms:ir.ui.view,arch_db:quality_control.view_qc_test_set_test_form
msgid "Select test"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger__partner_selectable
msgid "Selectable by partner"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__sequence
msgid "Sequence"
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_form_view
msgid "Set test"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_inspection_set_test
msgid "Set test for inspection"
msgstr ""
#. module: quality_control
#: model:qc.test.question,name:quality_control.qc_test_question_2
msgid "Size"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__state
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "State"
msgstr "Estado"
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__success
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_line_search_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
msgid "Success"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__success
msgid "Success?"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__test
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_set_test__test
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__test
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line__test
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__test
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__test
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__test
#: model_terms:ir.ui.view,arch_db:quality_control.qc_inspection_search_view
#: model_terms:ir.ui.view,arch_db:quality_control.qc_test_form_view
msgid "Test"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__test_uom_id
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
#: model_terms:ir.ui.view,arch_db: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
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__test_line
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question_value__test_line
#: model_terms:ir.ui.view,arch_db:quality_control.qc_test_question_form_view
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
#: model_terms:ir.ui.view,arch_db:quality_control.qc_test_tree_view
msgid "Tests"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_test_category__active
msgid "This field allows you to hide the category without removing it."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__success
msgid "This field will be marked if all tests have succeeded."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_trigger__partner_selectable
msgid "This technical field is to allow to filter by partner in triggers"
msgstr ""
#. module: quality_control
#: selection:qc.inspection,activity_state:0
msgid "Today"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_line__trigger
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_category_line__trigger
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_line__trigger
#: model:ir.model.fields,field_description:quality_control.field_qc_trigger_product_template_line__trigger
msgid "Trigger"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test__type
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__type
msgid "Type"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_unread
msgid "Unread Messages"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__uom_id
msgid "UoM"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__test_uom_id
msgid "UoM for minimum and maximum values for a quantitative question."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__uom_id
msgid "UoM of the inspection value for a quantitative question."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_test_question__uom_id
msgid "Uom"
msgstr ""
#. module: quality_control
#: model:res.groups,name:quality_control.group_quality_control_user
msgid "User"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection_line__valid_values
msgid "Valid values"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__qualitative_value
msgid "Value of the result for a qualitative question."
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection_line__quantitative_value
msgid "Value of the result for a quantitative question."
msgstr ""
#. module: quality_control
#: selection:qc.inspection,state:0
msgid "Waiting supervisor approval"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,field_description:quality_control.field_qc_inspection__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_inspection__website_message_ids
msgid "Website communication history"
msgstr ""
#. module: quality_control
#: model:ir.model.fields,help:quality_control.field_qc_test_question_value__ok
msgid "When this field is marked, the answer is considered correct."
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_inspection.py:106
#, python-format
msgid "You cannot remove an auto-generated inspection."
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_inspection.py:109
#, python-format
msgid "You cannot remove an inspection that is not in draft state."
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_inspection.py:122
#, python-format
msgid "You must first set the test to perform."
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_inspection.py:137
#, python-format
msgid "You should provide a unit of measure for quantitative questions."
msgstr ""
#. module: quality_control
#: code:addons/quality_control/models/qc_inspection.py:132
#, python-format
msgid "You should provide an answer for all qualitative questions."
msgstr ""
#. module: quality_control
#: model_terms:ir.ui.view,arch_db:quality_control.view_qc_test_set_test_form
msgid "or"
msgstr "o"
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_trigger_product_category_line
msgid "qc.trigger.product_category_line"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_trigger_product_line
msgid "qc.trigger.product_line"
msgstr ""
#. module: quality_control
#: model:ir.model,name:quality_control.model_qc_trigger_product_template_line
msgid "qc.trigger.product_template_line"
msgstr ""

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

View File

@@ -1,15 +1,13 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import _, api, exceptions, fields, models
from odoo.tools import formatLang
import odoo.addons.decimal_precision as dp
class QcInspection(models.Model):
_name = "qc.inspection"
@@ -21,13 +19,12 @@ class QcInspection(models.Model):
for i in self:
i.success = all([x.success for x in i.inspection_lines])
@api.multi
def object_selection_values(self):
"""
Overridable method for adding more object models to an inspection.
:return: A list with the selection's possible values.
"""
return list()
return [("product.product", "Product")]
@api.depends("object_id")
def _compute_product_id(self):
@@ -55,7 +52,7 @@ class QcInspection(models.Model):
)
object_id = fields.Reference(
string="Reference",
selection=lambda self: self.object_selection_values(),
selection="object_selection_values",
readonly=True,
states={"draft": [("readonly", False)]},
ondelete="set null",
@@ -65,7 +62,6 @@ class QcInspection(models.Model):
compute="_compute_product_id",
store=True,
help="Product associated with the inspection",
oldname="product",
)
qty = fields.Float(string="Quantity", default=1.0)
test = fields.Many2one(comodel_name="qc.test", string="Test", readonly=True)
@@ -93,7 +89,7 @@ class QcInspection(models.Model):
string="State",
readonly=True,
default="draft",
track_visibility="onchange",
tracking=True,
)
success = fields.Boolean(
compute="_compute_success",
@@ -105,22 +101,19 @@ class QcInspection(models.Model):
string="Auto-generated",
readonly=True,
copy=False,
help="If an inspection is auto-generated, it can be canceled but not "
"removed.",
help="If an inspection is auto-generated, it can be canceled but not removed.",
)
company_id = fields.Many2one(
comodel_name="res.company",
string="Company",
readonly=True,
states={"draft": [("readonly", False)]},
default=lambda self: self.env["res.company"]._company_default_get(
"qc.inspection"
),
default=lambda self: self.env.company,
)
user = fields.Many2one(
comodel_name="res.users",
string="Responsible",
track_visibility="always",
tracking=True,
default=lambda self: self.env.user,
)
@@ -129,9 +122,8 @@ class QcInspection(models.Model):
for vals in val_list:
if vals.get("name", "/") == "/":
vals["name"] = self.env["ir.sequence"].next_by_code("qc.inspection")
return super(QcInspection, self).create(vals)
return super().create(vals)
@api.multi
def unlink(self):
for inspection in self:
if inspection.auto_generated:
@@ -140,47 +132,41 @@ class QcInspection(models.Model):
)
if inspection.state != "draft":
raise exceptions.UserError(
_("You cannot remove an inspection that is not in draft " "state.")
_("You cannot remove an inspection that is not in draft state.")
)
return super(QcInspection, self).unlink()
return super().unlink()
@api.multi
def action_draft(self):
self.write({"state": "draft"})
@api.multi
def action_todo(self):
for inspection in self:
if not inspection.test:
raise exceptions.UserError(_("You must first set the test to perform."))
self.write({"state": "ready"})
@api.multi
def action_confirm(self):
for inspection in self:
for line in inspection.inspection_lines:
if line.question_type == "qualitative":
if not line.qualitative_value:
raise exceptions.UserError(
_(
"You should provide an answer for all "
"qualitative questions."
)
if line.question_type == "qualitative" and not line.qualitative_value:
raise exceptions.UserError(
_(
"You should provide an answer for all "
"qualitative questions."
)
else:
if not line.uom_id:
raise exceptions.UserError(
_(
"You should provide a unit of measure for "
"quantitative questions."
)
)
elif line.question_type != "qualitative" and not line.uom_id:
raise exceptions.UserError(
_(
"You should provide a unit of measure for "
"quantitative questions."
)
)
if inspection.success:
inspection.state = "success"
else:
inspection.state = "waiting"
@api.multi
def action_approve(self):
for inspection in self:
if inspection.success:
@@ -188,11 +174,9 @@ class QcInspection(models.Model):
else:
inspection.state = "failed"
@api.multi
def action_cancel(self):
self.write({"state": "canceled"})
@api.multi
def set_test(self, trigger_line, force_fill=False):
for inspection in self:
header = self._prepare_inspection_header(inspection.object_id, trigger_line)
@@ -205,7 +189,6 @@ class QcInspection(models.Model):
trigger_line.test, force_fill=force_fill
)
@api.multi
def _make_inspection(self, object_ref, trigger_line):
"""Overridable hook method for creating inspection from test.
:param object_ref: Object instance
@@ -218,7 +201,6 @@ class QcInspection(models.Model):
inspection.set_test(trigger_line)
return inspection
@api.multi
def _prepare_inspection_header(self, object_ref, trigger_line):
"""Overridable hook method for preparing inspection header.
:param object_ref: Object instance
@@ -235,7 +217,6 @@ class QcInspection(models.Model):
"auto_generated": True,
}
@api.multi
def _prepare_inspection_lines(self, test, force_fill=False):
new_data = []
for line in test.test_lines:
@@ -245,7 +226,6 @@ class QcInspection(models.Model):
new_data.append((0, 0, data))
return new_data
@api.multi
def _prepare_inspection_line(self, test, line, fill=None):
data = {
"name": line.name,
@@ -320,10 +300,7 @@ class QcInspectionLine(models.Model):
)
name = fields.Char(string="Question", readonly=True)
product_id = fields.Many2one(
comodel_name="product.product",
related="inspection_id.product_id",
store=True,
oldname="product",
comodel_name="product.product", related="inspection_id.product_id", store=True,
)
test_line = fields.Many2one(
comodel_name="qc.test.question", string="Test question", readonly=True
@@ -332,8 +309,8 @@ class QcInspectionLine(models.Model):
comodel_name="qc.test.question.value", string="Answers"
)
quantitative_value = fields.Float(
"Quantitative value",
digits=dp.get_precision("Quality Control"),
string="Quantitative value",
digits="Quality Control",
help="Value of the result for a quantitative question.",
)
qualitative_value = fields.Many2one(
@@ -345,13 +322,13 @@ class QcInspectionLine(models.Model):
notes = fields.Text(string="Notes")
min_value = fields.Float(
string="Min",
digits=dp.get_precision("Quality Control"),
digits="Quality Control",
readonly=True,
help="Minimum valid value for a quantitative question.",
)
max_value = fields.Float(
string="Max",
digits=dp.get_precision("Quality Control"),
digits="Quality Control",
readonly=True,
help="Maximum valid value for a quantitative question.",
)

View File

@@ -1,14 +1,12 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import _, api, exceptions, fields, models
import odoo.addons.decimal_precision as dp
class QcTest(models.Model):
"""
@@ -18,7 +16,6 @@ class QcTest(models.Model):
_name = "qc.test"
_description = "Quality control test"
@api.multi
def object_selection_values(self):
return set()
@@ -36,7 +33,7 @@ class QcTest(models.Model):
copy=True,
)
object_id = fields.Reference(
string="Reference object", selection=object_selection_values,
string="Reference object", selection="object_selection_values",
)
fill_correct_values = fields.Boolean(string="Pre-fill with correct values")
type = fields.Selection(
@@ -49,7 +46,7 @@ class QcTest(models.Model):
company_id = fields.Many2one(
comodel_name="res.company",
string="Company",
default=lambda self: self.env["res.company"]._company_default_get("qc.test"),
default=lambda self: self.env.company,
)
@@ -103,8 +100,8 @@ class QcTestQuestion(models.Model):
copy=True,
)
notes = fields.Text(string="Notes")
min_value = fields.Float(string="Min", digits=dp.get_precision("Quality Control"))
max_value = fields.Float(string="Max", digits=dp.get_precision("Quality Control"),)
min_value = fields.Float(string="Min", digits="Quality Control")
max_value = fields.Float(string="Max", digits="Quality Control")
uom_id = fields.Many2one(comodel_name="uom.uom", string="Uom")

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
@@ -12,7 +12,6 @@ class QcTestTemplateCategory(models.Model):
_name = "qc.test.category"
_description = "Test category"
@api.multi
@api.depends("name", "parent_id")
def _compute_get_complete_name(self):
for record in self:
@@ -24,17 +23,11 @@ class QcTestTemplateCategory(models.Model):
record.complete_name = " / ".join(reversed(names))
@api.constrains("parent_id")
def _check_recursion(self):
ids = self.ids
level = 100
while ids:
parents = self.search([("id", "in", ids), ("parent_id", "!=", False)])
ids = list({x.parent_id.id for x in parents})
if not level:
raise exceptions.UserError(
_("Error! You can not create recursive categories.")
)
level -= 1
def _check_parent_id(self):
if not self._check_recursion():
raise exceptions.UserError(
_("Error! You can not create recursive categories.")
)
name = fields.Char("Name", required=True, translate=True)
parent_id = fields.Many2one(

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
@@ -17,11 +17,11 @@ class QcTrigger(models.Model):
company_id = fields.Many2one(
comodel_name="res.company",
string="Company",
default=lambda self: self.env["res.company"]._company_default_get("qc.test"),
default=lambda self: self.env.company,
)
partner_selectable = fields.Boolean(
string="Selectable by partner",
default=False,
readonly=True,
help="This technical field is to allow to filter by partner in" " triggers",
help="This technical field is to allow to filter by partner in triggers",
)

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
@@ -27,7 +27,7 @@ class QcTriggerLine(models.AbstractModel):
user = fields.Many2one(
comodel_name="res.users",
string="Responsible",
track_visibility="always",
tracking=True,
default=lambda self: self.env.user,
)
partners = fields.Many2many(
@@ -54,13 +54,14 @@ class QcTriggerLine(models.AbstractModel):
class QcTriggerProductCategoryLine(models.Model):
_inherit = "qc.trigger.line"
_name = "qc.trigger.product_category_line"
_description = "Quality Control Trigger Product Category Line"
product_category = fields.Many2one(comodel_name="product.category")
def get_trigger_line_for_product(self, trigger, product, partner=False):
trigger_lines = super(
QcTriggerProductCategoryLine, self
).get_trigger_line_for_product(trigger, product, partner=partner)
trigger_lines = super().get_trigger_line_for_product(
trigger, product, partner=partner
)
category = product.categ_id
while category:
for trigger_line in category.qc_triggers.filtered(
@@ -79,13 +80,14 @@ class QcTriggerProductCategoryLine(models.Model):
class QcTriggerProductTemplateLine(models.Model):
_inherit = "qc.trigger.line"
_name = "qc.trigger.product_template_line"
_description = "Quality Control Trigger Product Template Line"
product_template = fields.Many2one(comodel_name="product.template")
def get_trigger_line_for_product(self, trigger, product, partner=False):
trigger_lines = super(
QcTriggerProductTemplateLine, self
).get_trigger_line_for_product(trigger, product, partner=partner)
trigger_lines = super().get_trigger_line_for_product(
trigger, product, partner=partner
)
for trigger_line in product.product_tmpl_id.qc_triggers.filtered(
lambda r: r.trigger == trigger
and (
@@ -102,11 +104,12 @@ class QcTriggerProductTemplateLine(models.Model):
class QcTriggerProductLine(models.Model):
_inherit = "qc.trigger.line"
_name = "qc.trigger.product_line"
_description = "Quality Control Trigger Product Line"
product = fields.Many2one(comodel_name="product.product")
def get_trigger_line_for_product(self, trigger, product, partner=False):
trigger_lines = super(QcTriggerProductLine, self).get_trigger_line_for_product(
trigger_lines = super().get_trigger_line_for_product(
trigger, product, partner=partner
)
for trigger_line in product.qc_triggers.filtered(

View File

@@ -24,5 +24,3 @@ The complete inspection workflow is:
Draft -> Confirmed -> Success
|
| -> Failure (Pending approval) -> Approved
Based on the nan_quality_control_* modules from NaN·tic.

View File

@@ -1,7 +1,11 @@
* Pedro M. Baeza <pedro.baeza@serviciobaeza.com>
* Oihane Crucelaegui <oihanecrucelaegi@avanzosc.es>
* Ana Juaristi <anajuaristi@avanzosc.es>
* Lois Rilo <lois.rilo@eficent.com>
* Lois Rilo <lois.rilo@forgeflow.com>
* Simone Rubino <simone.rubino@agilebg.com>
* Juan Humanes <juan.humanes@guadaltech.es>
* Ignacio José Alés López <ignacio.ales@guadaltech.es>
* Pimolnat Suntian <pimolnats@ecosoft.co.th>
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza
* Carlos Roca

View File

@@ -1,3 +0,0 @@
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/129/12.0

View File

@@ -1,18 +1,18 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_user_qc_inspection,qc_inspection,quality_control.model_qc_inspection,quality_control.group_quality_control_user,1,1,1,1
access_user_qc_inspection_line,qc_inspection_line,quality_control.model_qc_inspection_line,quality_control.group_quality_control_user,1,1,1,1
access_user_qc_test,qc_test user,quality_control.model_qc_test,quality_control.group_quality_control_user,1,0,0,0
access_user_qc_test_question,qc_test_question user,quality_control.model_qc_test_question,quality_control.group_quality_control_user,1,0,0,0
access_user_qc_test_question_value,qc_test_question_value_user,quality_control.model_qc_test_question_value,quality_control.group_quality_control_user,1,0,0,0
access_manager_qc_test,qc_test manager,quality_control.model_qc_test,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_test_question,qc_test_question manager,quality_control.model_qc_test_question,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_test_question_value,qc_test_question_value,quality_control.model_qc_test_question_value,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_test_category,qc_test_category,quality_control.model_qc_test_category,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_user,qc_trigger user,quality_control.model_qc_trigger,quality_control.group_quality_control_user,1,0,0,0
access_manager_qc_trigger_manager,qc_trigger manager,quality_control.model_qc_trigger,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_product_category_line_user,qc_trigger product_category line user,quality_control.model_qc_trigger_product_category_line,quality_control.group_quality_control_user,1,0,0,0
access_manager_qc_trigger_product_category_line_manager,qc_trigger product_category line manager,quality_control.model_qc_trigger_product_category_line,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_product_template_line_user,qc_trigger product_template line user,quality_control.model_qc_trigger_product_template_line,,1,0,0,0
access_manager_qc_trigger_product_template_line_manager,qc_trigger product_template line manager,quality_control.model_qc_trigger_product_template_line,quality_control.group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_product_line_user,qc_trigger product line user,quality_control.model_qc_trigger_product_line,,1,0,0,0
access_manager_qc_trigger_product_line_manager,qc_trigger product line manager,quality_control.model_qc_trigger_product_line,quality_control.group_quality_control_manager,1,1,1,1
access_user_qc_inspection,qc_inspection,model_qc_inspection,group_quality_control_user,1,1,1,1
access_user_qc_inspection_line,qc_inspection_line,model_qc_inspection_line,group_quality_control_user,1,1,1,1
access_user_qc_test,qc_test user,model_qc_test,group_quality_control_user,1,0,0,0
access_user_qc_test_question,qc_test_question user,model_qc_test_question,group_quality_control_user,1,0,0,0
access_user_qc_test_question_value,qc_test_question_value_user,model_qc_test_question_value,group_quality_control_user,1,0,0,0
access_manager_qc_test,qc_test manager,model_qc_test,group_quality_control_manager,1,1,1,1
access_manager_qc_test_question,qc_test_question manager,model_qc_test_question,group_quality_control_manager,1,1,1,1
access_manager_qc_test_question_value,qc_test_question_value,model_qc_test_question_value,group_quality_control_manager,1,1,1,1
access_manager_qc_test_category,qc_test_category,model_qc_test_category,group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_user,qc_trigger user,model_qc_trigger,group_quality_control_user,1,0,0,0
access_manager_qc_trigger_manager,qc_trigger manager,model_qc_trigger,group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_product_category_line_user,qc_trigger product_category line user,model_qc_trigger_product_category_line,group_quality_control_user,1,0,0,0
access_manager_qc_trigger_product_category_line_manager,qc_trigger product_category line manager,model_qc_trigger_product_category_line,group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_product_template_line_user,qc_trigger product_template line user,model_qc_trigger_product_template_line,,1,0,0,0
access_manager_qc_trigger_product_template_line_manager,qc_trigger product_template line manager,model_qc_trigger_product_template_line,group_quality_control_manager,1,1,1,1
access_manager_qc_trigger_product_line_user,qc_trigger product line user,model_qc_trigger_product_line,,1,0,0,0
access_manager_qc_trigger_product_line_manager,qc_trigger product line manager,model_qc_trigger_product_line,group_quality_control_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_user_qc_inspection qc_inspection quality_control.model_qc_inspection model_qc_inspection quality_control.group_quality_control_user group_quality_control_user 1 1 1 1
3 access_user_qc_inspection_line qc_inspection_line quality_control.model_qc_inspection_line model_qc_inspection_line quality_control.group_quality_control_user group_quality_control_user 1 1 1 1
4 access_user_qc_test qc_test user quality_control.model_qc_test model_qc_test quality_control.group_quality_control_user group_quality_control_user 1 0 0 0
5 access_user_qc_test_question qc_test_question user quality_control.model_qc_test_question model_qc_test_question quality_control.group_quality_control_user group_quality_control_user 1 0 0 0
6 access_user_qc_test_question_value qc_test_question_value_user quality_control.model_qc_test_question_value model_qc_test_question_value quality_control.group_quality_control_user group_quality_control_user 1 0 0 0
7 access_manager_qc_test qc_test manager quality_control.model_qc_test model_qc_test quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
8 access_manager_qc_test_question qc_test_question manager quality_control.model_qc_test_question model_qc_test_question quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
9 access_manager_qc_test_question_value qc_test_question_value quality_control.model_qc_test_question_value model_qc_test_question_value quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
10 access_manager_qc_test_category qc_test_category quality_control.model_qc_test_category model_qc_test_category quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
11 access_manager_qc_trigger_user qc_trigger user quality_control.model_qc_trigger model_qc_trigger quality_control.group_quality_control_user group_quality_control_user 1 0 0 0
12 access_manager_qc_trigger_manager qc_trigger manager quality_control.model_qc_trigger model_qc_trigger quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
13 access_manager_qc_trigger_product_category_line_user qc_trigger product_category line user quality_control.model_qc_trigger_product_category_line model_qc_trigger_product_category_line quality_control.group_quality_control_user group_quality_control_user 1 0 0 0
14 access_manager_qc_trigger_product_category_line_manager qc_trigger product_category line manager quality_control.model_qc_trigger_product_category_line model_qc_trigger_product_category_line quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
15 access_manager_qc_trigger_product_template_line_user qc_trigger product_template line user quality_control.model_qc_trigger_product_template_line model_qc_trigger_product_template_line 1 0 0 0
16 access_manager_qc_trigger_product_template_line_manager qc_trigger product_template line manager quality_control.model_qc_trigger_product_template_line model_qc_trigger_product_template_line quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1
17 access_manager_qc_trigger_product_line_user qc_trigger product line user quality_control.model_qc_trigger_product_line model_qc_trigger_product_line 1 0 0 0
18 access_manager_qc_trigger_product_line_manager qc_trigger product line manager quality_control.model_qc_trigger_product_line model_qc_trigger_product_line quality_control.group_quality_control_manager group_quality_control_manager 1 1 1 1

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
@@ -28,7 +28,7 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|', ('company_id', '=', False), ('company_id', 'child_of', [user.company_id.id])]</field>
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="qc_inspection_multi_company_rule" model="ir.rule">
<field name="name">Quality control inspection multi-company</field>
@@ -36,7 +36,7 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|', ('company_id', '=', False), ('company_id', 'child_of', [user.company_id.id])]</field>
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="qc_trigger_multi_company_rule" model="ir.rule">
<field name="name">Quality control trigger multi-company</field>
@@ -44,6 +44,6 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|', ('company_id', '=', False), ('company_id', 'child_of', [user.company_id.id])]</field>
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
</odoo>

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<title>Quality control</title>
<title>Quality Control OCA</title>
<style type="text/css">
/*
@@ -360,14 +360,14 @@ ul.auto-toc {
</style>
</head>
<body>
<div class="document" id="quality-control">
<h1 class="title">Quality control</h1>
<div class="document" id="quality-control-oca">
<h1 class="title">Quality Control OCA</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/manufacture/tree/12.0/quality_control"><img alt="OCA/manufacture" src="https://img.shields.io/badge/github-OCA%2Fmanufacture-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/manufacture-12-0/manufacture-12-0-quality_control"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/129/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/manufacture/tree/13.0/quality_control_oca"><img alt="OCA/manufacture" src="https://img.shields.io/badge/github-OCA%2Fmanufacture-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/manufacture-13-0/manufacture-13-0-quality_control_oca"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/129/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module provides a generic infrastructure for quality tests. The idea is
that it can be later reused for doing quality inspections on production lots
or any other area of the company.</p>
@@ -375,12 +375,12 @@ or any other area of the company.</p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id2">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="id7">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
</ul>
</li>
@@ -414,44 +414,51 @@ fill the lines depending on the chosen test.</p>
</dd>
</dl>
</blockquote>
<p>Based on the nan_quality_control_* modules from NaN·tic.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<a class="reference external image-reference" href="https://runbot.odoo-community.org/runbot/129/12.0"><img alt="Try me on Runbot" src="https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas" /></a>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
<h1><a class="toc-backref" href="#id2">Known issues / Roadmap</a></h1>
<ul class="simple">
<li>Make translatable the trigger name.</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/manufacture/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/manufacture/issues/new?body=module:%20quality_control%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/manufacture/issues/new?body=module:%20quality_control_oca%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id5">Credits</a></h1>
<h1><a class="toc-backref" href="#id4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id6">Authors</a></h2>
<h2><a class="toc-backref" href="#id5">Authors</a></h2>
<ul class="simple">
<li>OdooMRP team</li>
<li>AvanzOSC</li>
<li>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
<ul class="simple">
<li>Pedro M. Baeza &lt;<a class="reference external" href="mailto:pedro.baeza&#64;serviciobaeza.com">pedro.baeza&#64;serviciobaeza.com</a>&gt;</li>
<li>Oihane Crucelaegui &lt;<a class="reference external" href="mailto:oihanecrucelaegi&#64;avanzosc.es">oihanecrucelaegi&#64;avanzosc.es</a>&gt;</li>
<li>Ana Juaristi &lt;<a class="reference external" href="mailto:anajuaristi&#64;avanzosc.es">anajuaristi&#64;avanzosc.es</a>&gt;</li>
<li>Lois Rilo &lt;<a class="reference external" href="mailto:lois.rilo&#64;eficent.com">lois.rilo&#64;eficent.com</a>&gt;</li>
<li>Lois Rilo &lt;<a class="reference external" href="mailto:lois.rilo&#64;forgeflow.com">lois.rilo&#64;forgeflow.com</a>&gt;</li>
<li>Simone Rubino &lt;<a class="reference external" href="mailto:simone.rubino&#64;agilebg.com">simone.rubino&#64;agilebg.com</a>&gt;</li>
<li>Juan Humanes &lt;<a class="reference external" href="mailto:juan.humanes&#64;guadaltech.es">juan.humanes&#64;guadaltech.es</a>&gt;</li>
<li>Ignacio José Alés López &lt;<a class="reference external" href="mailto:ignacio.ales&#64;guadaltech.es">ignacio.ales&#64;guadaltech.es</a>&gt;</li>
<li>Pimolnat Suntian &lt;<a class="reference external" href="mailto:pimolnats&#64;ecosoft.co.th">pimolnats&#64;ecosoft.co.th</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Pedro M. Baeza</li>
<li>Carlos Roca</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="other-credits">
<h2><a class="toc-backref" href="#id7">Other credits</a></h2>
<ul class="simple">
<li>Originally based on the old nan_quality_control_* modules from NaN·tic.</li>
</ul>
</div>
<div class="section" id="maintainers">
@@ -461,7 +468,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/manufacture/tree/12.0/quality_control">OCA/manufacture</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/manufacture/tree/13.0/quality_control_oca">OCA/manufacture</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>

View File

@@ -1,7 +1,7 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
@@ -13,7 +13,7 @@ from ..models.qc_trigger_line import _filter_trigger_lines
class TestQualityControl(TransactionCase):
def setUp(self):
super(TestQualityControl, self).setUp()
super().setUp()
self.inspection_model = self.env["qc.inspection"]
self.category_model = self.env["qc.test.category"]
self.question_model = self.env["qc.test.question"]
@@ -21,12 +21,12 @@ class TestQualityControl(TransactionCase):
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.test = self.env.ref("quality_control_oca.qc_test_1")
self.val_ok = self.env.ref("quality_control_oca.qc_test_question_value_1")
self.val_ko = self.env.ref("quality_control_oca.qc_test_question_value_2")
self.qn_question = self.env.ref("quality_control_oca.qc_test_question_2")
self.cat_generic = self.env.ref(
"quality_control.qc_test_template_category_generic"
"quality_control_oca.qc_test_template_category_generic"
)
self.product = self.env.ref("product.product_product_11")
inspection_lines = self.inspection_model._prepare_inspection_lines(self.test)
@@ -122,7 +122,7 @@ class TestQualityControl(TransactionCase):
"{} / {}".format(category1.name, category2.name),
"Something went wrong when computing complete name",
)
with self.assertRaises(exceptions.ValidationError):
with self.assertRaises(exceptions.UserError):
category1.parent_id = category2.id
def test_get_qc_trigger_product(self):

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
@@ -12,7 +12,7 @@
<field name="inherit_id" ref="product.product_template_only_form_view" />
<field
name="groups_id"
eval="[(4, ref('quality_control.group_quality_control_user'))]"
eval="[(4, ref('quality_control_oca.group_quality_control_user'))]"
/>
<field name="arch" type="xml">
<page name="inventory" position="inside">

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
@@ -38,7 +38,7 @@
type="object"
states="waiting"
class="oe_highlight"
groups="quality_control.group_quality_control_manager"
groups="quality_control_oca.group_quality_control_manager"
string="Approve"
/>
<button
@@ -52,13 +52,12 @@
name="state"
widget="statusbar"
statusbar_visible="draft,waiting,success"
statusbar_colors='{"success": "blue", "failed": "red"}'
/>
</header>
<sheet>
<div class="oe_right oe_button_box" name="buttons">
<div class="oe_button_box" name="button_box">
<button
class="oe_inline oe_stat_button"
class="oe_stat_button"
type="action"
name="%(action_qc_inspection_set_test)d"
icon="fa-bookmark-o"
@@ -227,7 +226,6 @@
<record model="ir.actions.act_window" id="action_qc_inspection">
<field name="name">Inspections</field>
<field name="res_model">qc.inspection</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
@@ -241,10 +239,11 @@
<field name="model">qc.inspection.line</field>
<field name="arch" type="xml">
<tree
decoration-danger="success==False"
decoration-info="success==True"
string="Inspection lines"
delete="false"
create="false"
colors="red: success==False"
>
<field name="inspection_id" />
<field name="product_id" />
@@ -325,8 +324,8 @@
<record model="ir.actions.act_window" id="action_qc_inspection_line">
<field name="name">Inspection lines</field>
<field name="res_model">qc.inspection.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="qc_inspection_line_tree_view" />
</record>
<menuitem
name="Inspection lines"

View File

@@ -2,15 +2,15 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<menuitem
name="Quality control"
name="Quality Control"
id="qc_menu"
groups="group_quality_control_user"
web_icon="quality_control,static/description/icon.png"
web_icon="quality_control_oca/static/description/icon.png"
sequence="40"
/>
<menuitem

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
@@ -21,7 +21,6 @@
<record model="ir.actions.act_window" id="action_qc_test_category">
<field name="name">Test categories</field>
<field name="res_model">qc.test.category</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
@@ -65,7 +65,6 @@
<record model="ir.actions.act_window" id="action_qc_test">
<field name="name">Tests</field>
<field name="res_model">qc.test</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<record model="ir.ui.view" id="qc_test_question_form_view">

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>

View File

@@ -1,11 +1,11 @@
# Copyright 2010 NaN Projectes de Programari Lliure, S.L.
# Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
# Copyright 2014 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
# Copyright 2017 ForgeFlow S.L.
# Copyright 2017 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
from odoo import fields, models
class QcInspectionSetTest(models.TransientModel):
@@ -20,7 +20,6 @@ class QcInspectionSetTest(models.TransientModel):
test = fields.Many2one(comodel_name="qc.test", string="Test")
@api.multi
def action_create_test(self):
inspection = self.env["qc.inspection"].browse(self.env.context["active_id"])
inspection.test = self.test

View File

@@ -2,7 +2,7 @@
<!-- Copyright 2010 NaN Projectes de Programari Lliure, S.L.
Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza
Copyright 2014 Oihane Crucelaegui - AvanzOSC
Copyright 2017 Eficent Business and IT Consulting Services S.L.
Copyright 2017 ForgeFlow S.L.
Copyright 2017 Simone Rubino - Agile Business Group
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
@@ -31,7 +31,6 @@
<field name="name">Select test</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">qc.inspection.set.test</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>