From b0fc7e8feeb34c42b974db2704703d8f35abf713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 28 Sep 2023 17:33:17 +0200 Subject: [PATCH 1/8] [ADD] maintenance_sign_oca: New module TT41745 [UPD] Update maintenance_sign_oca.pot --- maintenance_sign_oca/README.rst | 119 +++++ maintenance_sign_oca/__init__.py | 1 + maintenance_sign_oca/__manifest__.py | 23 + maintenance_sign_oca/demo/sign_oca_role.xml | 7 + .../demo/sign_oca_template.xml | 27 + maintenance_sign_oca/i18n/es.po | 89 ++++ .../i18n/maintenance_sign_oca.pot | 85 ++++ maintenance_sign_oca/models/__init__.py | 4 + .../models/maintenance_equipment.py | 77 +++ maintenance_sign_oca/models/res_company.py | 14 + .../models/res_config_settings.py | 15 + .../models/sign_oca_request.py | 23 + maintenance_sign_oca/oca_dependencies.txt | 1 + maintenance_sign_oca/readme/CONFIGURE.rst | 12 + maintenance_sign_oca/readme/CONTRIBUTORS.rst | 4 + maintenance_sign_oca/readme/DESCRIPTION.rst | 1 + maintenance_sign_oca/readme/USAGE.rst | 12 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 463 ++++++++++++++++++ maintenance_sign_oca/tests/__init__.py | 4 + .../tests/test_maintenance_sign_oca.py | 82 ++++ .../views/maintenance_equipment_views.xml | 25 + .../views/res_config_settings_view.xml | 35 ++ .../views/sign_oca_request_views.xml | 20 + 24 files changed, 1143 insertions(+) create mode 100644 maintenance_sign_oca/README.rst create mode 100644 maintenance_sign_oca/__init__.py create mode 100644 maintenance_sign_oca/__manifest__.py create mode 100644 maintenance_sign_oca/demo/sign_oca_role.xml create mode 100644 maintenance_sign_oca/demo/sign_oca_template.xml create mode 100644 maintenance_sign_oca/i18n/es.po create mode 100644 maintenance_sign_oca/i18n/maintenance_sign_oca.pot create mode 100644 maintenance_sign_oca/models/__init__.py create mode 100644 maintenance_sign_oca/models/maintenance_equipment.py create mode 100644 maintenance_sign_oca/models/res_company.py create mode 100644 maintenance_sign_oca/models/res_config_settings.py create mode 100644 maintenance_sign_oca/models/sign_oca_request.py create mode 100644 maintenance_sign_oca/oca_dependencies.txt create mode 100644 maintenance_sign_oca/readme/CONFIGURE.rst create mode 100644 maintenance_sign_oca/readme/CONTRIBUTORS.rst create mode 100644 maintenance_sign_oca/readme/DESCRIPTION.rst create mode 100644 maintenance_sign_oca/readme/USAGE.rst create mode 100644 maintenance_sign_oca/static/description/icon.png create mode 100644 maintenance_sign_oca/static/description/index.html create mode 100644 maintenance_sign_oca/tests/__init__.py create mode 100644 maintenance_sign_oca/tests/test_maintenance_sign_oca.py create mode 100644 maintenance_sign_oca/views/maintenance_equipment_views.xml create mode 100644 maintenance_sign_oca/views/res_config_settings_view.xml create mode 100644 maintenance_sign_oca/views/sign_oca_request_views.xml diff --git a/maintenance_sign_oca/README.rst b/maintenance_sign_oca/README.rst new file mode 100644 index 00000000..0780a3f9 --- /dev/null +++ b/maintenance_sign_oca/README.rst @@ -0,0 +1,119 @@ +==================== +Maintenance Sign Oca +==================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:ecf416984b52f350481812017639800fe787a50d69d6feea6e4bee0ec0cb5861 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fsign-lightgray.png?logo=github + :target: https://github.com/OCA/sign/tree/14.0/maintenance_sign_oca + :alt: OCA/sign +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/sign-14-0/sign-14-0-maintenance_sign_oca + :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/sign&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows you to make equipment signature requests manually or automatically. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +#. Go to Sign > Roles and create a new one with the following data: + +- Partner type: Expression +- Expression: ${object.owner_user_id.partner_id.id} + +#. Go to Sign > Templates and create a template with the following data: + +- Model: Maintenance Equipment +- In some of the elements you will have to set the previously created role. + +#. Go to Maintenance > Configuration > General settings. +#. Defines the template previously created (optional, only for automatic creation of signature requests). + +Usage +===== + +A smart-button will be displayed on the equipments form view of the linked Sign Requests. + +Manual Sign Request creation process: +- Go to Maintenance > Equipments and change to list view. +- Select the records that you want. +- Click on the "Wizard Sign requests" action. +- Select a template. +- Click on Generate. +- Sign Requests will have been generated (and sent) for the selected items. + +Automatic Sign Request creation process: +- When an owner is assigned to a equipment, a Sign Request will be created automatically. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_ + + * Pedro M. Baeza + * Víctor Martínez + +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-victoralmau| image:: https://github.com/victoralmau.png?size=40px + :target: https://github.com/victoralmau + :alt: victoralmau + +Current `maintainer `__: + +|maintainer-victoralmau| + +This module is part of the `OCA/sign `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/maintenance_sign_oca/__init__.py b/maintenance_sign_oca/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/maintenance_sign_oca/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/maintenance_sign_oca/__manifest__.py b/maintenance_sign_oca/__manifest__.py new file mode 100644 index 00000000..2f91da9f --- /dev/null +++ b/maintenance_sign_oca/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# Copyright 2023 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Maintenance Sign Oca", + "version": "14.0.1.0.0", + "category": "Maintenance", + "website": "https://github.com/OCA/sign", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["sign_oca", "base_maintenance_config"], + "data": [ + "views/maintenance_equipment_views.xml", + "views/res_config_settings_view.xml", + "views/sign_oca_request_views.xml", + ], + "demo": [ + "demo/sign_oca_role.xml", + "demo/sign_oca_template.xml", + ], + "installable": True, + "maintainers": ["victoralmau"], +} diff --git a/maintenance_sign_oca/demo/sign_oca_role.xml b/maintenance_sign_oca/demo/sign_oca_role.xml new file mode 100644 index 00000000..fe11224c --- /dev/null +++ b/maintenance_sign_oca/demo/sign_oca_role.xml @@ -0,0 +1,7 @@ + + + Equipment owner + expression + ${object.owner_user_id.partner_id.id} + + diff --git a/maintenance_sign_oca/demo/sign_oca_template.xml b/maintenance_sign_oca/demo/sign_oca_template.xml new file mode 100644 index 00000000..086611ec --- /dev/null +++ b/maintenance_sign_oca/demo/sign_oca_template.xml @@ -0,0 +1,27 @@ + + + Maintenance Equipment + + + + + + + + 1 + 10 + 10 + 10 + 10 + + + diff --git a/maintenance_sign_oca/i18n/es.po b/maintenance_sign_oca/i18n/es.po new file mode 100644 index 00000000..c21291a4 --- /dev/null +++ b/maintenance_sign_oca/i18n/es.po @@ -0,0 +1,89 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * maintenance_sign_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-03-06 09:56+0000\n" +"PO-Revision-Date: 2024-03-06 10:56+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: Poedit 3.0.1\n" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_res_config_settings +msgid "Config Settings" +msgstr "Opciones de configuración" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__display_name +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__display_name +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: maintenance_sign_oca +#: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.sign_oca_request_search_view +msgid "Equipment" +msgstr "Equipo" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__id +msgid "ID" +msgstr "ID" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment____last_update +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company____last_update +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_maintenance_equipment +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__maintenance_equipment_id +msgid "Maintenance Equipment" +msgstr "Equipo de mantenimiento" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__maintenance_equipment_sign_oca_template_id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__maintenance_equipment_sign_oca_template_id +msgid "Sign Oca Template" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_sign_oca_request +msgid "Sign Request" +msgstr "Solicitud de firma" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__sign_request_ids +msgid "Sign Requests" +msgstr "Solicitudes de firma" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__sign_request_count +msgid "Sign request count" +msgstr "Total solicitudes de firma" + +#. module: maintenance_sign_oca +#: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.res_config_settings_view_form +msgid "Template" +msgstr "Plantilla" diff --git a/maintenance_sign_oca/i18n/maintenance_sign_oca.pot b/maintenance_sign_oca/i18n/maintenance_sign_oca.pot new file mode 100644 index 00000000..f4f274fd --- /dev/null +++ b/maintenance_sign_oca/i18n/maintenance_sign_oca.pot @@ -0,0 +1,85 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * maintenance_sign_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__display_name +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__display_name +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__display_name +msgid "Display Name" +msgstr "" + +#. module: maintenance_sign_oca +#: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.sign_oca_request_search_view +msgid "Equipment" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__id +msgid "ID" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment____last_update +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company____last_update +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request____last_update +msgid "Last Modified on" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_maintenance_equipment +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__maintenance_equipment_id +msgid "Maintenance Equipment" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__maintenance_equipment_sign_oca_template_id +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__maintenance_equipment_sign_oca_template_id +msgid "Sign Oca Template" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model,name:maintenance_sign_oca.model_sign_oca_request +msgid "Sign Request" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__sign_request_ids +msgid "Sign Requests" +msgstr "" + +#. module: maintenance_sign_oca +#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__sign_request_count +msgid "Sign request count" +msgstr "" + +#. module: maintenance_sign_oca +#: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.res_config_settings_view_form +msgid "Template" +msgstr "" diff --git a/maintenance_sign_oca/models/__init__.py b/maintenance_sign_oca/models/__init__.py new file mode 100644 index 00000000..1fe438be --- /dev/null +++ b/maintenance_sign_oca/models/__init__.py @@ -0,0 +1,4 @@ +from . import maintenance_equipment +from . import res_company +from . import res_config_settings +from . import sign_oca_request diff --git a/maintenance_sign_oca/models/maintenance_equipment.py b/maintenance_sign_oca/models/maintenance_equipment.py new file mode 100644 index 00000000..3dc0e070 --- /dev/null +++ b/maintenance_sign_oca/models/maintenance_equipment.py @@ -0,0 +1,77 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +from odoo import api, fields, models + + +class MaintenanceEquipment(models.Model): + _inherit = "maintenance.equipment" + + # This field is stored as a help to filter by. + sign_request_ids = fields.One2many( + comodel_name="sign.oca.request", + inverse_name="maintenance_equipment_id", + string="Sign Requests", + ) + sign_request_count = fields.Integer( + string="Sign request count", + compute="_compute_sign_request_count", + compute_sudo=True, + store=True, + ) + + @api.depends("sign_request_ids") + def _compute_sign_request_count(self): + request_data = self.env["sign.oca.request"].read_group( + [("maintenance_equipment_id", "in", self.ids)], + ["maintenance_equipment_id"], + ["maintenance_equipment_id"], + ) + mapped_data = { + x["maintenance_equipment_id"][0]: x["maintenance_equipment_id_count"] + for x in request_data + } + for item in self: + item.sign_request_count = mapped_data.get(item.id, 0) + + def action_view_sign_requests(self): + self.ensure_one() + result = self.env["ir.actions.act_window"]._for_xml_id( + "sign_oca.sign_oca_request_act_window" + ) + result["domain"] = [("id", "in", self.sign_request_ids.ids)] + ctx = dict(self.env.context) + ctx.update( + { + "default_maintenance_equipment_id": self.id, + "search_default_maintenance_equipment_id": self.id, + } + ) + result["context"] = ctx + return result + + def _process_generate_sign_oca_request(self, data): + """Generate request from template if owner has changed.""" + request_model = self.env["sign.oca.request"].sudo() + for item in self.filtered("owner_user_id"): + sign_template = item.company_id.maintenance_equipment_sign_oca_template_id + old_owner_user_id = data[item.id] if item.id in data else False + if sign_template and item.owner_user_id != old_owner_user_id: + request_model.create( + sign_template._prepare_sign_oca_request_vals_from_record(item) + ) + + @api.model_create_multi + def create(self, vals_list): + res = super().create(vals_list) + if any(item.owner_user_id for item in res): + res._process_generate_sign_oca_request({}) + return res + + def write(self, vals): + owners = {} + for item in self: + owners[item.id] = item.owner_user_id + res = super().write(vals) + if vals.get("owner_user_id"): + self._process_generate_sign_oca_request(owners) + return res diff --git a/maintenance_sign_oca/models/res_company.py b/maintenance_sign_oca/models/res_company.py new file mode 100644 index 00000000..a7d42355 --- /dev/null +++ b/maintenance_sign_oca/models/res_company.py @@ -0,0 +1,14 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + maintenance_equipment_sign_oca_template_id = fields.Many2one( + comodel_name="sign.oca.template", + domain="[('model_id.model', '=', 'maintenance.equipment')]", + string="Sign Oca Template", + ) diff --git a/maintenance_sign_oca/models/res_config_settings.py b/maintenance_sign_oca/models/res_config_settings.py new file mode 100644 index 00000000..849ff1b2 --- /dev/null +++ b/maintenance_sign_oca/models/res_config_settings.py @@ -0,0 +1,15 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + maintenance_equipment_sign_oca_template_id = fields.Many2one( + comodel_name="sign.oca.template", + related="company_id.maintenance_equipment_sign_oca_template_id", + string="Sign Oca Template", + readonly=False, + ) diff --git a/maintenance_sign_oca/models/sign_oca_request.py b/maintenance_sign_oca/models/sign_oca_request.py new file mode 100644 index 00000000..8412fa3d --- /dev/null +++ b/maintenance_sign_oca/models/sign_oca_request.py @@ -0,0 +1,23 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +from odoo import api, fields, models + + +class SignOcaRequest(models.Model): + _inherit = "sign.oca.request" + + # This field is required for the inverse of maintenance.equipment. + maintenance_equipment_id = fields.Many2one( + comodel_name="maintenance.equipment", + compute="_compute_maintenance_equipment_id", + string="Maintenance Equipment", + readonly=True, + store=True, + ) + + @api.depends("record_ref") + def _compute_maintenance_equipment_id(self): + for item in self.filtered( + lambda x: x.record_ref and x.record_ref._name == "maintenance.equipment" + ): + item.maintenance_equipment_id = item.record_ref.id diff --git a/maintenance_sign_oca/oca_dependencies.txt b/maintenance_sign_oca/oca_dependencies.txt new file mode 100644 index 00000000..76b6d5a0 --- /dev/null +++ b/maintenance_sign_oca/oca_dependencies.txt @@ -0,0 +1 @@ +maintenance diff --git a/maintenance_sign_oca/readme/CONFIGURE.rst b/maintenance_sign_oca/readme/CONFIGURE.rst new file mode 100644 index 00000000..fc31e3d1 --- /dev/null +++ b/maintenance_sign_oca/readme/CONFIGURE.rst @@ -0,0 +1,12 @@ +#. Go to Sign > Roles and create a new one with the following data: + +- Partner type: Expression +- Expression: ${object.owner_user_id.partner_id.id} + +#. Go to Sign > Templates and create a template with the following data: + +- Model: Maintenance Equipment +- In some of the elements you will have to set the previously created role. + +#. Go to Maintenance > Configuration > General settings. +#. Defines the template previously created (optional, only for automatic creation of signature requests). diff --git a/maintenance_sign_oca/readme/CONTRIBUTORS.rst b/maintenance_sign_oca/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..4c9d0f2a --- /dev/null +++ b/maintenance_sign_oca/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Tecnativa `_ + + * Pedro M. Baeza + * Víctor Martínez diff --git a/maintenance_sign_oca/readme/DESCRIPTION.rst b/maintenance_sign_oca/readme/DESCRIPTION.rst new file mode 100644 index 00000000..6ad18f53 --- /dev/null +++ b/maintenance_sign_oca/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows you to make equipment signature requests manually or automatically. diff --git a/maintenance_sign_oca/readme/USAGE.rst b/maintenance_sign_oca/readme/USAGE.rst new file mode 100644 index 00000000..00b1c382 --- /dev/null +++ b/maintenance_sign_oca/readme/USAGE.rst @@ -0,0 +1,12 @@ +A smart-button will be displayed on the equipments form view of the linked Sign Requests. + +Manual Sign Request creation process: +- Go to Maintenance > Equipments and change to list view. +- Select the records that you want. +- Click on the "Wizard Sign requests" action. +- Select a template. +- Click on Generate. +- Sign Requests will have been generated (and sent) for the selected items. + +Automatic Sign Request creation process: +- When an owner is assigned to a equipment, a Sign Request will be created automatically. diff --git a/maintenance_sign_oca/static/description/icon.png b/maintenance_sign_oca/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/maintenance_sign_oca/static/description/index.html b/maintenance_sign_oca/static/description/index.html new file mode 100644 index 00000000..9ab46969 --- /dev/null +++ b/maintenance_sign_oca/static/description/index.html @@ -0,0 +1,463 @@ + + + + + + +Maintenance Sign Oca + + + +
+

