From 36def88ee4013bf7bd849e368955817f515d65eb Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Tue, 13 Dec 2022 11:49:15 +0100 Subject: [PATCH 01/24] [ADD] maintenance_purchase --- maintenance_purchase/README.rst | 9 ++ maintenance_purchase/__init__.py | 1 + maintenance_purchase/__manifest__.py | 21 +++ maintenance_purchase/models/__init__.py | 2 + .../models/maintenance_equipment.py | 20 +++ maintenance_purchase/models/purchase_order.py | 130 ++++++++++++++++++ maintenance_purchase/readme/CONTRIBUTORS.rst | 1 + maintenance_purchase/readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../views/maintenance_equipment.xml | 16 +++ maintenance_purchase/views/purchase_order.xml | 37 +++++ 11 files changed, 238 insertions(+) create mode 100644 maintenance_purchase/README.rst create mode 100644 maintenance_purchase/__init__.py create mode 100644 maintenance_purchase/__manifest__.py create mode 100644 maintenance_purchase/models/__init__.py create mode 100644 maintenance_purchase/models/maintenance_equipment.py create mode 100644 maintenance_purchase/models/purchase_order.py create mode 100644 maintenance_purchase/readme/CONTRIBUTORS.rst create mode 100644 maintenance_purchase/readme/DESCRIPTION.rst create mode 100644 maintenance_purchase/static/description/icon.png create mode 100644 maintenance_purchase/views/maintenance_equipment.xml create mode 100644 maintenance_purchase/views/purchase_order.xml diff --git a/maintenance_purchase/README.rst b/maintenance_purchase/README.rst new file mode 100644 index 000000000..106abe337 --- /dev/null +++ b/maintenance_purchase/README.rst @@ -0,0 +1,9 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +==================== +Maintenance Purchase +==================== + +Create Equipments with purchases diff --git a/maintenance_purchase/__init__.py b/maintenance_purchase/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/maintenance_purchase/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/maintenance_purchase/__manifest__.py b/maintenance_purchase/__manifest__.py new file mode 100644 index 000000000..ea2b5da2f --- /dev/null +++ b/maintenance_purchase/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2022 CreuBlanca +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Maintenance Purchase", + "summary": """ + Create Equipments with purchases""", + "version": "14.0.1.0.0", + "license": "AGPL-3", + "author": "CreuBlanca,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/maintenance", + "depends": [ + "maintenance_account", + "purchase_stock", + ], + "data": [ + "views/purchase_order.xml", + "views/maintenance_equipment.xml", + ], + "demo": [], +} diff --git a/maintenance_purchase/models/__init__.py b/maintenance_purchase/models/__init__.py new file mode 100644 index 000000000..4bf07e135 --- /dev/null +++ b/maintenance_purchase/models/__init__.py @@ -0,0 +1,2 @@ +from . import maintenance_equipment +from . import purchase_order diff --git a/maintenance_purchase/models/maintenance_equipment.py b/maintenance_purchase/models/maintenance_equipment.py new file mode 100644 index 000000000..a0bbaaadb --- /dev/null +++ b/maintenance_purchase/models/maintenance_equipment.py @@ -0,0 +1,20 @@ +# Copyright 2022 CreuBlanca +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class MaintenanceEquipment(models.Model): + + _inherit = "maintenance.equipment" + + purchase_id = fields.Many2one( + comodel_name="purchase.order", + related="purchase_line_id.order_id", + string="Purchase", + readonly=True, + ) + purchase_line_id = fields.Many2one( + comodel_name="purchase.order.line", + readonly=True, + ) diff --git a/maintenance_purchase/models/purchase_order.py b/maintenance_purchase/models/purchase_order.py new file mode 100644 index 000000000..f0fb9bdd3 --- /dev/null +++ b/maintenance_purchase/models/purchase_order.py @@ -0,0 +1,130 @@ +# Copyright 2022 CreuBlanca +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class PurchaseOrder(models.Model): + + _inherit = "purchase.order" + + equipment_count = fields.Integer(compute="_compute_equipment_count") + + def _compute_equipment_count(self): + for item in self: + item.equipment_count = sum(item.mapped("order_line.equipment_count")) + + def unlink(self): + items = self.env["maintenance.equipment"].search( + [("purchase_id", "in", self.ids)] + ) + items.write({"purchase_line_id": False, "purchase_id": False}) + return super().unlink() + + def action_view_equipments(self): + items = self.env["maintenance.equipment"].search( + [("purchase_id", "=", self.id)] + ) + action = self.env.ref("maintenance.hr_equipment_action") + action_dict = action.sudo().read()[0] + if len(items) == 1: + res = self.env.ref("maintenance.hr_equipment_view_form", False) + action_dict["views"] = [(res and res.id or False, "form")] + action_dict["res_id"] = items.id + elif items: + action_dict["domain"] = [("purchase_id", "=", self.id)] + else: + action_dict = {"type": "ir.actions.act_window_close"} + return action_dict + + def button_approve(self, force=False): + result = super().button_approve(force=force) + equipment_model = self.env["maintenance.equipment"] + for order in self.filtered(lambda po: po.state in ("purchase", "done")): + for line in order.order_line.filtered( + lambda x: ( + not x.equipment_ids + and x.product_id + and x.product_id.product_tmpl_id.maintenance_ok + ) + ): + if not line.equipment_category_id: + line._set_equipment_category() + # Create equipments + limit = int(line.product_qty) + 1 + vals = line._prepare_equipment_vals() + equipment_ids = [] + for _i in range(1, limit): + equipment = equipment_model.create(vals) + equipment_ids.append((4, equipment.id)) + line.equipment_ids = equipment_ids + return result + + +class PurchaseOrderLine(models.Model): + _inherit = "purchase.order.line" + + equipment_category_id = fields.Many2one( + comodel_name="maintenance.equipment.category", + string="Equipment Category", + compute="_compute_equipment_category_id", + store=True, + readonly=False, + ) + equipment_ids = fields.Many2many( + comodel_name="maintenance.equipment", + string="Equipments", + ) + equipment_count = fields.Integer(compute="_compute_equipment_count") + + @api.depends("product_id") + def _compute_equipment_category_id(self): + for item in self: + if ( + item.product_id.maintenance_ok + and item.product_id.product_tmpl_id.categ_id.equipment_category_ids + ): + item.equipment_category_id = fields.first( + item.product_id.product_tmpl_id.categ_id.equipment_category_ids + ) + else: + item.equipment_category_id = item.equipment_category_id + + def _compute_equipment_count(self): + data = self.env["maintenance.equipment"].read_group( + [("purchase_line_id", "in", self.ids)], + ["purchase_line_id"], + ["purchase_line_id"], + ) + mapping = {x["purchase_line_id"][0]: x["purchase_line_id_count"] for x in data} + for item in self: + item.equipment_count = mapping.get(item.id, 0) + + def _prepare_equipment_category_vals(self): + categ = self.product_id.product_tmpl_id.categ_id + return {"name": categ.name, "product_category_id": categ.id} + + def _set_equipment_category(self): + if not self.equipment_category_id: + category_model = self.env["maintenance.equipment.category"] + category = category_model.create(self._prepare_equipment_category_vals()) + self.equipment_category_id = category.id + + def _prepare_equipment_vals(self): + return { + "purchase_line_id": self.id, + "name": self.product_id.name, + "product_id": self.product_id.id, + "category_id": self.equipment_category_id.id, + "assign_date": self.order_id.date_order, + "effective_date": self.order_id.date_planned, + "partner_id": self.order_id.partner_id.id, + "partner_ref": self.order_id.partner_ref, + } + + def _prepare_account_move_line(self, move=False): + result = super()._prepare_account_move_line(move=move) + result["equipment_ids"] = [ + (4, equipment.id) for equipment in self.equipment_ids + ] + return result diff --git a/maintenance_purchase/readme/CONTRIBUTORS.rst b/maintenance_purchase/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..85004765b --- /dev/null +++ b/maintenance_purchase/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Enric Tobella diff --git a/maintenance_purchase/readme/DESCRIPTION.rst b/maintenance_purchase/readme/DESCRIPTION.rst new file mode 100644 index 000000000..074be9a5d --- /dev/null +++ b/maintenance_purchase/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Create Equipments when the purchase is validated. diff --git a/maintenance_purchase/static/description/icon.png b/maintenance_purchase/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_purchase/views/maintenance_equipment.xml b/maintenance_purchase/views/maintenance_equipment.xml new file mode 100644 index 000000000..02f05cc50 --- /dev/null +++ b/maintenance_purchase/views/maintenance_equipment.xml @@ -0,0 +1,16 @@ + + + + + equipment.form + maintenance.equipment + + + + + + + + + diff --git a/maintenance_purchase/views/purchase_order.xml b/maintenance_purchase/views/purchase_order.xml new file mode 100644 index 000000000..9239a3385 --- /dev/null +++ b/maintenance_purchase/views/purchase_order.xml @@ -0,0 +1,37 @@ + + + + + + purchase.order.form (in maintenance_purchase) + purchase.order + + + + + + + + + + + + + + From 6eb27ce95416f653fc33eace3f22c6b66c11e219 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 30 Dec 2022 15:58:23 +0000 Subject: [PATCH 02/24] [UPD] Update maintenance_purchase.pot --- .../i18n/maintenance_purchase.pot | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 maintenance_purchase/i18n/maintenance_purchase.pot diff --git a/maintenance_purchase/i18n/maintenance_purchase.pot b/maintenance_purchase/i18n/maintenance_purchase.pot new file mode 100644 index 000000000..b99fdce61 --- /dev/null +++ b/maintenance_purchase/i18n/maintenance_purchase.pot @@ -0,0 +1,81 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * maintenance_purchase +# +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_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__display_name +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_category_id +msgid "Equipment Category" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__equipment_count +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_count +msgid "Equipment Count" +msgstr "" + +#. module: maintenance_purchase +#: model_terms:ir.ui.view,arch_db:maintenance_purchase.purchase_order_form_view +msgid "Equipment(s)" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_ids +msgid "Equipments" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__id +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment____last_update +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model,name:maintenance_purchase.model_maintenance_equipment +msgid "Maintenance Equipment" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__purchase_id +msgid "Purchase" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__purchase_line_id +msgid "Purchase Line" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model,name:maintenance_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model,name:maintenance_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" From e714e3e08be50daecb0617d92bb9850be3932d2b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 30 Dec 2022 16:10:52 +0000 Subject: [PATCH 03/24] [UPD] README.rst --- maintenance_purchase/README.rst | 74 +++- .../static/description/index.html | 419 ++++++++++++++++++ 2 files changed, 488 insertions(+), 5 deletions(-) create mode 100644 maintenance_purchase/static/description/index.html diff --git a/maintenance_purchase/README.rst b/maintenance_purchase/README.rst index 106abe337..34bba0eb5 100644 --- a/maintenance_purchase/README.rst +++ b/maintenance_purchase/README.rst @@ -1,9 +1,73 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ==================== Maintenance Purchase ==================== -Create Equipments with purchases +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fmaintenance-lightgray.png?logo=github + :target: https://github.com/OCA/maintenance/tree/14.0/maintenance_purchase + :alt: OCA/maintenance +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/maintenance-14-0/maintenance-14-0-maintenance_purchase + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/240/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Create Equipments when the purchase is validated. + +**Table of contents** + +.. contents:: + :local: + +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 smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* CreuBlanca + +Contributors +~~~~~~~~~~~~ + +* Enric Tobella + +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/maintenance `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/maintenance_purchase/static/description/index.html b/maintenance_purchase/static/description/index.html new file mode 100644 index 000000000..0e520b38b --- /dev/null +++ b/maintenance_purchase/static/description/index.html @@ -0,0 +1,419 @@ + + + + + + +Maintenance Purchase + + + +
+

Maintenance Purchase

+ + +

Beta License: AGPL-3 OCA/maintenance Translate me on Weblate Try me on Runbot

+

Create Equipments when the purchase is validated.

+

Table of contents

+ +
+

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 smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • CreuBlanca
  • +
+
+
+

Contributors

+
    +
  • Enric Tobella
  • +
+
+
+

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.

+

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

+

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

+
+
+
+ + From 4381d3fe38b9c878459ae5ace774c322f0e7ba5e Mon Sep 17 00:00:00 2001 From: mymage Date: Sun, 1 Jan 2023 10:41:49 +0000 Subject: [PATCH 04/24] Added translation using Weblate (Italian) --- maintenance_purchase/i18n/it.po | 82 +++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 maintenance_purchase/i18n/it.po diff --git a/maintenance_purchase/i18n/it.po b/maintenance_purchase/i18n/it.po new file mode 100644 index 000000000..fa5fb6b14 --- /dev/null +++ b/maintenance_purchase/i18n/it.po @@ -0,0 +1,82 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * maintenance_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__display_name +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_category_id +msgid "Equipment Category" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__equipment_count +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_count +msgid "Equipment Count" +msgstr "" + +#. module: maintenance_purchase +#: model_terms:ir.ui.view,arch_db:maintenance_purchase.purchase_order_form_view +msgid "Equipment(s)" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_ids +msgid "Equipments" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__id +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment____last_update +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model,name:maintenance_purchase.model_maintenance_equipment +msgid "Maintenance Equipment" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__purchase_id +msgid "Purchase" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__purchase_line_id +msgid "Purchase Line" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model,name:maintenance_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "" + +#. module: maintenance_purchase +#: model:ir.model,name:maintenance_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" From 7681cccb52575ea65a9d009ac5bdad053a624ff4 Mon Sep 17 00:00:00 2001 From: mymage Date: Sun, 1 Jan 2023 10:44:29 +0000 Subject: [PATCH 05/24] Translated using Weblate (Italian) Currently translated at 100.0% (12 of 12 strings) Translation: maintenance-14.0/maintenance-14.0-maintenance_purchase Translate-URL: https://translation.odoo-community.org/projects/maintenance-14-0/maintenance-14-0-maintenance_purchase/it/ --- maintenance_purchase/i18n/it.po | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/maintenance_purchase/i18n/it.po b/maintenance_purchase/i18n/it.po index fa5fb6b14..2932644cc 100644 --- a/maintenance_purchase/i18n/it.po +++ b/maintenance_purchase/i18n/it.po @@ -6,77 +6,79 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2023-01-01 12:45+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\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.14.1\n" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__display_name #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_category_id msgid "Equipment Category" -msgstr "" +msgstr "Categoria attrezzatura" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__equipment_count #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_count msgid "Equipment Count" -msgstr "" +msgstr "Conteggio attrezzatura" #. module: maintenance_purchase #: model_terms:ir.ui.view,arch_db:maintenance_purchase.purchase_order_form_view msgid "Equipment(s)" -msgstr "" +msgstr "Attrezzatura(e)" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__equipment_ids msgid "Equipments" -msgstr "" +msgstr "Attrezzature" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__id #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment____last_update #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:maintenance_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: maintenance_purchase #: model:ir.model,name:maintenance_purchase.model_maintenance_equipment msgid "Maintenance Equipment" -msgstr "" +msgstr "Attrezzatura menutenzione" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__purchase_id msgid "Purchase" -msgstr "" +msgstr "Acquisto" #. module: maintenance_purchase #: model:ir.model.fields,field_description:maintenance_purchase.field_maintenance_equipment__purchase_line_id msgid "Purchase Line" -msgstr "" +msgstr "Riga acquisto" #. module: maintenance_purchase #: model:ir.model,name:maintenance_purchase.model_purchase_order msgid "Purchase Order" -msgstr "" +msgstr "Ordine acquisto" #. module: maintenance_purchase #: model:ir.model,name:maintenance_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Riga ordine acquisto" From 3205d3b489a4f5c3fe314bdf6c87df68d160e51b Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Mon, 2 Jan 2023 10:22:19 +0000 Subject: [PATCH 06/24] Translated using Weblate (Italian) Currently translated at 100.0% (12 of 12 strings) Translation: maintenance-14.0/maintenance-14.0-maintenance_purchase Translate-URL: https://translation.odoo-community.org/projects/maintenance-14-0/maintenance-14-0-maintenance_purchase/it/ --- maintenance_purchase/i18n/it.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/maintenance_purchase/i18n/it.po b/maintenance_purchase/i18n/it.po index 2932644cc..8e309cc5b 100644 --- a/maintenance_purchase/i18n/it.po +++ b/maintenance_purchase/i18n/it.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-01-01 12:45+0000\n" -"Last-Translator: mymage \n" +"PO-Revision-Date: 2023-01-02 12:45+0000\n" +"Last-Translator: Francesco Foresti \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" @@ -76,9 +76,9 @@ msgstr "Riga acquisto" #. module: maintenance_purchase #: model:ir.model,name:maintenance_purchase.model_purchase_order msgid "Purchase Order" -msgstr "Ordine acquisto" +msgstr "Ordine di acquisto" #. module: maintenance_purchase #: model:ir.model,name:maintenance_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "Riga ordine acquisto" +msgstr "Riga ordine di acquisto" From 9a49619f84e18fb414a634cf0c664a3303e671c1 Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Wed, 1 Mar 2023 12:49:32 +0100 Subject: [PATCH 07/24] [FIX] maintenance_purchase: Check if the category has an equipment category before creating it --- maintenance_purchase/models/purchase_order.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/maintenance_purchase/models/purchase_order.py b/maintenance_purchase/models/purchase_order.py index f0fb9bdd3..8abee0cc6 100644 --- a/maintenance_purchase/models/purchase_order.py +++ b/maintenance_purchase/models/purchase_order.py @@ -106,8 +106,14 @@ def _prepare_equipment_category_vals(self): def _set_equipment_category(self): if not self.equipment_category_id: - category_model = self.env["maintenance.equipment.category"] - category = category_model.create(self._prepare_equipment_category_vals()) + category_model = self.env["maintenance.equipment.category"].sudo() + category = fields.first( + self.product_id.product_tmpl_id.categ_id.equipment_category_ids + ) + if not category: + category = category_model.create( + self._prepare_equipment_category_vals() + ) self.equipment_category_id = category.id def _prepare_equipment_vals(self): From 79c44824eb8d70cc852f1dfa3089795af8126b2d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 6 Mar 2023 18:30:24 +0000 Subject: [PATCH 08/24] maintenance_purchase 14.0.1.0.1 --- maintenance_purchase/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintenance_purchase/__manifest__.py b/maintenance_purchase/__manifest__.py index ea2b5da2f..4496b0309 100644 --- a/maintenance_purchase/__manifest__.py +++ b/maintenance_purchase/__manifest__.py @@ -5,7 +5,7 @@ "name": "Maintenance Purchase", "summary": """ Create Equipments with purchases""", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "author": "CreuBlanca,Odoo Community Association (OCA)", "website": "https://github.com/OCA/maintenance", From 7b512ac6b9657b1cbe1bcf46debfbfa3e3afbb75 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sun, 3 Sep 2023 14:17:30 +0000 Subject: [PATCH 09/24] [UPD] README.rst --- maintenance_purchase/README.rst | 15 ++++---- .../static/description/index.html | 34 ++++++++++--------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/maintenance_purchase/README.rst b/maintenance_purchase/README.rst index 34bba0eb5..ef20b981e 100644 --- a/maintenance_purchase/README.rst +++ b/maintenance_purchase/README.rst @@ -2,10 +2,13 @@ Maintenance Purchase ==================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:58f06e4208aa75ef77318f81314a96c99de667c72f291afe74f431c84c97fd17 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Maintenance Purchase .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/maintenance-14-0/maintenance-14-0-maintenance_purchase :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/240/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/maintenance&target_branch=14.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| Create Equipments when the purchase is validated. @@ -37,7 +40,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 smashing it by providing a detailed and welcomed +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. diff --git a/maintenance_purchase/static/description/index.html b/maintenance_purchase/static/description/index.html index 0e520b38b..c05a9edb2 100644 --- a/maintenance_purchase/static/description/index.html +++ b/maintenance_purchase/static/description/index.html @@ -1,20 +1,20 @@ - + - + Maintenance Purchase -
-

Maintenance Purchase

+
+ + +Odoo Community Association + +
+

Maintenance Purchase

-

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

+

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

Create Equipments when the purchase is validated.

Table of contents

@@ -384,7 +389,7 @@

Maintenance Purchase

-

Bug Tracker

+

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 @@ -392,21 +397,21 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • CreuBlanca
-

Contributors

+

Contributors

  • Enric Tobella
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -419,5 +424,6 @@

Maintainers

+
From 36ef264ca82c7699ac2e44c113093da0bdf788b0 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Thu, 9 Apr 2026 15:25:56 +0200 Subject: [PATCH 24/24] [BACKPORT] maintenance_purchase: Backport from 18.0 to 17.0 --- maintenance_purchase/README.rst | 18 +++++------- maintenance_purchase/__manifest__.py | 3 +- .../static/description/index.html | 28 ++++++++----------- maintenance_purchase/views/purchase_order.xml | 2 +- 4 files changed, 21 insertions(+), 30 deletions(-) diff --git a/maintenance_purchase/README.rst b/maintenance_purchase/README.rst index f5763b981..dfc91c0e1 100644 --- a/maintenance_purchase/README.rst +++ b/maintenance_purchase/README.rst @@ -1,7 +1,3 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - ==================== Maintenance Purchase ==================== @@ -17,17 +13,17 @@ Maintenance Purchase .. |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/license-AGPL--3-blue.png +.. |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%2Fmaintenance-lightgray.png?logo=github - :target: https://github.com/OCA/maintenance/tree/18.0/maintenance_purchase + :target: https://github.com/OCA/maintenance/tree/17.0/maintenance_purchase :alt: OCA/maintenance .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/maintenance-18-0/maintenance-18-0-maintenance_purchase + :target: https://translation.odoo-community.org/projects/maintenance-17-0/maintenance-17-0-maintenance_purchase :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/maintenance&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/maintenance&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -45,7 +41,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. @@ -60,7 +56,7 @@ Authors Contributors ------------ -- Enric Tobella +- Enric Tobella Maintainers ----------- @@ -75,6 +71,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/maintenance `_ project on GitHub. +This module is part of the `OCA/maintenance `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/maintenance_purchase/__manifest__.py b/maintenance_purchase/__manifest__.py index 9358d0db5..64d63d926 100644 --- a/maintenance_purchase/__manifest__.py +++ b/maintenance_purchase/__manifest__.py @@ -5,11 +5,12 @@ "name": "Maintenance Purchase", "summary": """ Create Equipments with purchases""", - "version": "18.0.1.0.0", + "version": "17.0.1.0.0", "license": "AGPL-3", "author": "CreuBlanca,Odoo Community Association (OCA)", "website": "https://github.com/OCA/maintenance", "depends": [ + "maintenance", "purchase", ], "data": [ diff --git a/maintenance_purchase/static/description/index.html b/maintenance_purchase/static/description/index.html index 16b3c8251..d8c5b06a7 100644 --- a/maintenance_purchase/static/description/index.html +++ b/maintenance_purchase/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Maintenance Purchase -
+
+

Maintenance Purchase

- - -Odoo Community Association - -
-

Maintenance Purchase

-

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

+

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

Create Equipments when the purchase is validated.

Table of contents

@@ -389,29 +384,29 @@

Maintenance Purchase

-

Bug Tracker

+

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.

-

Credits

+

Credits

-

Authors

+

Authors

  • CreuBlanca
-

Contributors

+

Contributors

  • Enric Tobella
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -419,11 +414,10 @@

Maintainers

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/maintenance project on GitHub.

+

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

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

-
diff --git a/maintenance_purchase/views/purchase_order.xml b/maintenance_purchase/views/purchase_order.xml index 9650a0fe4..ae2556c71 100644 --- a/maintenance_purchase/views/purchase_order.xml +++ b/maintenance_purchase/views/purchase_order.xml @@ -23,7 +23,7 @@