diff --git a/mgmtsystem_action_template/README.rst b/mgmtsystem_action_template/README.rst new file mode 100644 index 00000000000..e3bfc18ca48 --- /dev/null +++ b/mgmtsystem_action_template/README.rst @@ -0,0 +1,108 @@ +=================================== +Management System - Action Template +=================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:104a2ca06aa735b3f297848a8a70d0deaa65223338df2b6f53cefecfd9a2a9dd + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |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%2Fmanagement--system-lightgray.png?logo=github + :target: https://github.com/OCA/management-system/tree/17.0/mgmtsystem_action_template + :alt: OCA/management-system +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/management-system-17-0/management-system-17-0-mgmtsystem_action_template + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/management-system&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module add management of template for Actions. + +- new Action Template model to set default values +- new field to select an Action Template to fill predefined fields + automatically + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Action Template - Define + +- Go to Management System → Configuration → Action Templates +- Create a new Template +- Fill fields with predefined values + +Action Template - Use + +- Go to Management System → Actions +- Create new Action +- Select Reference Template: the fields Title (name), Type, Responsible, + Tags and Description are filled with Template values +- Procede with Action completion + +Changelog +========= + +13.0.1.0.0 (2022-01-01) +----------------------- + +- [INI] Migration to 13.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues <https://github.com/OCA/management-system/issues>`_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback <https://github.com/OCA/management-system/issues/new?body=module:%20mgmtsystem_action_template%0Aversion:%2017.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 +------- + +* Associazione PNLUG - Gruppo Odoo + +Contributors +------------ + +- Marcelo Frare <mf2965@gmail.com> +- Stefano Consolaro <stefano.consolaro@mymage.it> +- Creu Blanca +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + +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. + +This module is part of the `OCA/management-system <https://github.com/OCA/management-system/tree/17.0/mgmtsystem_action_template>`_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mgmtsystem_action_template/__init__.py b/mgmtsystem_action_template/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/mgmtsystem_action_template/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/mgmtsystem_action_template/__manifest__.py b/mgmtsystem_action_template/__manifest__.py new file mode 100644 index 00000000000..a16a73c8f5e --- /dev/null +++ b/mgmtsystem_action_template/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2019 Marcelo Frare (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) +# Copyright 2019 Stefano Consolaro (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) + +{ + "name": "Management System - Action Template", + "summary": "Add Template management for Actions.", + "version": "17.0.1.0.0", + "author": "Associazione PNLUG - Gruppo Odoo, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/management-system", + "license": "AGPL-3", + "category": "Management System", + "depends": ["mgmtsystem_action"], + "data": [ + "security/ir.model.access.csv", + "views/mgmtsystem_action_template.xml", + "views/mgmtsystem_action_views.xml", + ], + "installable": True, +} diff --git a/mgmtsystem_action_template/i18n/es.po b/mgmtsystem_action_template/i18n/es.po new file mode 100644 index 00000000000..6c5b413475e --- /dev/null +++ b/mgmtsystem_action_template/i18n/es.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mgmtsystem_action_template +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-07-07 14:10+0000\n" +"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n" +"Language-Team: none\n" +"Language: 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" +"X-Generator: Weblate 4.17\n" + +#. module: mgmtsystem_action_template +#: model:ir.model,name:mgmtsystem_action_template.model_mgmtsystem_action +msgid "Action" +msgstr "Acción" + +#. module: mgmtsystem_action_template +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Action Template" +msgstr "Plantilla de acción" + +#. module: mgmtsystem_action_template +#: model:ir.ui.menu,name:mgmtsystem_action_template.mgmtsystem_action_template_menu +msgid "Action Templates" +msgstr "Plantillas de acción" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__create_uid +msgid "Created by" +msgstr "creado por" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: mgmtsystem_action_template +#: model:ir.model,name:mgmtsystem_action_template.model_mgmtsystem_action_template +msgid "Define fields to save action template values" +msgstr "Definir campos para guardar valores de plantillas de acciones" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__description +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Description" +msgstr "descripción" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__display_name +msgid "Display Name" +msgstr "nombre para mostrar" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,help:mgmtsystem_action_template.field_mgmtsystem_action__template_id +msgid "Fill Action's fields with Template's values" +msgstr "Rellenar los campos de la acción con los valores de la plantilla" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__id +msgid "ID" +msgstr "ID(identificador)" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template____last_update +msgid "Last Modified on" +msgstr "Modificado por última vez el" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__write_uid +msgid "Last Updated by" +msgstr "actualizado por última vez por" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__write_date +msgid "Last Updated on" +msgstr "actualizado por última vez el" + +#. module: mgmtsystem_action_template +#: model:ir.actions.act_window,name:mgmtsystem_action_template.mgmtsystem_action_template_act_window +msgid "Mgmtsystem Action Template" +msgstr "Plantilla de acción del sistema de gestión" + +#. module: mgmtsystem_action_template +#. odoo-python +#: code:addons/mgmtsystem_action_template/models/mgmtsystem_action.py:0 +#: code:addons/mgmtsystem_action_template/tests/test_action_template.py:0 +#, python-format +msgid "NEW" +msgstr "NUEVO" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__name +msgid "Name" +msgstr "Nombre" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action__template_id +msgid "Reference Template" +msgstr "Plantilla de referencia" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__type_action +msgid "Response Type" +msgstr "Tipo de respuesta" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__user_id +msgid "Responsible" +msgstr "Responsable" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__tag_ids +msgid "Tags" +msgstr "Etiquetas" + +#. module: mgmtsystem_action_template +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Template title..." +msgstr "Título de la plantilla..." diff --git a/mgmtsystem_action_template/i18n/it.po b/mgmtsystem_action_template/i18n/it.po new file mode 100644 index 00000000000..c7c8d567cbf --- /dev/null +++ b/mgmtsystem_action_template/i18n/it.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mgmtsystem_action_template +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-12-06 12:11+0000\n" +"PO-Revision-Date: 2022-12-18 17:44+0000\n" +"Last-Translator: mymage <stefano.consolaro@mymage.it>\n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: mgmtsystem_action_template +#: model:ir.model,name:mgmtsystem_action_template.model_mgmtsystem_action +msgid "Action" +msgstr "Azione" + +#. module: mgmtsystem_action_template +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Action Template" +msgstr "Modello azione" + +#. module: mgmtsystem_action_template +#: model:ir.ui.menu,name:mgmtsystem_action_template.mgmtsystem_action_template_menu +msgid "Action Templates" +msgstr "Modelli azione" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: mgmtsystem_action_template +#: model:ir.model,name:mgmtsystem_action_template.model_mgmtsystem_action_template +msgid "Define fields to save action template values" +msgstr "Definisce i campi per salvare i valori dei modello dell'azione" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__description +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Description" +msgstr "Descrizione" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,help:mgmtsystem_action_template.field_mgmtsystem_action__template_id +msgid "Fill Action's fields with Template's values" +msgstr "Compilare i campi dell'azione con i valori del modello" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__id +msgid "ID" +msgstr "ID" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: mgmtsystem_action_template +#: model:ir.actions.act_window,name:mgmtsystem_action_template.mgmtsystem_action_template_act_window +msgid "Mgmtsystem Action Template" +msgstr "Modello azione sistema di gestione" + +#. module: mgmtsystem_action_template +#. odoo-python +#: code:addons/mgmtsystem_action_template/models/mgmtsystem_action.py:0 +#: code:addons/mgmtsystem_action_template/tests/test_action_template.py:0 +#, python-format +msgid "NEW" +msgstr "NUOVA" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__name +msgid "Name" +msgstr "Nome" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action__template_id +msgid "Reference Template" +msgstr "Modello di riferimento" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__type_action +msgid "Response Type" +msgstr "Tipo risposta" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__user_id +msgid "Responsible" +msgstr "Responsabile" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__tag_ids +msgid "Tags" +msgstr "Etichette" + +#. module: mgmtsystem_action_template +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Template title..." +msgstr "Nome modello..." + +#~ msgid "Is not a Template" +#~ msgstr "Non è un modello" + +#~ msgid "" +#~ "Set Action as Template to create simlilar one. Type, Responsible, Tags " +#~ "and Title are used." +#~ msgstr "" +#~ "Imposta l'azione come modello per crearne di simili. Tipo, responsabile, " +#~ "etichette e titolo verranno copiati." diff --git a/mgmtsystem_action_template/i18n/mgmtsystem_action_template.pot b/mgmtsystem_action_template/i18n/mgmtsystem_action_template.pot new file mode 100644 index 00000000000..b2a030aeb19 --- /dev/null +++ b/mgmtsystem_action_template/i18n/mgmtsystem_action_template.pot @@ -0,0 +1,123 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mgmtsystem_action_template +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: mgmtsystem_action_template +#: model:ir.model,name:mgmtsystem_action_template.model_mgmtsystem_action +msgid "Action" +msgstr "" + +#. module: mgmtsystem_action_template +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Action Template" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.ui.menu,name:mgmtsystem_action_template.mgmtsystem_action_template_menu +msgid "Action Templates" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__create_uid +msgid "Created by" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__create_date +msgid "Created on" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model,name:mgmtsystem_action_template.model_mgmtsystem_action_template +msgid "Define fields to save action template values" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__description +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Description" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__display_name +msgid "Display Name" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,help:mgmtsystem_action_template.field_mgmtsystem_action__template_id +msgid "Fill Action's fields with Template's values" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__id +msgid "ID" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.actions.act_window,name:mgmtsystem_action_template.mgmtsystem_action_template_act_window +msgid "Mgmtsystem Action Template" +msgstr "" + +#. module: mgmtsystem_action_template +#. odoo-python +#: code:addons/mgmtsystem_action_template/models/mgmtsystem_action.py:0 +#: code:addons/mgmtsystem_action_template/tests/test_action_template.py:0 +#, python-format +msgid "NEW" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__name +msgid "Name" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action__template_id +msgid "Reference Template" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__type_action +msgid "Response Type" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__user_id +msgid "Responsible" +msgstr "" + +#. module: mgmtsystem_action_template +#: model:ir.model.fields,field_description:mgmtsystem_action_template.field_mgmtsystem_action_template__tag_ids +msgid "Tags" +msgstr "" + +#. module: mgmtsystem_action_template +#: model_terms:ir.ui.view,arch_db:mgmtsystem_action_template.mgmtsystem_action_template_form_view +msgid "Template title..." +msgstr "" diff --git a/mgmtsystem_action_template/models/__init__.py b/mgmtsystem_action_template/models/__init__.py new file mode 100644 index 00000000000..4b017d957a8 --- /dev/null +++ b/mgmtsystem_action_template/models/__init__.py @@ -0,0 +1,2 @@ +from . import mgmtsystem_action_template +from . import mgmtsystem_action diff --git a/mgmtsystem_action_template/models/mgmtsystem_action.py b/mgmtsystem_action_template/models/mgmtsystem_action.py new file mode 100644 index 00000000000..37992857755 --- /dev/null +++ b/mgmtsystem_action_template/models/mgmtsystem_action.py @@ -0,0 +1,33 @@ +# Copyright 2019 Marcelo Frare (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) +# Copyright 2019 Stefano Consolaro (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) +# Copyright 2020 Creu Blanca + +from odoo import _, api, fields, models + + +class MgmtsystemAction(models.Model): + """ + Extend actions adding template reference + """ + + _inherit = "mgmtsystem.action" + + # template reference + template_id = fields.Many2one( + "mgmtsystem.action.template", + "Reference Template", + help="Fill Action's fields with Template's values", + ) + + @api.onchange("template_id") + def _onchange_template_id(self): + """ + Fill some fields with template ones + """ + + if self.template_id: + self.name = _("NEW") + " " + self.template_id.name + self.type_action = self.template_id.type_action + self.description = self.template_id.description + self.user_id = self.template_id.user_id + self.tag_ids = self.template_id.tag_ids diff --git a/mgmtsystem_action_template/models/mgmtsystem_action_template.py b/mgmtsystem_action_template/models/mgmtsystem_action_template.py new file mode 100644 index 00000000000..b8a049bbee2 --- /dev/null +++ b/mgmtsystem_action_template/models/mgmtsystem_action_template.py @@ -0,0 +1,34 @@ +# Copyright 2020 Creu Blanca +# Copyright 2019 Marcelo Frare (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) +# Copyright 2019 Stefano Consolaro (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) + +from odoo import fields, models + + +class MgmtsystemActionTemplate(models.Model): + """ + Define a support structure to set action template values + """ + + _name = "mgmtsystem.action.template" + _description = "Define fields to save action template values" + + def _selection_type_action(self): + # link to action type values + return self.env["mgmtsystem.action"]._fields["type_action"].selection + + # fields + # template identification + name = fields.Char(required=True) + # action preset + description = fields.Html() + type_action = fields.Selection( + selection=lambda self: self._selection_type_action(), string="Response Type" + ) + user_id = fields.Many2one( + "res.users", + "Responsible", + default=lambda self: self.env["mgmtsystem.action"]._default_owner(), + required=True, + ) + tag_ids = fields.Many2many("mgmtsystem.action.tag", string="Tags") diff --git a/mgmtsystem_action_template/pyproject.toml b/mgmtsystem_action_template/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/mgmtsystem_action_template/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/mgmtsystem_action_template/readme/CONTRIBUTORS.md b/mgmtsystem_action_template/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..9076430f8d9 --- /dev/null +++ b/mgmtsystem_action_template/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- Marcelo Frare \<<mf2965@gmail.com>\> +- Stefano Consolaro \<<stefano.consolaro@mymage.it>\> +- Creu Blanca +- [Heliconia Solutions Pvt. Ltd.\](<https://www.heliconia.io>) diff --git a/mgmtsystem_action_template/readme/DESCRIPTION.md b/mgmtsystem_action_template/readme/DESCRIPTION.md new file mode 100644 index 00000000000..4faa8b1bc27 --- /dev/null +++ b/mgmtsystem_action_template/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +This module add management of template for Actions. + +- new Action Template model to set default values +- new field to select an Action Template to fill predefined fields + automatically diff --git a/mgmtsystem_action_template/readme/HISTORY.md b/mgmtsystem_action_template/readme/HISTORY.md new file mode 100644 index 00000000000..fd1b85e71a7 --- /dev/null +++ b/mgmtsystem_action_template/readme/HISTORY.md @@ -0,0 +1,3 @@ +## 13.0.1.0.0 (2022-01-01) + +- \[INI\] Migration to 13.0 diff --git a/mgmtsystem_action_template/readme/USAGE.md b/mgmtsystem_action_template/readme/USAGE.md new file mode 100644 index 00000000000..de164736a52 --- /dev/null +++ b/mgmtsystem_action_template/readme/USAGE.md @@ -0,0 +1,13 @@ +Action Template - Define + +- Go to Management System → Configuration → Action Templates +- Create a new Template +- Fill fields with predefined values + +Action Template - Use + +- Go to Management System → Actions +- Create new Action +- Select Reference Template: the fields Title (name), Type, Responsible, + Tags and Description are filled with Template values +- Procede with Action completion diff --git a/mgmtsystem_action_template/security/ir.model.access.csv b/mgmtsystem_action_template/security/ir.model.access.csv new file mode 100644 index 00000000000..30b5632ab02 --- /dev/null +++ b/mgmtsystem_action_template/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_mgmtsystem_action_template,access_mgmtsystem_action_template,model_mgmtsystem_action_template,base.group_user,1,1,1,1 diff --git a/mgmtsystem_action_template/static/description/icon.png b/mgmtsystem_action_template/static/description/icon.png new file mode 100644 index 00000000000..7cfa9b9301b Binary files /dev/null and b/mgmtsystem_action_template/static/description/icon.png differ diff --git a/mgmtsystem_action_template/static/description/index.html b/mgmtsystem_action_template/static/description/index.html new file mode 100644 index 00000000000..e085b328be7 --- /dev/null +++ b/mgmtsystem_action_template/static/description/index.html @@ -0,0 +1,462 @@ +<!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: https://docutils.sourceforge.io/" /> +<title>Management System - Action Template</title> +<style type="text/css"> + +/* +:Author: David Goodger (goodger@python.org) +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ +:Copyright: This stylesheet has been placed in the public domain. + +Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. + +See https://docutils.sourceforge.io/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: gray; } /* 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, pre.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="management-system-action-template"> +<h1 class="title">Management System - Action Template</h1> + +<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! This file is generated by oca-gen-addon-readme !! +!! changes will be overwritten. !! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!! source digest: sha256:104a2ca06aa735b3f297848a8a70d0deaa65223338df2b6f53cefecfd9a2a9dd +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> +<p><a class="reference external image-reference" 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 image-reference" 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 image-reference" href="https://github.com/OCA/management-system/tree/17.0/mgmtsystem_action_template"><img alt="OCA/management-system" src="https://img.shields.io/badge/github-OCA%2Fmanagement--system-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/management-system-17-0/management-system-17-0-mgmtsystem_action_template"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/management-system&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> +<p>This module add management of template for Actions.</p> +<ul class="simple"> +<li>new Action Template model to set default values</li> +<li>new field to select an Action Template to fill predefined fields +automatically</li> +</ul> +<p><strong>Table of contents</strong></p> +<div class="contents local topic" id="contents"> +<ul class="simple"> +<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li> +<li><a class="reference internal" href="#changelog" id="toc-entry-2">Changelog</a><ul> +<li><a class="reference internal" href="#section-1" id="toc-entry-3">13.0.1.0.0 (2022-01-01)</a></li> +</ul> +</li> +<li><a class="reference internal" href="#bug-tracker" id="toc-entry-4">Bug Tracker</a></li> +<li><a class="reference internal" href="#credits" id="toc-entry-5">Credits</a><ul> +<li><a class="reference internal" href="#authors" id="toc-entry-6">Authors</a></li> +<li><a class="reference internal" href="#contributors" id="toc-entry-7">Contributors</a></li> +<li><a class="reference internal" href="#maintainers" id="toc-entry-8">Maintainers</a></li> +</ul> +</li> +</ul> +</div> +<div class="section" id="usage"> +<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1> +<p>Action Template - Define</p> +<ul class="simple"> +<li>Go to Management System → Configuration → Action Templates</li> +<li>Create a new Template</li> +<li>Fill fields with predefined values</li> +</ul> +<p>Action Template - Use</p> +<ul class="simple"> +<li>Go to Management System → Actions</li> +<li>Create new Action</li> +<li>Select Reference Template: the fields Title (name), Type, Responsible, +Tags and Description are filled with Template values</li> +<li>Procede with Action completion</li> +</ul> +</div> +<div class="section" id="changelog"> +<h1><a class="toc-backref" href="#toc-entry-2">Changelog</a></h1> +<div class="section" id="section-1"> +<h2><a class="toc-backref" href="#toc-entry-3">13.0.1.0.0 (2022-01-01)</a></h2> +<ul class="simple"> +<li>[INI] Migration to 13.0</li> +</ul> +</div> +</div> +<div class="section" id="bug-tracker"> +<h1><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h1> +<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/management-system/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 to smash it by providing a detailed and welcomed +<a class="reference external" href="https://github.com/OCA/management-system/issues/new?body=module:%20mgmtsystem_action_template%0Aversion:%2017.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="#toc-entry-5">Credits</a></h1> +<div class="section" id="authors"> +<h2><a class="toc-backref" href="#toc-entry-6">Authors</a></h2> +<ul class="simple"> +<li>Associazione PNLUG - Gruppo Odoo</li> +</ul> +</div> +<div class="section" id="contributors"> +<h2><a class="toc-backref" href="#toc-entry-7">Contributors</a></h2> +<ul class="simple"> +<li>Marcelo Frare <<a class="reference external" href="mailto:mf2965@gmail.com">mf2965@gmail.com</a>></li> +<li>Stefano Consolaro <<a class="reference external" href="mailto:stefano.consolaro@mymage.it">stefano.consolaro@mymage.it</a>></li> +<li>Creu Blanca</li> +<li>[Heliconia Solutions Pvt. Ltd.](<a class="reference external" href="https://www.heliconia.io">https://www.heliconia.io</a>)</li> +</ul> +</div> +<div class="section" id="maintainers"> +<h2><a class="toc-backref" href="#toc-entry-8">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>This module is part of the <a class="reference external" href="https://github.com/OCA/management-system/tree/17.0/mgmtsystem_action_template">OCA/management-system</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> diff --git a/mgmtsystem_action_template/tests/__init__.py b/mgmtsystem_action_template/tests/__init__.py new file mode 100644 index 00000000000..d7a15d33a92 --- /dev/null +++ b/mgmtsystem_action_template/tests/__init__.py @@ -0,0 +1 @@ +from . import test_action_template diff --git a/mgmtsystem_action_template/tests/test_action_template.py b/mgmtsystem_action_template/tests/test_action_template.py new file mode 100644 index 00000000000..c8181e530ea --- /dev/null +++ b/mgmtsystem_action_template/tests/test_action_template.py @@ -0,0 +1,34 @@ +from odoo import _ +from odoo.tests.common import TransactionCase + + +class TestModelNonConformity(TransactionCase): + def setUp(self): + """ + Sets some enviroment + """ + super().setUp() + + self.action_model = self.env["mgmtsystem.action"] + self.action_template_model = self.env["mgmtsystem.action.template"] + + # create a template action + self.action_template = self.action_template_model.create( + { + "name": "Test Template", + "type_action": self.action_model.search([])[0]["type_action"], + } + ) + + def test_get_template(self): + """ + Test set Action template + """ + self.action = self.action_model.search([])[0] + + self.action["template_id"] = self.action_template["id"] + self.action._onchange_template_id() + + self.assertEqual( + self.action["name"] == _("NEW") + " " + self.action_template["name"], True + ) diff --git a/mgmtsystem_action_template/views/mgmtsystem_action_template.xml b/mgmtsystem_action_template/views/mgmtsystem_action_template.xml new file mode 100644 index 00000000000..00a5228b584 --- /dev/null +++ b/mgmtsystem_action_template/views/mgmtsystem_action_template.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright 2019 Marcelo Frare (Ass, PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) + Copyright 2019 Stefano Consolaro (Ass, PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) + Copyright 2020 Creu Blanca + --> +<odoo> + + <record model="ir.ui.view" id="mgmtsystem_action_template_form_view"> + <field + name="name" + >mgmtsystem.action.template.form (in mgmtsystem_action_template)</field> + <field name="model">mgmtsystem.action.template</field> + <field name="arch" type="xml"> + <form string="Action Template"> + <header /> + <sheet string="Action Template"> + <div class="oe_title" modifiers="{}"> + <h1 class="o_row" modifiers="{}"> + <field name="name" placeholder="Template title..." /> + </h1> + </div> + <group name="main"> + <group name="config"> + <field name="type_action" /> + <field name="user_id" /> + </group> + <group name="meta"> + <field + name="tag_ids" + widget="many2many_tags" + options="{'color_field': 'color', 'no_create_edit': True}" + /> + </group> + </group> + <notebook> + <page name="desc" string="Description"> + <field name="description" nolabel="1" /> + </page> + </notebook> + </sheet> + </form> + </field> + </record> + + <record model="ir.ui.view" id="mgmtsystem_action_template_search_view"> + <field + name="name" + >mgmtsystem.action.template.search (in mgmtsystem_action_template)</field> + <field name="model">mgmtsystem.action.template</field> + <field name="arch" type="xml"> + <search> + <field name="name" /> + <field name="type_action" /> + <field name="user_id" /> + <field name="tag_ids" /> + </search> + </field> + </record> + + <record model="ir.ui.view" id="mgmtsystem_action_template_tree_view"> + <field + name="name" + >mgmtsystem.action.template.tree (in mgmtsystem_action_template)</field> + <field name="model">mgmtsystem.action.template</field> + <field name="arch" type="xml"> + <tree> + <field name="name" /> + <field name="description" /> + <field name="type_action" /> + <field name="user_id" /> + <field name="tag_ids" widget="many2many_tags" /> + </tree> + </field> + </record> + + <record model="ir.actions.act_window" id="mgmtsystem_action_template_act_window"> + <field name="name">Mgmtsystem Action Template</field> + <field name="res_model">mgmtsystem.action.template</field> + <field name="view_mode">tree,form</field> + <field name="domain">[]</field> + <field name="context">{}</field> + </record> + + <record model="ir.ui.menu" id="mgmtsystem_action_template_menu"> + <field name="name">Action Templates</field> + <field name="parent_id" ref="mgmtsystem.menu_mgmtsystem_configuration" /> + <field name="action" ref="mgmtsystem_action_template_act_window" /> + <field name="sequence" eval="5" /> + </record> + +</odoo> diff --git a/mgmtsystem_action_template/views/mgmtsystem_action_views.xml b/mgmtsystem_action_template/views/mgmtsystem_action_views.xml new file mode 100644 index 00000000000..fe69bf4563a --- /dev/null +++ b/mgmtsystem_action_template/views/mgmtsystem_action_views.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright 2019 Marcelo Frare (Ass, PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) + Copyright 2019 Stefano Consolaro (Ass, PNLUG - Gruppo Odoo <http://odoo.pnlug.it>) + Copyright 2020 Creu Blanca + --> +<odoo> + <!-- inherit action form view adding template management --> + <record id="view_mgmtsystem_action_form" model="ir.ui.view"> + <field name="name">view.mgmtsystem.action</field> + <field name="model">mgmtsystem.action</field> + <field name="inherit_id" ref="mgmtsystem_action.view_mgmtsystem_action_form" /> + <field name="arch" type="xml"> + <field name="tag_ids" position="after"> + <field name="template_id" options="{'no_create': 1, 'no_open': 1}" /> + </field> + </field> + </record> + +</odoo>