Maintenance Sign Oca

+ + +

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

+

This module allows you to make equipment signature requests manually or automatically.

+

Table of contents

+ +
+

Configuration

+
    +
  1. Go to Sign > Roles and create a new one with the following data:
  2. +
+
    +
  • Partner type: Expression
  • +
  • Expression: ${object.owner_user_id.partner_id.id}
  • +
+
    +
  1. Go to Sign > Templates and create a template with the following data:
  2. +
+
    +
  • Model: Maintenance Equipment
  • +
  • In some of the elements you will have to set the previously created role.
  • +
+
    +
  1. Go to Maintenance > Configuration > General settings.
  2. +
  3. Defines the template previously created (optional, only for automatic creation of signature requests).
  4. +
+
+
+

Usage

+

A smart-button will be displayed on the equipments form view of the linked Sign Requests.

+

Manual Sign Request creation process: +- Go to Maintenance > Equipments and change to list view. +- Select the records that you want. +- Click on the “Wizard Sign requests” action. +- Select a template. +- Click on Generate. +- Sign Requests will have been generated (and sent) for the selected items.

+

Automatic Sign Request creation process: +- When an owner is assigned to a equipment, a Sign Request will be created automatically.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa
      +
    • Pedro M. Baeza
    • +
    • Víctor Martínez
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

