mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
@@ -20,7 +20,7 @@
|
||||
<field name="name">Manager</field>
|
||||
<field name="category_id" ref="module_category_quality_control"/>
|
||||
<field name="implied_ids" eval="[(4, ref('group_quality_control_user'))]"/>
|
||||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="qc_test_multi_company_rule" model="ir.rule">
|
||||
|
||||
93
quality_control_team/README.rst
Normal file
93
quality_control_team/README.rst
Normal file
@@ -0,0 +1,93 @@
|
||||
====================
|
||||
Quality Control Team
|
||||
====================
|
||||
|
||||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Mature
|
||||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
||||
: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_team
|
||||
: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_team
|
||||
: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
|
||||
:alt: Try me on Runbot
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
This module extends the functionality of Quality Control app to support the
|
||||
use of Quality control teams and to allow you to manage different team flows.
|
||||
|
||||
This module by itself does not provide any functionality to QC teams. It
|
||||
provides the teams basic configuration and a dashboard to be used by other
|
||||
modules.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure this module, you need to:
|
||||
|
||||
#. Go to *Quality Control > Configuration > Quality Control Teams*.
|
||||
|
||||
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_team%0Aversion:%2012.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.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
* Eficent
|
||||
|
||||
Contributors
|
||||
~~~~~~~~~~~~
|
||||
|
||||
* Lois Rilo <lois.rilo@eficent.com>
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
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.
|
||||
|
||||
.. |maintainer-lreficent| image:: https://github.com/lreficent.png?size=40px
|
||||
:target: https://github.com/lreficent
|
||||
:alt: lreficent
|
||||
|
||||
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|
||||
|
||||
|maintainer-lreficent|
|
||||
|
||||
This module is part of the `OCA/manufacture <https://github.com/OCA/manufacture/tree/12.0/quality_control_team>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
1
quality_control_team/__init__.py
Normal file
1
quality_control_team/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from . import models
|
||||
25
quality_control_team/__manifest__.py
Normal file
25
quality_control_team/__manifest__.py
Normal file
@@ -0,0 +1,25 @@
|
||||
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
{
|
||||
"name": "Quality Control Team",
|
||||
"summary": "Adds quality control teams to handle different quality "
|
||||
"control workflows",
|
||||
"version": "12.0.1.1.0",
|
||||
"development_status": "Mature",
|
||||
"category": "Quality Control",
|
||||
"website": "https://odoo-community.org/",
|
||||
"author": "Eficent, Odoo Community Association (OCA)",
|
||||
"maintainers": ["lreficent"],
|
||||
"license": "AGPL-3",
|
||||
"application": False,
|
||||
"installable": True,
|
||||
"depends": [
|
||||
"quality_control",
|
||||
],
|
||||
"data": [
|
||||
"security/ir.model.access.csv",
|
||||
"views/qc_team_view.xml",
|
||||
"views/qc_team_dashboard.xml",
|
||||
"data/quality_control_team_data.xml",
|
||||
],
|
||||
}
|
||||
14
quality_control_team/data/quality_control_team_data.xml
Normal file
14
quality_control_team/data/quality_control_team_data.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<odoo>
|
||||
|
||||
<data noupdate="0">
|
||||
<record model="qc.team" id="qc_team_main">
|
||||
<field name="name">Main QC Team</field>
|
||||
<field name="member_ids" eval="[(4, ref('base.user_admin'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
</odoo>
|
||||
201
quality_control_team/i18n/de.po
Normal file
201
quality_control_team/i18n/de.po
Normal file
@@ -0,0 +1,201 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * quality_control_team
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2018-12-13 11:58+0000\n"
|
||||
"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: de\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"
|
||||
"X-Generator: Weblate 3.3\n"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_active
|
||||
msgid "Active"
|
||||
msgstr "Aktiv"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,help:quality_control_team.qc_team_config_action
|
||||
msgid "Click here to define a new quality control team."
|
||||
msgstr "Klicken Sie hier, um ein neues Qualitätskontroll-Team zu definieren."
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_color
|
||||
msgid "Color Index"
|
||||
msgstr "Farbindex"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_company_id
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model,name:quality_control_team.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Erstellt von"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_create_date
|
||||
msgid "Created on"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,name:quality_control_team.qc_team_dashboard_act
|
||||
#: model:ir.ui.menu,name:quality_control_team.menu_qc_team_act
|
||||
msgid "Dashboard"
|
||||
msgstr "Dashboard"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,help:quality_control_team.qc_team_dashboard_act
|
||||
msgid "Define a new quality control teams going to <b><i>Configuration >\n"
|
||||
" Quality Control Teams</i></b>."
|
||||
msgstr ""
|
||||
"Definieren Sie neue Qualitätskontroll-Teams <b><i>Konfiguration >\n"
|
||||
" Qualitätskontroll-Teams</i></b>."
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Follow this QC team to automatically track the events associated to users of this team."
|
||||
msgstr ""
|
||||
"Folgen Sie diesem Qualitätskontroll-Team, um automatisch alle Ereignisse "
|
||||
"nachzuverfolgen, die mit einem Mitglied dieses Teams assoziiert sind."
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "Group By..."
|
||||
msgstr "Gruppiere nach..."
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Zuletzt geändert am"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zuletzt aktualisiert von"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zuletzt aktualisiert am"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_kanban
|
||||
msgid "More <i class=\"fa fa-caret-down\"/>"
|
||||
msgstr "Mehr <i class=\"fa fa-caret-down\"/>"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "More Info"
|
||||
msgstr "Weitere Informationen"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "My Teams"
|
||||
msgstr "Meine Teams"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "QC teams Search"
|
||||
msgstr "Qualitätskontroll-Teams Suche"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model,name:quality_control_team.model_qc_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_name
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_res_partner_qc_team_id
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_res_users_qc_team_id
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_tree
|
||||
msgid "Quality Control Team"
|
||||
msgstr "Qualitätskontroll-Team"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Quality Control Team name..."
|
||||
msgstr "Qualtitätskontroll-Teamname..."
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,name:quality_control_team.qc_team_config_action
|
||||
#: model:ir.ui.menu,name:quality_control_team.qc_team_config_menu
|
||||
msgid "Quality Control Teams"
|
||||
msgstr "Qualitätskontroll-Teams"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Quality Control team"
|
||||
msgstr "Qualitätskontroll-Team"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_reply_to
|
||||
msgid "Reply-To"
|
||||
msgstr "Antworten-an"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_kanban
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_user_id
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "Team Leader"
|
||||
msgstr "Teamleiter"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team_member_ids
|
||||
#: model:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Team Members"
|
||||
msgstr "Teammitglieder"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team_color
|
||||
msgid "The color of the team"
|
||||
msgstr "Farbe des Teams"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team_reply_to
|
||||
msgid "The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this QC team"
|
||||
msgstr ""
|
||||
"Dies ist die Email-Adresse, die in das 'Antworten-an' von allen Emails "
|
||||
"eingefügt wird, die die Fälle dieses Teams betreffen und von Odoo versendet "
|
||||
"werden"
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,help:quality_control_team.qc_team_config_action
|
||||
msgid "Use quality control team to organize your different\n"
|
||||
" departments into separate teams. Each team will work in\n"
|
||||
" its own list of processes, stages..."
|
||||
msgstr ""
|
||||
"Verwenden Sie Qualitätskontroll-Teams, um Ihre unterschiedlichen Abteilungen "
|
||||
"in getrennten Teams zu organisieren. \n"
|
||||
" Jedes Team wird in eigenen Prozesslisten, Stufen etc. "
|
||||
"arbeiten."
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model,name:quality_control_team.model_res_users
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
293
quality_control_team/i18n/quality_control_team.pot
Normal file
293
quality_control_team/i18n/quality_control_team.pot
Normal file
@@ -0,0 +1,293 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * quality_control_team
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 12.0\n"
|
||||
"Report-Msgid-Bugs-To: \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_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_kanban
|
||||
msgid "<i class=\"fa fa-ellipsis-v\" role=\"img\" aria-label=\"Manage\" title=\"Manage\"/>"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__active
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.actions.act_window,help:quality_control_team.qc_team_config_action
|
||||
msgid "Click here to define a new quality control team."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__color
|
||||
msgid "Color Index"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model,name:quality_control_team.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,name:quality_control_team.qc_team_dashboard_act
|
||||
#: model:ir.ui.menu,name:quality_control_team.menu_qc_team_act
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.actions.act_window,help:quality_control_team.qc_team_dashboard_act
|
||||
msgid "Define a new quality control teams going to <b><i>Configuration >\n"
|
||||
" Quality Control Teams</i></b>."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Follow this QC team to automatically track the events associated to users of this team."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_channel_ids
|
||||
msgid "Followers (Channels)"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__message_unread
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__message_has_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_ids
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "More Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "My Teams"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_has_error_counter
|
||||
msgid "Number of error"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__message_needaction_counter
|
||||
msgid "Number of messages which requires an action"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__message_unread_counter
|
||||
msgid "Number of unread messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "QC teams Search"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model,name:quality_control_team.model_qc_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__name
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_res_partner__qc_team_id
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_res_users__qc_team_id
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_tree
|
||||
msgid "Quality Control Team"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Quality Control Team name..."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.actions.act_window,name:quality_control_team.qc_team_config_action
|
||||
#: model:ir.ui.menu,name:quality_control_team.qc_team_config_menu
|
||||
msgid "Quality Control Teams"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Quality Control team"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__reply_to
|
||||
msgid "Reply-To"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_kanban
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__user_id
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_search
|
||||
msgid "Team Leader"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__member_ids
|
||||
#: model_terms:ir.ui.view,arch_db:quality_control_team.qc_team_view_form
|
||||
msgid "Team Members"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__color
|
||||
msgid "The color of the team"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__reply_to
|
||||
msgid "The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this QC team"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_unread
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__message_unread_counter
|
||||
msgid "Unread Messages Counter"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model_terms:ir.actions.act_window,help:quality_control_team.qc_team_config_action
|
||||
msgid "Use quality control team to organize your different\n"
|
||||
" departments into separate teams. Each team will work in\n"
|
||||
" its own list of processes, stages..."
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model,name:quality_control_team.model_res_users
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,field_description:quality_control_team.field_qc_team__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: quality_control_team
|
||||
#: model:ir.model.fields,help:quality_control_team.field_qc_team__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr ""
|
||||
|
||||
3
quality_control_team/models/__init__.py
Normal file
3
quality_control_team/models/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from . import qc_team
|
||||
from . import res_partner
|
||||
from . import res_user
|
||||
60
quality_control_team/models/qc_team.py
Normal file
60
quality_control_team/models/qc_team.py
Normal file
@@ -0,0 +1,60 @@
|
||||
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class QualityControlTeam(models.Model):
|
||||
_name = "qc.team"
|
||||
_inherit = ['mail.thread']
|
||||
_description = "Quality Control Team"
|
||||
_order = "name"
|
||||
|
||||
@api.model
|
||||
def _get_default_qc_team_id(self, user_id=None):
|
||||
if not user_id:
|
||||
user_id = self.env.uid
|
||||
qc_team_id = None
|
||||
if 'default_qc_team_id' in self.env.context:
|
||||
qc_team_id = self.env['qc.team'].browse(
|
||||
self.env.context.get('default_qc_team_id'))
|
||||
if not qc_team_id or not qc_team_id.exists():
|
||||
company_id = self.sudo(user_id).company_id.id
|
||||
qc_team_id = self.env['qc.team'].sudo().search([
|
||||
'|',
|
||||
('user_id', '=', user_id),
|
||||
('member_ids', '=', user_id),
|
||||
'|',
|
||||
('company_id', '=', False),
|
||||
('company_id', 'child_of', [company_id])
|
||||
], limit=1)
|
||||
if not qc_team_id:
|
||||
default_team_id = self.env.ref(
|
||||
'quality_control_team.qc_team_main', raise_if_not_found=False)
|
||||
if default_team_id:
|
||||
qc_team_id = default_team_id
|
||||
return qc_team_id
|
||||
|
||||
name = fields.Char(
|
||||
string='Quality Control Team', required=True)
|
||||
active = fields.Boolean(default=True)
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company', string='Company',
|
||||
default=lambda self: self.env['res.company']._company_default_get(
|
||||
'qc.team'))
|
||||
user_id = fields.Many2one(
|
||||
comodel_name='res.users', string='Team Leader')
|
||||
member_ids = fields.One2many(
|
||||
comodel_name='res.users', inverse_name='qc_team_id',
|
||||
string='Team Members')
|
||||
reply_to = fields.Char(
|
||||
string='Reply-To',
|
||||
help="The email address put in the 'Reply-To' of all emails sent by "
|
||||
"Odoo about cases in this QC team")
|
||||
color = fields.Integer(string='Color Index', help="The color of the team")
|
||||
|
||||
@api.model
|
||||
def create(self, values):
|
||||
return super(
|
||||
QualityControlTeam,
|
||||
self.with_context(mail_create_nosubscribe=True)).create(values)
|
||||
11
quality_control_team/models/res_partner.py
Normal file
11
quality_control_team/models/res_partner.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
qc_team_id = fields.Many2one(
|
||||
comodel_name='qc.team', string='Quality Control Team')
|
||||
11
quality_control_team/models/res_user.py
Normal file
11
quality_control_team/models/res_user.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResUsers(models.Model):
|
||||
_inherit = 'res.users'
|
||||
|
||||
qc_team_id = fields.Many2one(
|
||||
comodel_name='qc.team', string='Quality Control Team')
|
||||
3
quality_control_team/readme/CONFIGURE.rst
Normal file
3
quality_control_team/readme/CONFIGURE.rst
Normal file
@@ -0,0 +1,3 @@
|
||||
To configure this module, you need to:
|
||||
|
||||
#. Go to *Quality Control > Configuration > Quality Control Teams*.
|
||||
1
quality_control_team/readme/CONTRIBUTORS.rst
Normal file
1
quality_control_team/readme/CONTRIBUTORS.rst
Normal file
@@ -0,0 +1 @@
|
||||
* Lois Rilo <lois.rilo@eficent.com>
|
||||
6
quality_control_team/readme/DESCRIPTION.rst
Normal file
6
quality_control_team/readme/DESCRIPTION.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
This module extends the functionality of Quality Control app to support the
|
||||
use of Quality control teams and to allow you to manage different team flows.
|
||||
|
||||
This module by itself does not provide any functionality to QC teams. It
|
||||
provides the teams basic configuration and a dashboard to be used by other
|
||||
modules.
|
||||
3
quality_control_team/security/ir.model.access.csv
Normal file
3
quality_control_team/security/ir.model.access.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_user_qc_team,qc.team.user,quality_control_team.model_qc_team,quality_control.group_quality_control_user,1,0,0,0
|
||||
access_manager_qc_team,qc.team.manager,quality_control_team.model_qc_team,quality_control.group_quality_control_manager,1,1,1,1
|
||||
|
BIN
quality_control_team/static/description/icon.png
Normal file
BIN
quality_control_team/static/description/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
204
quality_control_team/static/description/icon.svg
Normal file
204
quality_control_team/static/description/icon.svg
Normal file
@@ -0,0 +1,204 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:export-ydpi="30"
|
||||
inkscape:export-xdpi="30"
|
||||
inkscape:export-filename="icon.png"
|
||||
sodipodi:docname="icon.svg"
|
||||
viewBox="0 0 256 256"
|
||||
height="256"
|
||||
width="256"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
version="1.1"
|
||||
id="svg2">
|
||||
<sodipodi:namedview
|
||||
inkscape:current-layer="layer2"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-x="67"
|
||||
inkscape:cy="127.07369"
|
||||
inkscape:cx="107.5354"
|
||||
inkscape:zoom="2.8284271"
|
||||
showguides="true"
|
||||
showgrid="false"
|
||||
id="namedview4"
|
||||
inkscape:window-height="1025"
|
||||
inkscape:window-width="1853"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
guidetolerance="10"
|
||||
gridtolerance="10"
|
||||
objecttolerance="10"
|
||||
borderopacity="1"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
inkscape:guide-bbox="true">
|
||||
<sodipodi:guide
|
||||
position="94.776276,202.08872"
|
||||
orientation="-0.70710678,0.70710678"
|
||||
id="guide37"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="165.52734,51.804688"
|
||||
orientation="-0.70710678,0.70710678"
|
||||
id="guide39"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="179.5,115.53516"
|
||||
orientation="-0.70710678,0.70710678"
|
||||
id="guide41"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="187.67187,135.85937"
|
||||
orientation="-0.70710678,0.70710678"
|
||||
id="guide43"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="114.09375,209.71875"
|
||||
orientation="-0.70710678,0.70710678"
|
||||
id="guide45"
|
||||
inkscape:locked="false" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34371">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34373"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34375">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34377"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34379">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34381"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34383">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34385"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34387">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34389"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34391">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34393"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath34395">
|
||||
<rect
|
||||
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1"
|
||||
id="rect34397"
|
||||
width="256"
|
||||
height="256"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Background"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<rect
|
||||
y="0"
|
||||
x="0"
|
||||
height="256"
|
||||
width="256"
|
||||
id="rect1402"
|
||||
style="fill:#5f8dd3;fill-opacity:1;stroke:none;stroke-width:2.00009322;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Icon"
|
||||
id="layer2"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:0.39215687;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 93.274537,55.413019 -0.232492,148.92005 0,256 l 113.65983,0.0628 51.65772,-51.65734 -10.8795,-38.87869 24.53203,-24.53203 -0.65704,-11.49529 8.7558,-8.75581 -8.89934,-9.28603 -10.15043,-37.646183 -56.05389,-25.401624 -8.07323,8.073227 z"
|
||||
id="path35"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccccccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.30461562"
|
||||
clip-path="url(#clipPath34391)"
|
||||
d="M 139.01367 45.707031 C 135.39131 45.632696 131.83894 49.968749 127.97656 49.96875 C 123.85669 49.96875 119.58846 45.096742 115.66016 45.892578 C 111.73185 46.688414 110.04842 52.717143 106.4043 54.220703 C 102.76018 55.724264 97.271068 52.682921 93.914062 54.910156 C 90.557058 57.13739 91.64247 63.610387 88.720703 66.519531 C 85.798935 69.428675 78.734925 68.970386 76.519531 72.3125 C 74.304136 75.654614 78.553541 81.177043 77.027344 84.810547 C 75.501146 88.44405 68.314747 90.07636 67.507812 94.070312 C 66.700879 98.064264 72.498047 101.56353 72.498047 105.70508 C 72.498047 109.84663 66.768712 114.86455 67.435547 118.27148 C 68.102381 121.67842 74.661791 123.75386 76.001953 127.54883 C 77.342117 131.3438 74.093851 136.73605 76.523438 140.40039 C 78.953025 144.06473 84.741221 142.22552 87.626953 145.21094 C 90.512685 148.19636 90.700537 155.67885 94.064453 157.89648 C 97.428368 160.11411 102.96871 156.62342 106.45898 158.14453 C 109.94926 159.66564 110.95664 165.81756 115.07227 166.69336 C 119.1879 167.56915 123.30016 162.21875 127.45898 162.21875 C 131.61781 162.21875 135.4702 167.72211 139.36914 166.99414 C 143.26808 166.26617 144.94335 159.11495 148.75391 157.56445 C 152.56447 156.01395 158.74247 159.99111 162.12305 157.74023 C 165.50364 155.48935 164.51689 148.36189 167.42188 145.47852 C 170.32687 142.59515 177.18724 143.77271 179.38867 140.46094 C 181.59009 137.14918 177.61995 131.09263 179.19531 127.39258 C 180.77066 123.69252 187.73538 122.27616 188.52539 118.22266 C 189.3154 114.16915 183.9707 110.39874 183.9707 106.35352 C 183.9707 102.30829 189.31459 98.557179 188.54297 94.568359 C 187.77135 90.579539 180.93909 88.570205 179.35156 84.773438 C 177.76402 80.976671 181.42005 75.249136 179.13281 71.863281 C 176.84557 68.477426 169.7821 68.768357 166.9707 66.001953 C 164.15931 63.235548 165.82319 57.466183 162.48438 55.208984 C 159.14555 52.951786 152.88328 56.010604 149.05859 54.460938 C 145.2339 52.911271 143.61386 46.531419 139.73828 45.783203 C 139.49606 45.73644 139.25516 45.711987 139.01367 45.707031 z M 127.97656 63.46875 A 42.883841 42.883841 0 0 1 170.85938 106.35352 A 42.883841 42.883841 0 0 1 127.97656 149.23633 A 42.883841 42.883841 0 0 1 85.091797 106.35352 A 42.883841 42.883841 0 0 1 127.97656 63.46875 z M 127.97656 71.257812 A 35.095012 35.095012 0 0 0 92.880859 106.35352 A 35.095012 35.095012 0 0 0 127.97656 141.44727 A 35.095012 35.095012 0 0 0 163.07031 106.35352 A 35.095012 35.095012 0 0 0 127.97656 71.257812 z M 127.83789 79.617188 C 127.96863 79.610895 128.09961 79.613943 128.22852 79.628906 C 128.84726 79.700731 129.42283 80.032851 129.75195 80.761719 L 135.9082 94.392578 L 151.2207 96.324219 C 153.30011 96.586438 153.10622 99.30251 152.1543 100.17578 L 141.24219 110.18555 L 144.13477 125.32617 C 144.39408 126.68389 142.58895 128.45503 140.61523 127.33984 L 127.87109 120.14062 L 114.84766 127.30469 C 113.39881 128.10162 111.06729 126.30454 111.39453 124.69141 L 114.27344 110.5 L 103.87109 100.73633 C 102.55305 99.499152 102.93224 96.453333 105.11719 96.203125 L 119.24023 94.587891 L 125.72852 80.789062 C 126.00804 80.194684 126.92268 79.661232 127.83789 79.617188 z "
|
||||
id="circle3368" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3338"
|
||||
d="m 98.010569,165.89812 5.436331,-0.84134 c 6.11145,10.88609 11.13432,9.61647 16.24428,9.31943 l -7.31316,35.85391 -9.5783,-9.12527 -12.814214,3.23591 z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.67500001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
clip-path="url(#clipPath34379)" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.67500001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 157.29249,165.96284 -5.43634,-0.84134 c -6.11144,10.88609 -11.13431,9.61647 -16.24428,9.31943 l 7.31316,35.85391 9.57831,-9.12527 12.81421,3.23591 z"
|
||||
id="path3340"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
clip-path="url(#clipPath34375)" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.6 KiB |
433
quality_control_team/static/description/index.html
Normal file
433
quality_control_team/static/description/index.html
Normal file
@@ -0,0 +1,433 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
|
||||
<title>Quality Control Team</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger (goodger@python.org)
|
||||
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
.subscript {
|
||||
vertical-align: sub;
|
||||
font-size: smaller }
|
||||
|
||||
.superscript {
|
||||
vertical-align: super;
|
||||
font-size: smaller }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title, .code .error {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin: 0 0 0.5em 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
||||
clear: left ;
|
||||
float: left ;
|
||||
margin-right: 1em }
|
||||
|
||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
||||
clear: right ;
|
||||
float: right ;
|
||||
margin-left: 1em }
|
||||
|
||||
img.align-center, .figure.align-center, object.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left }
|
||||
|
||||
.align-center {
|
||||
clear: both ;
|
||||
text-align: center }
|
||||
|
||||
.align-right {
|
||||
text-align: right }
|
||||
|
||||
/* reset inner alignment in figures */
|
||||
div.align-right {
|
||||
text-align: inherit }
|
||||
|
||||
/* div.align-center * { */
|
||||
/* text-align: left } */
|
||||
|
||||
.align-top {
|
||||
vertical-align: top }
|
||||
|
||||
.align-middle {
|
||||
vertical-align: middle }
|
||||
|
||||
.align-bottom {
|
||||
vertical-align: bottom }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font: inherit }
|
||||
|
||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
pre.code .ln { color: grey; } /* line numbers */
|
||||
pre.code, code { background-color: #eeeeee }
|
||||
pre.code .comment, code .comment { color: #5C6576 }
|
||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
/* "booktabs" style (no vertical lines) */
|
||||
table.docutils.booktabs {
|
||||
border: 0px;
|
||||
border-top: 2px solid;
|
||||
border-bottom: 2px solid;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.docutils.booktabs * {
|
||||
border: 0px;
|
||||
}
|
||||
table.docutils.booktabs th {
|
||||
border-bottom: thin solid;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="quality-control-team">
|
||||
<h1 class="title">Quality Control Team</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="Mature" src="https://img.shields.io/badge/maturity-Mature-brightgreen.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_team"><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_team"><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>This module extends the functionality of Quality Control app to support the
|
||||
use of Quality control teams and to allow you to manage different team flows.</p>
|
||||
<p>This module by itself does not provide any functionality to QC teams. It
|
||||
provides the teams basic configuration and a dashboard to be used by other
|
||||
modules.</p>
|
||||
<p><strong>Table of contents</strong></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="#bug-tracker" id="id2">Bug Tracker</a></li>
|
||||
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
|
||||
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
|
||||
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
|
||||
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="configuration">
|
||||
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
|
||||
<p>To configure this module, you need to:</p>
|
||||
<ol class="arabic simple">
|
||||
<li>Go to <em>Quality Control > Configuration > Quality Control Teams</em>.</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="section" id="bug-tracker">
|
||||
<h1><a class="toc-backref" href="#id2">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_team%0Aversion:%2012.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="#id3">Credits</a></h1>
|
||||
<div class="section" id="authors">
|
||||
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
|
||||
<ul class="simple">
|
||||
<li>Eficent</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="contributors">
|
||||
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
|
||||
<ul class="simple">
|
||||
<li>Lois Rilo <<a class="reference external" href="mailto:lois.rilo@eficent.com">lois.rilo@eficent.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
|
||||
<p>This module is maintained by the OCA.</p>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
||||
<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>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
|
||||
<p><a class="reference external" href="https://github.com/lreficent"><img alt="lreficent" src="https://github.com/lreficent.png?size=40px" /></a></p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/manufacture/tree/12.0/quality_control_team">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>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
1
quality_control_team/tests/__init__.py
Normal file
1
quality_control_team/tests/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from . import test_quality_control_team
|
||||
35
quality_control_team/tests/test_quality_control_team.py
Normal file
35
quality_control_team/tests/test_quality_control_team.py
Normal file
@@ -0,0 +1,35 @@
|
||||
# Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
class TestQualityControlTeam(TransactionCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestQualityControlTeam, self).setUp()
|
||||
self.qc_team_obj = self.env['qc.team']
|
||||
self.main_qc_team = self.env.ref('quality_control_team.qc_team_main')
|
||||
self.other_company = self.env['res.company'].create({
|
||||
'name': 'other company',
|
||||
})
|
||||
self.user_test = self.env['res.users'].create({
|
||||
'name': 'Test User',
|
||||
'login': 'testuser',
|
||||
'company_id': self.other_company.id,
|
||||
'company_ids': [(4, self.other_company.id)],
|
||||
})
|
||||
|
||||
def test_default_qc_team(self):
|
||||
"""Test that the QC team is defaulted correctly."""
|
||||
team = self.qc_team_obj._get_default_qc_team_id(
|
||||
user_id=self.user_test.id)
|
||||
self.assertEqual(team, self.main_qc_team)
|
||||
test_team = self.qc_team_obj.create({
|
||||
'name': 'Test Team',
|
||||
'user_id': self.user_test.id,
|
||||
'company_id': self.other_company.id,
|
||||
})
|
||||
team = self.qc_team_obj._get_default_qc_team_id(
|
||||
user_id=self.user_test.id)
|
||||
self.assertEqual(team, test_team)
|
||||
82
quality_control_team/views/qc_team_dashboard.xml
Normal file
82
quality_control_team/views/qc_team_dashboard.xml
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Copyright 2017-19 Eficent Business and IT Consulting Services S.L.
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<record id="qc_team_view_kanban" model="ir.ui.view" >
|
||||
<field name="name">qc.team.dashboard</field>
|
||||
<field name="model">qc.team</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_dashboard oe_background_grey" create="0">
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
<field name="member_ids"/>
|
||||
<field name="color"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div t-attf-class="#{kanban_color(record.color.raw_value)}">
|
||||
<div class="o_kanban_card_header">
|
||||
<div class="o_kanban_card_header_title">
|
||||
<div class="o_primary"><field name="name"/></div>
|
||||
</div>
|
||||
<div class="o_kanban_manage_button_section">
|
||||
<a class="o_kanban_manage_toggle_button" href="#"><i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container o_kanban_card_content">
|
||||
<div class="row o_kanban_card_upper_content">
|
||||
<div class="col-6 o_kanban_primary_left" name="card_left"/>
|
||||
<div class="col-6 o_kanban_primary_right" name="card_right"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container o_kanban_card_manage_pane dropdown-menu" role="menu">
|
||||
<div t-if="widget.editable" class="o_kanban_card_manage_settings row" groups="quality_control.group_quality_control_manager">
|
||||
<div role="menuitem" aria-haspopup="true" class="col-8">
|
||||
<ul class="oe_kanban_colorpicker" data-field="color" role="menu"/>
|
||||
</div>
|
||||
<div role="menuitem" class="col-4 text-right">
|
||||
<a type="edit">Settings</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="qc_team_search" model="ir.ui.view">
|
||||
<field name="name">Case Teams - Search</field>
|
||||
<field name="model">qc.team</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="QC teams Search">
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
<filter name="personal" string="My Teams"
|
||||
domain="['|', ('member_ids', '=', uid), ('user_id', '=', uid)]"/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter name="group_user_id" string="Team Leader" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="qc_team_dashboard_act" model="ir.actions.act_window">
|
||||
<field name="name">Dashboard</field>
|
||||
<field name="res_model">qc.team</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">kanban,form</field>
|
||||
<field name="context">{'search_default_personal':1}</field>
|
||||
<field name="help" type="html">
|
||||
<p>Define a new quality control teams going to <b><i>Configuration >
|
||||
Quality Control Teams</i></b>.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_qc_team_act" action="qc_team_dashboard_act"
|
||||
sequence="1" parent="quality_control.qc_menu" name="Dashboard"/>
|
||||
|
||||
</odoo>
|
||||
107
quality_control_team/views/qc_team_view.xml
Normal file
107
quality_control_team/views/qc_team_view.xml
Normal file
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Copyright 2017 Eficent Business and IT Consulting Services S.L.
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<record id="qc_team_view_form" model="ir.ui.view">
|
||||
<field name="name">qc.team.form</field>
|
||||
<field name="model">qc.team</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Quality Control Team">
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
|
||||
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
|
||||
</button>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only" string="Quality Control team"/>
|
||||
<h1>
|
||||
<field name="name" placeholder="Quality Control Team name..."/>
|
||||
</h1>
|
||||
<div name="options_active"/>
|
||||
</div>
|
||||
<group>
|
||||
<group name="left">
|
||||
<field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager']}"/>
|
||||
</group>
|
||||
<group name="right">
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="members" string="Team Members">
|
||||
<field name="member_ids" widget="many2many" options="{'not_delete': True}">
|
||||
<kanban quick_create="false" create="true" delete="true">
|
||||
<field name="id"/>
|
||||
<field name="name"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click" style="max-width: 200px">
|
||||
<div class="o_kanban_record_top">
|
||||
<img t-att-src="kanban_image('res.users', 'image_small', record.id.raw_value)" height="40" width="40" class="oe_avatar oe_kanban_avatar_smallbox mb0"/>
|
||||
<div class="o_kanban_record_headings ml8">
|
||||
<strong class="o_kanban_record_title"><field name="name"/></strong>
|
||||
</div>
|
||||
<a t-if="! read_only_mode" type="delete" class="text-danger">
|
||||
<i class="fa fa-times"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</page>
|
||||
<page string="More Info" name="more_info" groups="base.group_no_one">
|
||||
<group string="Company" groups="base.group_multi_company">
|
||||
<field name="company_id" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers"
|
||||
help="Follow this QC team to automatically track the events associated to users of this team."/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="qc_team_view_tree" model="ir.ui.view">
|
||||
<field name="name">qc.team.tree</field>
|
||||
<field name="model">qc.team</field>
|
||||
<field name="field_parent">child_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Quality Control Team">
|
||||
<field name="name"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="user_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="qc_team_config_action" model="ir.actions.act_window">
|
||||
<field name="name">Quality Control Teams</field>
|
||||
<field name="res_model">qc.team</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click here to define a new quality control team.
|
||||
</p><p>
|
||||
Use quality control team to organize your different
|
||||
departments into separate teams. Each team will work in
|
||||
its own list of processes, stages...
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Quality Control Teams"
|
||||
id="qc_team_config_menu"
|
||||
groups="base.group_system"
|
||||
parent="quality_control.menu_qc_config"
|
||||
action="qc_team_config_action"
|
||||
sequence="10"/>
|
||||
|
||||
</odoo>
|
||||
@@ -1 +1 @@
|
||||
12.0.20190711.0
|
||||
12.0.20190712.0
|
||||
@@ -16,6 +16,7 @@ setuptools.setup(
|
||||
'odoo12-addon-mrp_production_putaway_strategy',
|
||||
'odoo12-addon-mrp_warehouse_calendar',
|
||||
'odoo12-addon-quality_control',
|
||||
'odoo12-addon-quality_control_team',
|
||||
'odoo12-addon-repair_refurbish',
|
||||
],
|
||||
classifiers=[
|
||||
|
||||
1
setup/quality_control_team/odoo/addons/quality_control_team
Symbolic link
1
setup/quality_control_team/odoo/addons/quality_control_team
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../quality_control_team
|
||||
6
setup/quality_control_team/setup.py
Normal file
6
setup/quality_control_team/setup.py
Normal file
@@ -0,0 +1,6 @@
|
||||
import setuptools
|
||||
|
||||
setuptools.setup(
|
||||
setup_requires=['setuptools-odoo'],
|
||||
odoo_addon=True,
|
||||
)
|
||||
Reference in New Issue
Block a user