Current maintainer:

+

victoralmau

+

This module is part of the OCA/sign project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/maintenance_sign_oca/tests/__init__.py b/maintenance_sign_oca/tests/__init__.py new file mode 100644 index 00000000..cd063128 --- /dev/null +++ b/maintenance_sign_oca/tests/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_maintenance_sign_oca diff --git a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py new file mode 100644 index 00000000..3bdb15ab --- /dev/null +++ b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py @@ -0,0 +1,82 @@ +# Copyright 2023 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.tests.common import Form, SavepointCase, new_test_user + + +class TestMaintenanceSignOca(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env( + context=dict( + cls.env.context, + mail_create_nolog=True, + mail_create_nosubscribe=True, + mail_notrack=True, + no_reset_password=True, + tracking_disable=True, + ) + ) + cls.company = cls.env.company + cls.template = cls.env.ref( + "maintenance_sign_oca.sign_oca_template_maintenance_equipment_demo" + ) + cls.model_maintenance_equipment = cls.env.ref( + "maintenance.model_maintenance_equipment" + ) + cls.user_a = new_test_user(cls.env, login="test-user-a") + cls.equipment_a = cls.env["maintenance.equipment"].create( + {"name": "Test equipment A", "owner_user_id": cls.user_a.id} + ) + cls.user_b = new_test_user(cls.env, login="test-user-b") + cls.equipment_b = cls.env["maintenance.equipment"].create( + {"name": "Test equipment B", "owner_user_id": cls.user_b.id} + ) + + def test_template_generate_multi_maintenance_equipment(self): + equipments = self.equipment_a + self.equipment_b + wizard_form = Form( + self.env["sign.oca.template.generate.multi"].with_context( + default_model="maintenance.equipment", active_ids=equipments.ids + ) + ) + wizard_form.template_id = self.template + action = wizard_form.save().generate() + requests = self.env[action["res_model"]].search(action["domain"]) + self.assertEqual(len(requests), 2) + request_a = requests.filtered( + lambda x: x.maintenance_equipment_id == self.equipment_a + ) + request_b = requests.filtered( + lambda x: x.maintenance_equipment_id == self.equipment_b + ) + self.assertIn(self.user_a.partner_id, request_a.mapped("signer_ids.partner_id")) + self.assertIn(self.user_b.partner_id, request_b.mapped("signer_ids.partner_id")) + + def test_maintenance_equipment_create(self): + self.company.maintenance_equipment_sign_oca_template_id = self.template + equipment_c = self.env["maintenance.equipment"].create( + {"name": "Test equipment C", "owner_user_id": self.user_a.id} + ) + self.assertIn( + self.user_a.partner_id, + equipment_c.sign_request_ids.mapped("signer_ids.partner_id"), + ) + + def test_maintenance_equipment_write(self): + self.company.maintenance_equipment_sign_oca_template_id = self.template + self.equipment_a.write({"owner_user_id": False}) + self.assertFalse(self.equipment_a.sign_request_ids) + self.equipment_b.write({"owner_user_id": False}) + self.assertFalse(self.equipment_b.sign_request_ids) + self.equipment_a.write({"owner_user_id": self.user_a.id}) + self.assertIn( + self.user_a.partner_id, + self.equipment_a.sign_request_ids.mapped("signer_ids.partner_id"), + ) + self.equipment_b.write({"owner_user_id": self.user_b.id}) + self.assertIn( + self.user_b.partner_id, + self.equipment_b.sign_request_ids.mapped("signer_ids.partner_id"), + ) diff --git a/maintenance_sign_oca/views/maintenance_equipment_views.xml b/maintenance_sign_oca/views/maintenance_equipment_views.xml new file mode 100644 index 00000000..1360d1be --- /dev/null +++ b/maintenance_sign_oca/views/maintenance_equipment_views.xml @@ -0,0 +1,25 @@ + + + + equipment.form + maintenance.equipment + + + +
+ +
+
+
+
diff --git a/maintenance_sign_oca/views/res_config_settings_view.xml b/maintenance_sign_oca/views/res_config_settings_view.xml new file mode 100644 index 00000000..235a7df8 --- /dev/null +++ b/maintenance_sign_oca/views/res_config_settings_view.xml @@ -0,0 +1,35 @@ + + + + + res.config.settings.view.form.inherit + res.config.settings + + + +
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/maintenance_sign_oca/views/sign_oca_request_views.xml b/maintenance_sign_oca/views/sign_oca_request_views.xml new file mode 100644 index 00000000..a7f3a25f --- /dev/null +++ b/maintenance_sign_oca/views/sign_oca_request_views.xml @@ -0,0 +1,20 @@ + + + + sign.oca.request.search + sign.oca.request + + + + + + + + + + + From 97a97cdca431a382740375f543cf266154853e24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 24 Apr 2024 16:07:48 +0200 Subject: [PATCH 2/8] [MIG] maintenance_sign_oca: Migration to 15.0 TT41745 [UPD] Update maintenance_sign_oca.pot [BOT] post-merge updates Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: sign-15.0/sign-15.0-maintenance_sign_oca Translate-URL: https://translation.odoo-community.org/projects/sign-15-0/sign-15-0-maintenance_sign_oca/ --- maintenance_sign_oca/README.rst | 16 ++++----- maintenance_sign_oca/__manifest__.py | 2 +- maintenance_sign_oca/demo/sign_oca_role.xml | 2 +- maintenance_sign_oca/i18n/es.po | 33 +++++-------------- .../i18n/maintenance_sign_oca.pot | 26 +-------------- maintenance_sign_oca/readme/CONFIGURE.rst | 2 +- maintenance_sign_oca/readme/USAGE.rst | 2 +- .../static/description/index.html | 13 ++++---- .../tests/test_maintenance_sign_oca.py | 4 +-- .../views/sign_oca_request_views.xml | 4 +++ 10 files changed, 34 insertions(+), 70 deletions(-) diff --git a/maintenance_sign_oca/README.rst b/maintenance_sign_oca/README.rst index 0780a3f9..daf2c74e 100644 --- a/maintenance_sign_oca/README.rst +++ b/maintenance_sign_oca/README.rst @@ -7,7 +7,7 @@ Maintenance Sign Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ecf416984b52f350481812017639800fe787a50d69d6feea6e4bee0ec0cb5861 + !! source digest: sha256:a735edcc3df56d25315c5a6fc3fb08d3ca2b9d1aceeb2144bb30397f3c40b93b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -17,13 +17,13 @@ Maintenance Sign Oca :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsign-lightgray.png?logo=github - :target: https://github.com/OCA/sign/tree/14.0/maintenance_sign_oca + :target: https://github.com/OCA/sign/tree/15.0/maintenance_sign_oca :alt: OCA/sign .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/sign-14-0/sign-14-0-maintenance_sign_oca + :target: https://translation.odoo-community.org/projects/sign-15-0/sign-15-0-maintenance_sign_oca :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/sign&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/sign&target_branch=15.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -38,7 +38,7 @@ This module allows you to make equipment signature requests manually or automati Configuration ============= -#. Go to Sign > Roles and create a new one with the following data: +#. Go to Sign > Settings > Roles and create a new one with the following data: - Partner type: Expression - Expression: ${object.owner_user_id.partner_id.id} @@ -59,7 +59,7 @@ A smart-button will be displayed on the equipments form view of the linked Sign Manual Sign Request creation process: - Go to Maintenance > Equipments and change to list view. - Select the records that you want. -- Click on the "Wizard Sign requests" action. +- Click on the "Sign from template" action. - Select a template. - Click on Generate. - Sign Requests will have been generated (and sent) for the selected items. @@ -73,7 +73,7 @@ Bug Tracker Bugs are tracked on `GitHub 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -114,6 +114,6 @@ Current `maintainer `__: |maintainer-victoralmau| -This module is part of the `OCA/sign `_ project on GitHub. +This module is part of the `OCA/sign `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/maintenance_sign_oca/__manifest__.py b/maintenance_sign_oca/__manifest__.py index 2f91da9f..9cdcd0a8 100644 --- a/maintenance_sign_oca/__manifest__.py +++ b/maintenance_sign_oca/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Maintenance Sign Oca", - "version": "14.0.1.0.0", + "version": "15.0.1.0.0", "category": "Maintenance", "website": "https://github.com/OCA/sign", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/maintenance_sign_oca/demo/sign_oca_role.xml b/maintenance_sign_oca/demo/sign_oca_role.xml index fe11224c..c75815db 100644 --- a/maintenance_sign_oca/demo/sign_oca_role.xml +++ b/maintenance_sign_oca/demo/sign_oca_role.xml @@ -2,6 +2,6 @@ Equipment owner expression - ${object.owner_user_id.partner_id.id} + {{object.owner_user_id.partner_id.id}} diff --git a/maintenance_sign_oca/i18n/es.po b/maintenance_sign_oca/i18n/es.po index c21291a4..75e05621 100644 --- a/maintenance_sign_oca/i18n/es.po +++ b/maintenance_sign_oca/i18n/es.po @@ -27,35 +27,11 @@ msgstr "Compañías" msgid "Config Settings" msgstr "Opciones de configuración" -#. module: maintenance_sign_oca -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__display_name -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__display_name -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__display_name -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__display_name -msgid "Display Name" -msgstr "Nombre mostrado" - #. module: maintenance_sign_oca #: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.sign_oca_request_search_view msgid "Equipment" msgstr "Equipo" -#. module: maintenance_sign_oca -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__id -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__id -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__id -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__id -msgid "ID" -msgstr "ID" - -#. module: maintenance_sign_oca -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment____last_update -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company____last_update -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings____last_update -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request____last_update -msgid "Last Modified on" -msgstr "Última modificación el" - #. module: maintenance_sign_oca #: model:ir.model,name:maintenance_sign_oca.model_maintenance_equipment #: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__maintenance_equipment_id @@ -87,3 +63,12 @@ msgstr "Total solicitudes de firma" #: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.res_config_settings_view_form msgid "Template" msgstr "Plantilla" + +#~ msgid "Display Name" +#~ msgstr "Nombre mostrado" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación el" diff --git a/maintenance_sign_oca/i18n/maintenance_sign_oca.pot b/maintenance_sign_oca/i18n/maintenance_sign_oca.pot index f4f274fd..bfcc2978 100644 --- a/maintenance_sign_oca/i18n/maintenance_sign_oca.pot +++ b/maintenance_sign_oca/i18n/maintenance_sign_oca.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 15.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -23,35 +23,11 @@ msgstr "" msgid "Config Settings" msgstr "" -#. module: maintenance_sign_oca -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__display_name -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__display_name -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__display_name -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__display_name -msgid "Display Name" -msgstr "" - #. module: maintenance_sign_oca #: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.sign_oca_request_search_view msgid "Equipment" msgstr "" -#. module: maintenance_sign_oca -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment__id -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__id -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__id -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__id -msgid "ID" -msgstr "" - -#. module: maintenance_sign_oca -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_maintenance_equipment____last_update -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company____last_update -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings____last_update -#: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request____last_update -msgid "Last Modified on" -msgstr "" - #. module: maintenance_sign_oca #: model:ir.model,name:maintenance_sign_oca.model_maintenance_equipment #: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__maintenance_equipment_id diff --git a/maintenance_sign_oca/readme/CONFIGURE.rst b/maintenance_sign_oca/readme/CONFIGURE.rst index fc31e3d1..f820b497 100644 --- a/maintenance_sign_oca/readme/CONFIGURE.rst +++ b/maintenance_sign_oca/readme/CONFIGURE.rst @@ -1,4 +1,4 @@ -#. Go to Sign > Roles and create a new one with the following data: +#. Go to Sign > Settings > Roles and create a new one with the following data: - Partner type: Expression - Expression: ${object.owner_user_id.partner_id.id} diff --git a/maintenance_sign_oca/readme/USAGE.rst b/maintenance_sign_oca/readme/USAGE.rst index 00b1c382..6d04de05 100644 --- a/maintenance_sign_oca/readme/USAGE.rst +++ b/maintenance_sign_oca/readme/USAGE.rst @@ -3,7 +3,7 @@ A smart-button will be displayed on the equipments form view of the linked Sign Manual Sign Request creation process: - Go to Maintenance > Equipments and change to list view. - Select the records that you want. -- Click on the "Wizard Sign requests" action. +- Click on the "Sign from template" action. - Select a template. - Click on Generate. - Sign Requests will have been generated (and sent) for the selected items. diff --git a/maintenance_sign_oca/static/description/index.html b/maintenance_sign_oca/static/description/index.html index 9ab46969..0a803057 100644 --- a/maintenance_sign_oca/static/description/index.html +++ b/maintenance_sign_oca/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,9 +366,9 @@

Maintenance Sign Oca

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ecf416984b52f350481812017639800fe787a50d69d6feea6e4bee0ec0cb5861 +!! source digest: sha256:a735edcc3df56d25315c5a6fc3fb08d3ca2b9d1aceeb2144bb30397f3c40b93b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

This module allows you to make equipment signature requests manually or automatically.

Table of contents

@@ -388,7 +387,7 @@

Maintenance Sign Oca

Configuration

    -
  1. Go to Sign > Roles and create a new one with the following data:
  2. +
  3. Go to Sign > Settings > Roles and create a new one with the following data:
  • Partner type: Expression
  • @@ -412,7 +411,7 @@

    Usage

    Manual Sign Request creation process: - Go to Maintenance > Equipments and change to list view. - Select the records that you want. -- Click on the “Wizard Sign requests” action. +- Click on the “Sign from template” action. - Select a template. - Click on Generate. - Sign Requests will have been generated (and sent) for the selected items.

    @@ -424,7 +423,7 @@

    Bug Tracker

    Bugs are tracked on GitHub 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.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

@@ -454,7 +453,7 @@

Maintainers

promote its widespread use.

Current maintainer:

victoralmau

-

This module is part of the OCA/sign project on GitHub.

+

This module is part of the OCA/sign project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py index 3bdb15ab..1b70829b 100644 --- a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py +++ b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py @@ -1,10 +1,10 @@ # Copyright 2023 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo.tests.common import Form, SavepointCase, new_test_user +from odoo.tests.common import Form, TransactionCase, new_test_user -class TestMaintenanceSignOca(SavepointCase): +class TestMaintenanceSignOca(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() diff --git a/maintenance_sign_oca/views/sign_oca_request_views.xml b/maintenance_sign_oca/views/sign_oca_request_views.xml index a7f3a25f..00c600f1 100644 --- a/maintenance_sign_oca/views/sign_oca_request_views.xml +++ b/maintenance_sign_oca/views/sign_oca_request_views.xml @@ -4,6 +4,10 @@ sign.oca.request.search sign.oca.request + From c043e3ef3d319d03808be55039cbb7c4c443a4da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Tue, 21 May 2024 16:17:37 +0200 Subject: [PATCH 3/8] [IMP] maintenance_sign_oca: Compatibility with hr_maintenance in tests If the hr_maintenance module is installed, the owner_user_id field is a compute so we make the tests compatible. TT41745 [BOT] post-merge updates --- maintenance_sign_oca/README.rst | 2 +- maintenance_sign_oca/__manifest__.py | 2 +- .../models/maintenance_equipment.py | 5 ++++- .../static/description/index.html | 2 +- .../tests/test_maintenance_sign_oca.py | 20 +++++++++++++------ 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/maintenance_sign_oca/README.rst b/maintenance_sign_oca/README.rst index daf2c74e..d8dee9c7 100644 --- a/maintenance_sign_oca/README.rst +++ b/maintenance_sign_oca/README.rst @@ -7,7 +7,7 @@ Maintenance Sign Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a735edcc3df56d25315c5a6fc3fb08d3ca2b9d1aceeb2144bb30397f3c40b93b + !! source digest: sha256:a976f2b8e5ba7eda050a62905c75152da7b6511e176cec73f2feb0ef2e556cb8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/maintenance_sign_oca/__manifest__.py b/maintenance_sign_oca/__manifest__.py index 9cdcd0a8..00617f46 100644 --- a/maintenance_sign_oca/__manifest__.py +++ b/maintenance_sign_oca/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Maintenance Sign Oca", - "version": "15.0.1.0.0", + "version": "15.0.1.0.1", "category": "Maintenance", "website": "https://github.com/OCA/sign", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/maintenance_sign_oca/models/maintenance_equipment.py b/maintenance_sign_oca/models/maintenance_equipment.py index 3dc0e070..3ef33425 100644 --- a/maintenance_sign_oca/models/maintenance_equipment.py +++ b/maintenance_sign_oca/models/maintenance_equipment.py @@ -1,4 +1,4 @@ -# Copyright 2023 Tecnativa - Víctor Martínez +# Copyright 2023-2024 Tecnativa - Víctor Martínez # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). from odoo import api, fields, models @@ -56,6 +56,9 @@ def _process_generate_sign_oca_request(self, data): sign_template = item.company_id.maintenance_equipment_sign_oca_template_id old_owner_user_id = data[item.id] if item.id in data else False if sign_template and item.owner_user_id != old_owner_user_id: + # Apply sudo because the user who creates the record may not have + # permissions on sign.oca.template + sign_template = sign_template.sudo() request_model.create( sign_template._prepare_sign_oca_request_vals_from_record(item) ) diff --git a/maintenance_sign_oca/static/description/index.html b/maintenance_sign_oca/static/description/index.html index 0a803057..78295e50 100644 --- a/maintenance_sign_oca/static/description/index.html +++ b/maintenance_sign_oca/static/description/index.html @@ -366,7 +366,7 @@

Maintenance Sign Oca

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:a735edcc3df56d25315c5a6fc3fb08d3ca2b9d1aceeb2144bb30397f3c40b93b +!! source digest: sha256:a976f2b8e5ba7eda050a62905c75152da7b6511e176cec73f2feb0ef2e556cb8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

This module allows you to make equipment signature requests manually or automatically.

diff --git a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py index 1b70829b..643eca8e 100644 --- a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py +++ b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py @@ -1,4 +1,4 @@ -# Copyright 2023 Tecnativa - Víctor Martínez +# Copyright 2023-2024 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo.tests.common import Form, TransactionCase, new_test_user @@ -25,12 +25,20 @@ def setUpClass(cls): cls.model_maintenance_equipment = cls.env.ref( "maintenance.model_maintenance_equipment" ) - cls.user_a = new_test_user(cls.env, login="test-user-a") - cls.equipment_a = cls.env["maintenance.equipment"].create( + cls.user_a = new_test_user( + cls.env, login="test-user-a", groups="maintenance.group_equipment_manager" + ) + # Set a default to make it compatible with hr_maintenance + cls.equipment_model = cls.env["maintenance.equipment"].with_context( + default_equipment_assign_to="other" + ) + cls.equipment_a = cls.equipment_model.with_user(cls.user_a).create( {"name": "Test equipment A", "owner_user_id": cls.user_a.id} ) - cls.user_b = new_test_user(cls.env, login="test-user-b") - cls.equipment_b = cls.env["maintenance.equipment"].create( + cls.user_b = new_test_user( + cls.env, login="test-user-b", groups="maintenance.group_equipment_manager" + ) + cls.equipment_b = cls.equipment_model.with_user(cls.user_b).create( {"name": "Test equipment B", "owner_user_id": cls.user_b.id} ) @@ -56,7 +64,7 @@ def test_template_generate_multi_maintenance_equipment(self): def test_maintenance_equipment_create(self): self.company.maintenance_equipment_sign_oca_template_id = self.template - equipment_c = self.env["maintenance.equipment"].create( + equipment_c = self.equipment_model.with_user(self.user_a).create( {"name": "Test equipment C", "owner_user_id": self.user_a.id} ) self.assertIn( From 042f41ffae1efb9e0833703aadba3ece2861bb2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 22 May 2024 14:09:38 +0000 Subject: [PATCH 4/8] Translated using Weblate (Spanish) Currently translated at 100.0% (9 of 9 strings) Translation: sign-15.0/sign-15.0-maintenance_sign_oca Translate-URL: https://translation.odoo-community.org/projects/sign-15-0/sign-15-0-maintenance_sign_oca/es/ --- maintenance_sign_oca/i18n/es.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/maintenance_sign_oca/i18n/es.po b/maintenance_sign_oca/i18n/es.po index 75e05621..884eea43 100644 --- a/maintenance_sign_oca/i18n/es.po +++ b/maintenance_sign_oca/i18n/es.po @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-06 09:56+0000\n" -"PO-Revision-Date: 2024-03-06 10:56+0100\n" -"Last-Translator: \n" +"PO-Revision-Date: 2024-05-22 16:38+0000\n" +"Last-Translator: Víctor Martínez \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: \n" -"X-Generator: Poedit 3.0.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: maintenance_sign_oca #: model:ir.model,name:maintenance_sign_oca.model_res_company @@ -42,7 +42,7 @@ msgstr "Equipo de mantenimiento" #: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_company__maintenance_equipment_sign_oca_template_id #: model:ir.model.fields,field_description:maintenance_sign_oca.field_res_config_settings__maintenance_equipment_sign_oca_template_id msgid "Sign Oca Template" -msgstr "" +msgstr "Plantilla de firma" #. module: maintenance_sign_oca #: model:ir.model,name:maintenance_sign_oca.model_sign_oca_request From ed928a1c2781754b1c5756fe03a7e146038709a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 24 May 2024 16:54:59 +0200 Subject: [PATCH 5/8] [IMP] maintenance_sign_oca: Compatibility with hr_maintenance module If hr_maintenance is installed and the owner_user_id field is compute and is not saved, several possible fields in the write() must be considered to solve it. TT41745 [BOT] post-merge updates --- maintenance_sign_oca/README.rst | 2 +- maintenance_sign_oca/__manifest__.py | 2 +- maintenance_sign_oca/models/maintenance_equipment.py | 6 +++++- maintenance_sign_oca/static/description/index.html | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/maintenance_sign_oca/README.rst b/maintenance_sign_oca/README.rst index d8dee9c7..2befaa54 100644 --- a/maintenance_sign_oca/README.rst +++ b/maintenance_sign_oca/README.rst @@ -7,7 +7,7 @@ Maintenance Sign Oca !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a976f2b8e5ba7eda050a62905c75152da7b6511e176cec73f2feb0ef2e556cb8 + !! source digest: sha256:f4baa62966fafd97bc24efb114692ffd215a02d0e64616ebd10e542294d9d5b7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/maintenance_sign_oca/__manifest__.py b/maintenance_sign_oca/__manifest__.py index 00617f46..566ac63e 100644 --- a/maintenance_sign_oca/__manifest__.py +++ b/maintenance_sign_oca/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Maintenance Sign Oca", - "version": "15.0.1.0.1", + "version": "15.0.1.0.2", "category": "Maintenance", "website": "https://github.com/OCA/sign", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/maintenance_sign_oca/models/maintenance_equipment.py b/maintenance_sign_oca/models/maintenance_equipment.py index 3ef33425..45aecb13 100644 --- a/maintenance_sign_oca/models/maintenance_equipment.py +++ b/maintenance_sign_oca/models/maintenance_equipment.py @@ -75,6 +75,10 @@ def write(self, vals): for item in self: owners[item.id] = item.owner_user_id res = super().write(vals) - if vals.get("owner_user_id"): + # Fields to be taken into account when trying to create a sign request. + # We don't need to take into account only the owner_user_id field because + # if you have installed hr_maintenance module is a compute field and the + # employee_id field will be taken into account. + if any(vals.get(fname) for fname in ["owner_user_id", "employee_id"]): self._process_generate_sign_oca_request(owners) return res diff --git a/maintenance_sign_oca/static/description/index.html b/maintenance_sign_oca/static/description/index.html index 78295e50..b346982a 100644 --- a/maintenance_sign_oca/static/description/index.html +++ b/maintenance_sign_oca/static/description/index.html @@ -366,7 +366,7 @@

Maintenance Sign Oca

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:a976f2b8e5ba7eda050a62905c75152da7b6511e176cec73f2feb0ef2e556cb8 +!! source digest: sha256:f4baa62966fafd97bc24efb114692ffd215a02d0e64616ebd10e542294d9d5b7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

This module allows you to make equipment signature requests manually or automatically.

From e0fd867caf34e4364a21a76d1927c97fbafdd883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 4 Oct 2024 08:15:43 +0200 Subject: [PATCH 6/8] [IMP] maintenance_sign_oca: pre-commit stuff --- maintenance_sign_oca/README.rst | 63 ++++++++++--------- maintenance_sign_oca/readme/CONFIGURE.md | 16 +++++ maintenance_sign_oca/readme/CONFIGURE.rst | 12 ---- maintenance_sign_oca/readme/CONTRIBUTORS.md | 3 + maintenance_sign_oca/readme/CONTRIBUTORS.rst | 4 -- .../{DESCRIPTION.rst => DESCRIPTION.md} | 3 +- maintenance_sign_oca/readme/USAGE.md | 11 ++++ maintenance_sign_oca/readme/USAGE.rst | 12 ---- .../static/description/index.html | 48 +++++++------- .../odoo/addons/maintenance_sign_oca | 1 + setup/maintenance_sign_oca/setup.py | 6 ++ 11 files changed, 99 insertions(+), 80 deletions(-) create mode 100644 maintenance_sign_oca/readme/CONFIGURE.md delete mode 100644 maintenance_sign_oca/readme/CONFIGURE.rst create mode 100644 maintenance_sign_oca/readme/CONTRIBUTORS.md delete mode 100644 maintenance_sign_oca/readme/CONTRIBUTORS.rst rename maintenance_sign_oca/readme/{DESCRIPTION.rst => DESCRIPTION.md} (73%) create mode 100644 maintenance_sign_oca/readme/USAGE.md delete mode 100644 maintenance_sign_oca/readme/USAGE.rst create mode 120000 setup/maintenance_sign_oca/odoo/addons/maintenance_sign_oca create mode 100644 setup/maintenance_sign_oca/setup.py diff --git a/maintenance_sign_oca/README.rst b/maintenance_sign_oca/README.rst index 2befaa54..0806e0ca 100644 --- a/maintenance_sign_oca/README.rst +++ b/maintenance_sign_oca/README.rst @@ -17,18 +17,19 @@ Maintenance Sign Oca :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsign-lightgray.png?logo=github - :target: https://github.com/OCA/sign/tree/15.0/maintenance_sign_oca + :target: https://github.com/OCA/sign/tree/16.0/maintenance_sign_oca :alt: OCA/sign .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/sign-15-0/sign-15-0-maintenance_sign_oca + :target: https://translation.odoo-community.org/projects/sign-16-0/sign-16-0-maintenance_sign_oca :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/sign&target_branch=15.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/sign&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module allows you to make equipment signature requests manually or automatically. +This module allows you to make equipment signature requests manually or +automatically. **Table of contents** @@ -38,34 +39,36 @@ This module allows you to make equipment signature requests manually or automati Configuration ============= -#. Go to Sign > Settings > Roles and create a new one with the following data: +1. Go to Sign > Settings > Roles and create a new one with the following + data: -- Partner type: Expression -- Expression: ${object.owner_user_id.partner_id.id} +- Partner type: Expression +- Expression: ${object.owner_user_id.partner_id.id} -#. Go to Sign > Templates and create a template with the following data: +1. Go to Sign > Templates and create a template with the following data: -- Model: Maintenance Equipment -- In some of the elements you will have to set the previously created role. +- Model: Maintenance Equipment +- In some of the elements you will have to set the previously created + role. -#. Go to Maintenance > Configuration > General settings. -#. Defines the template previously created (optional, only for automatic creation of signature requests). +1. Go to Maintenance > Configuration > General settings. +2. Defines the template previously created (optional, only for automatic + creation of signature requests). Usage ===== -A smart-button will be displayed on the equipments form view of the linked Sign Requests. +A smart-button will be displayed on the equipments form view of the +linked Sign Requests. -Manual Sign Request creation process: -- Go to Maintenance > Equipments and change to list view. -- Select the records that you want. -- Click on the "Sign from template" action. -- Select a template. -- Click on Generate. -- Sign Requests will have been generated (and sent) for the selected items. +Manual Sign Request creation process: - Go to Maintenance > Equipments +and change to list view. - Select the records that you want. - Click on +the "Sign from template" action. - Select a template. - Click on +Generate. - Sign Requests will have been generated (and sent) for the +selected items. -Automatic Sign Request creation process: -- When an owner is assigned to a equipment, a Sign Request will be created automatically. +Automatic Sign Request creation process: - When an owner is assigned to +a equipment, a Sign Request will be created automatically. Bug Tracker =========== @@ -73,7 +76,7 @@ Bug Tracker Bugs are tracked on `GitHub 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -81,20 +84,20 @@ Credits ======= Authors -~~~~~~~ +------- * Tecnativa Contributors -~~~~~~~~~~~~ +------------ -* `Tecnativa `_ +- `Tecnativa `__ - * Pedro M. Baeza - * Víctor Martínez + - Pedro M. Baeza + - Víctor Martínez Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -114,6 +117,6 @@ Current `maintainer `__: |maintainer-victoralmau| -This module is part of the `OCA/sign `_ project on GitHub. +This module is part of the `OCA/sign `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/maintenance_sign_oca/readme/CONFIGURE.md b/maintenance_sign_oca/readme/CONFIGURE.md new file mode 100644 index 00000000..7fb66dc7 --- /dev/null +++ b/maintenance_sign_oca/readme/CONFIGURE.md @@ -0,0 +1,16 @@ +1. Go to Sign \> Settings \> Roles and create a new one with the + following data: + +- Partner type: Expression +- Expression: \${object.owner_user_id.partner_id.id} + +1. Go to Sign \> Templates and create a template with the following + data: + +- Model: Maintenance Equipment +- In some of the elements you will have to set the previously created + role. + +1. Go to Maintenance \> Configuration \> General settings. +2. Defines the template previously created (optional, only for + automatic creation of signature requests). diff --git a/maintenance_sign_oca/readme/CONFIGURE.rst b/maintenance_sign_oca/readme/CONFIGURE.rst deleted file mode 100644 index f820b497..00000000 --- a/maintenance_sign_oca/readme/CONFIGURE.rst +++ /dev/null @@ -1,12 +0,0 @@ -#. Go to Sign > Settings > Roles and create a new one with the following data: - -- Partner type: Expression -- Expression: ${object.owner_user_id.partner_id.id} - -#. Go to Sign > Templates and create a template with the following data: - -- Model: Maintenance Equipment -- In some of the elements you will have to set the previously created role. - -#. Go to Maintenance > Configuration > General settings. -#. Defines the template previously created (optional, only for automatic creation of signature requests). diff --git a/maintenance_sign_oca/readme/CONTRIBUTORS.md b/maintenance_sign_oca/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..00fb4066 --- /dev/null +++ b/maintenance_sign_oca/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [Tecnativa](https://www.tecnativa.com) + - Pedro M. Baeza + - Víctor Martínez diff --git a/maintenance_sign_oca/readme/CONTRIBUTORS.rst b/maintenance_sign_oca/readme/CONTRIBUTORS.rst deleted file mode 100644 index 4c9d0f2a..00000000 --- a/maintenance_sign_oca/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,4 +0,0 @@ -* `Tecnativa `_ - - * Pedro M. Baeza - * Víctor Martínez diff --git a/maintenance_sign_oca/readme/DESCRIPTION.rst b/maintenance_sign_oca/readme/DESCRIPTION.md similarity index 73% rename from maintenance_sign_oca/readme/DESCRIPTION.rst rename to maintenance_sign_oca/readme/DESCRIPTION.md index 6ad18f53..9f09be7b 100644 --- a/maintenance_sign_oca/readme/DESCRIPTION.rst +++ b/maintenance_sign_oca/readme/DESCRIPTION.md @@ -1 +1,2 @@ -This module allows you to make equipment signature requests manually or automatically. +This module allows you to make equipment signature requests manually or +automatically. diff --git a/maintenance_sign_oca/readme/USAGE.md b/maintenance_sign_oca/readme/USAGE.md new file mode 100644 index 00000000..3ec21ddf --- /dev/null +++ b/maintenance_sign_oca/readme/USAGE.md @@ -0,0 +1,11 @@ +A smart-button will be displayed on the equipments form view of the +linked Sign Requests. + +Manual Sign Request creation process: - Go to Maintenance \> Equipments +and change to list view. - Select the records that you want. - Click on +the "Sign from template" action. - Select a template. - Click on +Generate. - Sign Requests will have been generated (and sent) for the +selected items. + +Automatic Sign Request creation process: - When an owner is assigned to +a equipment, a Sign Request will be created automatically. diff --git a/maintenance_sign_oca/readme/USAGE.rst b/maintenance_sign_oca/readme/USAGE.rst deleted file mode 100644 index 6d04de05..00000000 --- a/maintenance_sign_oca/readme/USAGE.rst +++ /dev/null @@ -1,12 +0,0 @@ -A smart-button will be displayed on the equipments form view of the linked Sign Requests. - -Manual Sign Request creation process: -- Go to Maintenance > Equipments and change to list view. -- Select the records that you want. -- Click on the "Sign from template" action. -- Select a template. -- Click on Generate. -- Sign Requests will have been generated (and sent) for the selected items. - -Automatic Sign Request creation process: -- When an owner is assigned to a equipment, a Sign Request will be created automatically. diff --git a/maintenance_sign_oca/static/description/index.html b/maintenance_sign_oca/static/description/index.html index b346982a..85134e7c 100644 --- a/maintenance_sign_oca/static/description/index.html +++ b/maintenance_sign_oca/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +: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. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +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 } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,8 +369,9 @@

Maintenance Sign Oca

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:f4baa62966fafd97bc24efb114692ffd215a02d0e64616ebd10e542294d9d5b7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

-

This module allows you to make equipment signature requests manually or automatically.

+

Beta License: AGPL-3 OCA/sign Translate me on Weblate Try me on Runboat

+

This module allows you to make equipment signature requests manually or +automatically.

Table of contents

    @@ -387,7 +389,8 @@

    Maintenance Sign Oca

    Configuration

      -
    1. Go to Sign > Settings > Roles and create a new one with the following data:
    2. +
    3. Go to Sign > Settings > Roles and create a new one with the following +data:
    • Partner type: Expression
    • @@ -398,32 +401,33 @@

      Configuration

      • Model: Maintenance Equipment
      • -
      • In some of the elements you will have to set the previously created role.
      • +
      • In some of the elements you will have to set the previously created +role.
      1. Go to Maintenance > Configuration > General settings.
      2. -
      3. Defines the template previously created (optional, only for automatic creation of signature requests).
      4. +
      5. Defines the template previously created (optional, only for automatic +creation of signature requests).

    Usage

    -

    A smart-button will be displayed on the equipments form view of the linked Sign Requests.

    -

    Manual Sign Request creation process: -- Go to Maintenance > Equipments and change to list view. -- Select the records that you want. -- Click on the “Sign from template” action. -- Select a template. -- Click on Generate. -- Sign Requests will have been generated (and sent) for the selected items.

    -

    Automatic Sign Request creation process: -- When an owner is assigned to a equipment, a Sign Request will be created automatically.

    +

    A smart-button will be displayed on the equipments form view of the +linked Sign Requests.

    +

    Manual Sign Request creation process: - Go to Maintenance > Equipments +and change to list view. - Select the records that you want. - Click on +the “Sign from template” action. - Select a template. - Click on +Generate. - Sign Requests will have been generated (and sent) for the +selected items.

    +

    Automatic Sign Request creation process: - When an owner is assigned to +a equipment, a Sign Request will be created automatically.

    Bug Tracker

    Bugs are tracked on GitHub 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.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -447,13 +451,15 @@

    Contributors

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    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.

    Current maintainer:

    victoralmau

    -

    This module is part of the OCA/sign project on GitHub.

    +

    This module is part of the OCA/sign project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/setup/maintenance_sign_oca/odoo/addons/maintenance_sign_oca b/setup/maintenance_sign_oca/odoo/addons/maintenance_sign_oca new file mode 120000 index 00000000..f9e6401a --- /dev/null +++ b/setup/maintenance_sign_oca/odoo/addons/maintenance_sign_oca @@ -0,0 +1 @@ +../../../../maintenance_sign_oca \ No newline at end of file diff --git a/setup/maintenance_sign_oca/setup.py b/setup/maintenance_sign_oca/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/maintenance_sign_oca/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 738b6ec7c70af7121e603060239a3bc4f63188d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 4 Oct 2024 08:18:20 +0200 Subject: [PATCH 7/8] [MIG] maintenance_sign_oca: Migration to 16.0 --- maintenance_sign_oca/__manifest__.py | 2 +- maintenance_sign_oca/demo/sign_oca_role.xml | 2 +- maintenance_sign_oca/i18n/es.po | 20 ------------------- .../tests/test_maintenance_sign_oca.py | 16 ++++----------- .../views/maintenance_equipment_views.xml | 5 +---- .../views/sign_oca_request_views.xml | 10 +++++----- 6 files changed, 12 insertions(+), 43 deletions(-) diff --git a/maintenance_sign_oca/__manifest__.py b/maintenance_sign_oca/__manifest__.py index 566ac63e..b878a74d 100644 --- a/maintenance_sign_oca/__manifest__.py +++ b/maintenance_sign_oca/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Maintenance Sign Oca", - "version": "15.0.1.0.2", + "version": "16.0.1.0.0", "category": "Maintenance", "website": "https://github.com/OCA/sign", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/maintenance_sign_oca/demo/sign_oca_role.xml b/maintenance_sign_oca/demo/sign_oca_role.xml index c75815db..38d7b5eb 100644 --- a/maintenance_sign_oca/demo/sign_oca_role.xml +++ b/maintenance_sign_oca/demo/sign_oca_role.xml @@ -1,7 +1,7 @@ Equipment owner - expression + expression {{object.owner_user_id.partner_id.id}} diff --git a/maintenance_sign_oca/i18n/es.po b/maintenance_sign_oca/i18n/es.po index 884eea43..4ca25e4c 100644 --- a/maintenance_sign_oca/i18n/es.po +++ b/maintenance_sign_oca/i18n/es.po @@ -21,17 +21,6 @@ msgstr "" #: model:ir.model,name:maintenance_sign_oca.model_res_company msgid "Companies" msgstr "Compañías" - -#. module: maintenance_sign_oca -#: model:ir.model,name:maintenance_sign_oca.model_res_config_settings -msgid "Config Settings" -msgstr "Opciones de configuración" - -#. module: maintenance_sign_oca -#: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.sign_oca_request_search_view -msgid "Equipment" -msgstr "Equipo" - #. module: maintenance_sign_oca #: model:ir.model,name:maintenance_sign_oca.model_maintenance_equipment #: model:ir.model.fields,field_description:maintenance_sign_oca.field_sign_oca_request__maintenance_equipment_id @@ -63,12 +52,3 @@ msgstr "Total solicitudes de firma" #: model_terms:ir.ui.view,arch_db:maintenance_sign_oca.res_config_settings_view_form msgid "Template" msgstr "Plantilla" - -#~ msgid "Display Name" -#~ msgstr "Nombre mostrado" - -#~ msgid "ID" -#~ msgstr "ID" - -#~ msgid "Last Modified on" -#~ msgstr "Última modificación el" diff --git a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py index 643eca8e..2ee98b10 100644 --- a/maintenance_sign_oca/tests/test_maintenance_sign_oca.py +++ b/maintenance_sign_oca/tests/test_maintenance_sign_oca.py @@ -1,23 +1,15 @@ # Copyright 2023-2024 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo.tests.common import Form, TransactionCase, new_test_user +from odoo.tests.common import Form, new_test_user +from odoo.addons.base.tests.common import BaseCommon -class TestMaintenanceSignOca(TransactionCase): + +class TestMaintenanceSignOca(BaseCommon): @classmethod def setUpClass(cls): super().setUpClass() - cls.env = cls.env( - context=dict( - cls.env.context, - mail_create_nolog=True, - mail_create_nosubscribe=True, - mail_notrack=True, - no_reset_password=True, - tracking_disable=True, - ) - ) cls.company = cls.env.company cls.template = cls.env.ref( "maintenance_sign_oca.sign_oca_template_maintenance_equipment_demo" diff --git a/maintenance_sign_oca/views/maintenance_equipment_views.xml b/maintenance_sign_oca/views/maintenance_equipment_views.xml index 1360d1be..6760056d 100644 --- a/maintenance_sign_oca/views/maintenance_equipment_views.xml +++ b/maintenance_sign_oca/views/maintenance_equipment_views.xml @@ -4,10 +4,6 @@ equipment.form maintenance.equipment -
    diff --git a/maintenance_sign_oca/views/sign_oca_request_views.xml b/maintenance_sign_oca/views/sign_oca_request_views.xml index 00c600f1..64ea0d80 100644 --- a/maintenance_sign_oca/views/sign_oca_request_views.xml +++ b/maintenance_sign_oca/views/sign_oca_request_views.xml @@ -4,19 +4,19 @@ sign.oca.request.search sign.oca.request - - + From 1d38e2cfcce958a6b7e55db61aa5decf50d43030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 4 Oct 2024 08:36:43 +0200 Subject: [PATCH 8/8] [IMP] sign_oca: Remove warning by several names with the same label WARNING devel odoo.addons.base.models.ir_model: Two fields (signer_id, signer_ids) of sign.oca.request() have the same label: Signer. [Modules: sign_oca and sign_oca] --- sign_oca/models/sign_oca_request.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sign_oca/models/sign_oca_request.py b/sign_oca/models/sign_oca_request.py index 719661da..137b06fb 100644 --- a/sign_oca/models/sign_oca_request.py +++ b/sign_oca/models/sign_oca_request.py @@ -60,11 +60,13 @@ class SignOcaRequest(models.Model): copy=True, readonly=True, states={"draft": [("readonly", False)]}, + string="Signers", ) signer_id = fields.Many2one( comodel_name="sign.oca.request.signer", compute="_compute_signer_id", help="The signer related to the active user.", + string="Signer", ) state = fields.Selection( [