From 3f6ec5f606aeb960c2b55f59bf6b5665a0445611 Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Wed, 22 Nov 2023 20:13:31 +0100 Subject: [PATCH 01/21] [ADD] fleet_vehicle_purchase --- fleet_vehicle_purchase/README.rst | 76 ++++ fleet_vehicle_purchase/__init__.py | 1 + fleet_vehicle_purchase/__manifest__.py | 21 + fleet_vehicle_purchase/models/__init__.py | 2 + .../models/fleet_vehicle.py | 31 ++ .../models/purchase_order.py | 21 + .../readme/CONTRIBUTORS.rst | 1 + fleet_vehicle_purchase/readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 421 ++++++++++++++++++ fleet_vehicle_purchase/tests/__init__.py | 1 + fleet_vehicle_purchase/tests/test_purchase.py | 62 +++ .../views/fleet_vehicle.xml | 31 ++ .../views/purchase_order.xml | 29 ++ 14 files changed, 698 insertions(+) create mode 100644 fleet_vehicle_purchase/README.rst create mode 100644 fleet_vehicle_purchase/__init__.py create mode 100644 fleet_vehicle_purchase/__manifest__.py create mode 100644 fleet_vehicle_purchase/models/__init__.py create mode 100644 fleet_vehicle_purchase/models/fleet_vehicle.py create mode 100644 fleet_vehicle_purchase/models/purchase_order.py create mode 100644 fleet_vehicle_purchase/readme/CONTRIBUTORS.rst create mode 100644 fleet_vehicle_purchase/readme/DESCRIPTION.rst create mode 100644 fleet_vehicle_purchase/static/description/icon.png create mode 100644 fleet_vehicle_purchase/static/description/index.html create mode 100644 fleet_vehicle_purchase/tests/__init__.py create mode 100644 fleet_vehicle_purchase/tests/test_purchase.py create mode 100644 fleet_vehicle_purchase/views/fleet_vehicle.xml create mode 100644 fleet_vehicle_purchase/views/purchase_order.xml diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst new file mode 100644 index 000000000..092d11ef1 --- /dev/null +++ b/fleet_vehicle_purchase/README.rst @@ -0,0 +1,76 @@ +====================== +Fleet Vehicle Purchase +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:05acad389aa61f332e9110e3211c532f4da708078ec72a1f63d4747fc3ffae13 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Ffleet-lightgray.png?logo=github + :target: https://github.com/OCA/fleet/tree/14.0/fleet_vehicle_purchase + :alt: OCA/fleet +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_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/fleet&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Allow to define fleet vehicles on Purchase Orders in order to inherit them properly + +**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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Dixmit + +Contributors +~~~~~~~~~~~~ + +* Enric Tobella - Dixmit + +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/fleet `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fleet_vehicle_purchase/__init__.py b/fleet_vehicle_purchase/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/fleet_vehicle_purchase/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py new file mode 100644 index 000000000..b3fd3d3da --- /dev/null +++ b/fleet_vehicle_purchase/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Fleet Vehicle Purchase", + "summary": """ + Allow to integrate Purcase with Fleet Vehicles""", + "version": "14.0.1.0.0", + "license": "AGPL-3", + "author": "Dixmit,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/fleet", + "depends": [ + "account_fleet", + "purchase", + ], + "data": [ + "views/fleet_vehicle.xml", + "views/purchase_order.xml", + ], + "demo": [], +} diff --git a/fleet_vehicle_purchase/models/__init__.py b/fleet_vehicle_purchase/models/__init__.py new file mode 100644 index 000000000..f84e673bc --- /dev/null +++ b/fleet_vehicle_purchase/models/__init__.py @@ -0,0 +1,2 @@ +from . import purchase_order +from . import fleet_vehicle diff --git a/fleet_vehicle_purchase/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py new file mode 100644 index 000000000..1950083b7 --- /dev/null +++ b/fleet_vehicle_purchase/models/fleet_vehicle.py @@ -0,0 +1,31 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class FleetVehicle(models.Model): + + _inherit = "fleet.vehicle" + + purchase_order_ids = fields.One2many( + "purchase.order", inverse_name="fleet_vehicle_id" + ) + purchase_order_count = fields.Integer(compute="_compute_purchase_order_count") + + @api.depends("purchase_order_ids") + def _compute_purchase_order_count(self): + for record in self: + record.purchase_order_count = len(record.purchase_order_ids) + + def action_view_purchase_orders(self): + self.ensure_one() + result = self.env["ir.actions.act_window"]._for_xml_id( + "purchase.purchase_form_action" + ) + result.update( + { + "domain": [("fleet_vehicle_id", "=", self.id)], + } + ) + return result diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py new file mode 100644 index 000000000..1e6ffdb54 --- /dev/null +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -0,0 +1,21 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class PurchaseOrder(models.Model): + + _inherit = "purchase.order" + + fleet_vehicle_id = fields.Many2one("fleet.vehicle", string="Vehicle") + + +class PurchaseOrderLine(models.Model): + + _inherit = "purchase.order.line" + + def _prepare_account_move_line(self): + result = super()._prepare_account_move_line() + result["vehicle_id"] = self.order_id.fleet_vehicle_id.id + return result diff --git a/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst b/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..10f2a7f87 --- /dev/null +++ b/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Enric Tobella - Dixmit diff --git a/fleet_vehicle_purchase/readme/DESCRIPTION.rst b/fleet_vehicle_purchase/readme/DESCRIPTION.rst new file mode 100644 index 000000000..e5a445ec4 --- /dev/null +++ b/fleet_vehicle_purchase/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Allow to define fleet vehicles on Purchase Orders in order to inherit them properly diff --git a/fleet_vehicle_purchase/static/description/icon.png b/fleet_vehicle_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/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html new file mode 100644 index 000000000..ca2a0630f --- /dev/null +++ b/fleet_vehicle_purchase/static/description/index.html @@ -0,0 +1,421 @@ + + + + + + +Fleet Vehicle Purchase + + + +
+

Fleet Vehicle Purchase

+ + +

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

+

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Dixmit
  • +
+
+
+

Contributors

+
    +
  • Enric Tobella - Dixmit
  • +
+
+
+

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

+

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

+
+
+
+ + diff --git a/fleet_vehicle_purchase/tests/__init__.py b/fleet_vehicle_purchase/tests/__init__.py new file mode 100644 index 000000000..5f85fc3d3 --- /dev/null +++ b/fleet_vehicle_purchase/tests/__init__.py @@ -0,0 +1 @@ +from . import test_purchase diff --git a/fleet_vehicle_purchase/tests/test_purchase.py b/fleet_vehicle_purchase/tests/test_purchase.py new file mode 100644 index 000000000..4d7a654bb --- /dev/null +++ b/fleet_vehicle_purchase/tests/test_purchase.py @@ -0,0 +1,62 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields +from odoo.tests.common import Form, SavepointCase + + +class TestPurchase(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.brand = cls.env["fleet.vehicle.model.brand"].create( + { + "name": "Audi", + } + ) + cls.model = cls.env["fleet.vehicle.model"].create( + { + "brand_id": cls.brand.id, + "name": "A3", + } + ) + cls.car_1 = cls.env["fleet.vehicle"].create( + { + "model_id": cls.model.id, + "driver_id": cls.env.user.partner_id.id, + "plan_to_change_car": False, + } + ) + cls.product = cls.env["product.product"].create( + { + "name": "product", + "type": "service", + } + ) + + def test_purchase(self): + self.assertEqual(0, self.car_1.purchase_order_count) + order_action = self.car_1.action_view_purchase_orders() + self.assertFalse( + self.env[order_action["res_model"]].search(order_action["domain"]) + ) + with Form(self.env["purchase.order"]) as form: + form.partner_id = self.env.user.partner_id + form.fleet_vehicle_id = self.car_1 + with form.order_line.new() as form_line: + form_line.product_id = self.product + form_line.price_unit = 100 + self.assertEqual(1, self.car_1.purchase_order_count) + purchase = form.save() + self.assertEqual( + purchase, self.env[order_action["res_model"]].search(order_action["domain"]) + ) + purchase.button_confirm() + purchase.order_line.qty_received = 1 + invoice_action = purchase.action_create_invoice() + invoice = self.env[invoice_action["res_model"]].browse(invoice_action["res_id"]) + invoice.invoice_date = fields.Date.today() + self.assertTrue(invoice.invoice_line_ids.vehicle_id) + self.assertFalse(self.car_1.log_services) + invoice.action_post() + self.assertTrue(self.car_1.log_services) diff --git a/fleet_vehicle_purchase/views/fleet_vehicle.xml b/fleet_vehicle_purchase/views/fleet_vehicle.xml new file mode 100644 index 000000000..5d4a6d6e0 --- /dev/null +++ b/fleet_vehicle_purchase/views/fleet_vehicle.xml @@ -0,0 +1,31 @@ + + + + + + fleet.vehicle.form (in fleet_vehicle_purchase) + fleet.vehicle + + +
+ +
+
+
+ + +
diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml new file mode 100644 index 000000000..29d30b070 --- /dev/null +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -0,0 +1,29 @@ + + + + + + purchase.order.form (in fleet_vehicle_purchase) + purchase.order + + + + + + + + + + purchase.order.search (in fleet_vehicle_purchase) + purchase.order + + + + + + + + + + From d224abdfd4525c77fe5254841b23afdb9c1d4143 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 27 Feb 2024 14:08:26 +0000 Subject: [PATCH 02/21] [UPD] Update fleet_vehicle_purchase.pot --- .../i18n/fleet_vehicle_purchase.pot | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot diff --git a/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot new file mode 100644 index 000000000..a2c7a3db7 --- /dev/null +++ b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_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: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From 2559f7502463a88d1d830f2bbb9ac37388e79f18 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 27 Feb 2024 14:10:58 +0000 Subject: [PATCH 03/21] [BOT] post-merge updates --- fleet_vehicle_purchase/README.rst | 2 +- fleet_vehicle_purchase/static/description/index.html | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index 092d11ef1..31ab5a318 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -7,7 +7,7 @@ Fleet Vehicle Purchase !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:05acad389aa61f332e9110e3211c532f4da708078ec72a1f63d4747fc3ffae13 + !! source digest: sha256:5dd174e74baf04f3397e05e892f40ea552a6fafb3a0659b95511e290bb83ee91 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index ca2a0630f..6a3683e45 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Fleet Vehicle Purchase

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:05acad389aa61f332e9110e3211c532f4da708078ec72a1f63d4747fc3ffae13 +!! source digest: sha256:5dd174e74baf04f3397e05e892f40ea552a6fafb3a0659b95511e290bb83ee91 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

From d482243c4d71e6d109d9f9f3b824d153a16c3ffd Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Tue, 19 Mar 2024 06:57:56 +0000 Subject: [PATCH 04/21] Added translation using Weblate (Spanish) --- fleet_vehicle_purchase/i18n/es.po | 68 +++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/es.po diff --git a/fleet_vehicle_purchase/i18n/es.po b/fleet_vehicle_purchase/i18n/es.po new file mode 100644 index 000000000..f3ee5ca72 --- /dev/null +++ b/fleet_vehicle_purchase/i18n/es.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_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: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From 6a9c04427e3aa7942ce670317d86cee2d806130a Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Tue, 19 Mar 2024 06:58:27 +0000 Subject: [PATCH 05/21] Translated using Weblate (Spanish) Currently translated at 100.0% (9 of 9 strings) Translation: fleet-14.0/fleet-14.0-fleet_vehicle_purchase Translate-URL: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase/es/ --- fleet_vehicle_purchase/i18n/es.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/es.po b/fleet_vehicle_purchase/i18n/es.po index f3ee5ca72..f561d290c 100644 --- a/fleet_vehicle_purchase/i18n/es.po +++ b/fleet_vehicle_purchase/i18n/es.po @@ -6,63 +6,65 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-03-19 08:36+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "Purcase Orders" -msgstr "" +msgstr "Órdenes de compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids msgid "Purchase Order" -msgstr "" +msgstr "Orden de Compra" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Recuento de Orden de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Línea de Orden de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id msgid "Vehicle" -msgstr "" +msgstr "Vehículo" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "show the purchase orders for this vehicle" -msgstr "" +msgstr "mostrar las órdenes de compra para este vehículo" From 63ecd49f0e8e29b847135d0ef8cdbf22c382cd0e Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Mon, 8 Apr 2024 14:38:20 -0300 Subject: [PATCH 06/21] [FIX] fleet_vehicle_purchase: fix prepare_account_move_line method --- fleet_vehicle_purchase/models/purchase_order.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py index 1e6ffdb54..187c0111e 100644 --- a/fleet_vehicle_purchase/models/purchase_order.py +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -15,7 +15,7 @@ class PurchaseOrderLine(models.Model): _inherit = "purchase.order.line" - def _prepare_account_move_line(self): - result = super()._prepare_account_move_line() + def _prepare_account_move_line(self, move=False): + result = super()._prepare_account_move_line(move) result["vehicle_id"] = self.order_id.fleet_vehicle_id.id return result From 167642a38283fd0e8371ff753e61e0af6e6ab0e3 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 11 Apr 2024 15:34:18 +0000 Subject: [PATCH 07/21] [BOT] post-merge updates --- fleet_vehicle_purchase/README.rst | 2 +- fleet_vehicle_purchase/__manifest__.py | 2 +- fleet_vehicle_purchase/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index 31ab5a318..3a777bd7f 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -7,7 +7,7 @@ Fleet Vehicle Purchase !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5dd174e74baf04f3397e05e892f40ea552a6fafb3a0659b95511e290bb83ee91 + !! source digest: sha256:f3b09d9697c664a080571a50cac4a829fabdaa53eebf56fbbc27e6068faec41e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py index b3fd3d3da..9eb3b09d5 100644 --- a/fleet_vehicle_purchase/__manifest__.py +++ b/fleet_vehicle_purchase/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fleet Vehicle Purchase", "summary": """ Allow to integrate Purcase with Fleet Vehicles""", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "author": "Dixmit,Odoo Community Association (OCA)", "website": "https://github.com/OCA/fleet", diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index 6a3683e45..7c5314742 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -366,7 +366,7 @@

Fleet Vehicle Purchase

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

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

From 1486766b3717c66d4af5bf7dbe4d4f82f858b47e Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 29 Apr 2024 12:10:51 +0000 Subject: [PATCH 08/21] Added translation using Weblate (Italian) --- fleet_vehicle_purchase/i18n/it.po | 68 +++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/it.po diff --git a/fleet_vehicle_purchase/i18n/it.po b/fleet_vehicle_purchase/i18n/it.po new file mode 100644 index 000000000..ee1a32e98 --- /dev/null +++ b/fleet_vehicle_purchase/i18n/it.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_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: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From dc6ed97c1c7c68d32827c6049cea1a55ffd3f20f Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 29 Apr 2024 12:28:55 +0000 Subject: [PATCH 09/21] Translated using Weblate (Italian) Currently translated at 100.0% (9 of 9 strings) Translation: fleet-14.0/fleet-14.0-fleet_vehicle_purchase Translate-URL: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase/it/ --- fleet_vehicle_purchase/i18n/it.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/it.po b/fleet_vehicle_purchase/i18n/it.po index ee1a32e98..6c8357621 100644 --- a/fleet_vehicle_purchase/i18n/it.po +++ b/fleet_vehicle_purchase/i18n/it.po @@ -6,63 +6,65 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-04-29 14:39+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.17\n" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "Purcase Orders" -msgstr "" +msgstr "Ordini di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids msgid "Purchase Order" -msgstr "" +msgstr "Ordine di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Conteggio ordine di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Riga ordine di acquisto" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id msgid "Vehicle" -msgstr "" +msgstr "Veicolo" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "show the purchase orders for this vehicle" -msgstr "" +msgstr "visualizza l'ordine di acquisto per questo veicolo" From 20583cec94354c3e45b5e2e5fce914650217c589 Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Fri, 13 Sep 2024 21:03:34 +0000 Subject: [PATCH 10/21] Added translation using Weblate (Portuguese (Brazil)) --- fleet_vehicle_purchase/i18n/pt_BR.po | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 fleet_vehicle_purchase/i18n/pt_BR.po diff --git a/fleet_vehicle_purchase/i18n/pt_BR.po b/fleet_vehicle_purchase/i18n/pt_BR.po new file mode 100644 index 000000000..c3f40868c --- /dev/null +++ b/fleet_vehicle_purchase/i18n/pt_BR.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fleet_vehicle_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: pt_BR\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: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id +msgid "ID" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purcase Orders" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids +msgid "Purchase Order" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count +msgid "Purchase Order Count" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id +msgid "Vehicle" +msgstr "" + +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "show the purchase orders for this vehicle" +msgstr "" From 0c5b70883053d0b7f2711a26589ea199c2bd5f12 Mon Sep 17 00:00:00 2001 From: Marcel Savegnago Date: Fri, 13 Sep 2024 21:04:43 +0000 Subject: [PATCH 11/21] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (9 of 9 strings) Translation: fleet-14.0/fleet-14.0-fleet_vehicle_purchase Translate-URL: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase/pt_BR/ --- fleet_vehicle_purchase/i18n/pt_BR.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/pt_BR.po b/fleet_vehicle_purchase/i18n/pt_BR.po index c3f40868c..bb662d873 100644 --- a/fleet_vehicle_purchase/i18n/pt_BR.po +++ b/fleet_vehicle_purchase/i18n/pt_BR.po @@ -6,63 +6,65 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-09-13 23:06+0000\n" +"Last-Translator: Marcel Savegnago \n" "Language-Team: none\n" "Language: pt_BR\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 5.6.2\n" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name msgid "Display Name" -msgstr "" +msgstr "Nome Exibido" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificação em" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "Purcase Orders" -msgstr "" +msgstr "Pedidos de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids msgid "Purchase Order" -msgstr "" +msgstr "Pedido de Compra" #. module: fleet_vehicle_purchase #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Contagem de Pedidos de Compra" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order_line msgid "Purchase Order Line" -msgstr "" +msgstr "Linha de Encomenda" #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id msgid "Vehicle" -msgstr "" +msgstr "Veículo" #. module: fleet_vehicle_purchase #: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view msgid "show the purchase orders for this vehicle" -msgstr "" +msgstr "mostrar os pedidos de compra para esse veículo" From 2cc75f1d13fcd59e038d4958972680de377bdc76 Mon Sep 17 00:00:00 2001 From: Lindsay Date: Tue, 15 Oct 2024 13:09:57 +0200 Subject: [PATCH 12/21] [IMP] fleet_vehicle_purchase: black, isort, prettier --- fleet_vehicle_purchase/README.rst | 10 +++++----- fleet_vehicle_purchase/__manifest__.py | 2 +- .../static/description/index.html | 17 ++++++++++------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index 3a777bd7f..cf2eaeaa4 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -17,13 +17,13 @@ Fleet Vehicle Purchase :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffleet-lightgray.png?logo=github - :target: https://github.com/OCA/fleet/tree/14.0/fleet_vehicle_purchase + :target: https://github.com/OCA/fleet/tree/16.0/fleet_vehicle_purchase :alt: OCA/fleet .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/fleet-14-0/fleet-14-0-fleet_vehicle_purchase + :target: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_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/fleet&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/fleet&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -41,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. @@ -71,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/fleet `_ project on GitHub. +This module is part of the `OCA/fleet `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py index 9eb3b09d5..85d3a0a11 100644 --- a/fleet_vehicle_purchase/__manifest__.py +++ b/fleet_vehicle_purchase/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fleet Vehicle Purchase", "summary": """ Allow to integrate Purcase with Fleet Vehicles""", - "version": "14.0.1.0.1", + "version": "16.0.1.0.0", "license": "AGPL-3", "author": "Dixmit,Odoo Community Association (OCA)", "website": "https://github.com/OCA/fleet", diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index 7c5314742..edea48c25 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/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,7 +369,7 @@

Fleet Vehicle Purchase

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:f3b09d9697c664a080571a50cac4a829fabdaa53eebf56fbbc27e6068faec41e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

Table of contents

@@ -387,7 +388,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.

@@ -407,11 +408,13 @@

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.

-

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

+

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

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

From c7d2e84dda5d87b4a201bcb554acc6935c3d796c Mon Sep 17 00:00:00 2001 From: Lindsay Date: Tue, 15 Oct 2024 13:16:11 +0200 Subject: [PATCH 13/21] [16.0][MIG] fleet_vehicle_purchase : Migration to 16.0 --- fleet_vehicle_purchase/tests/test_purchase.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fleet_vehicle_purchase/tests/test_purchase.py b/fleet_vehicle_purchase/tests/test_purchase.py index 4d7a654bb..9a3ecfe77 100644 --- a/fleet_vehicle_purchase/tests/test_purchase.py +++ b/fleet_vehicle_purchase/tests/test_purchase.py @@ -2,10 +2,10 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import fields -from odoo.tests.common import Form, SavepointCase +from odoo.tests.common import Form, TransactionCase -class TestPurchase(SavepointCase): +class TestPurchase(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() From d4a81343dd45b19c3eb9c2c4c15faf1cd1cf8c28 Mon Sep 17 00:00:00 2001 From: Lindsay Date: Wed, 16 Oct 2024 08:30:51 +0200 Subject: [PATCH 14/21] [IMP] Add the possibility to have more than 1 vehicle by PO Initially, there was only one vehicle for one PO. Now, if the vehicle is set on the PO, all the PO lines are related to this vehicle But if the vehicle is not set on the PO, the user can decide to have different vehicles on every line. Use case is a grouped purchase of several items for several vehicles. --- fleet_vehicle_purchase/models/__init__.py | 1 + .../models/fleet_vehicle.py | 12 +++++-- .../models/purchase_order.py | 10 ------ .../models/purchase_order_line.py | 36 +++++++++++++++++++ .../views/purchase_order.xml | 11 ++++++ 5 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 fleet_vehicle_purchase/models/purchase_order_line.py diff --git a/fleet_vehicle_purchase/models/__init__.py b/fleet_vehicle_purchase/models/__init__.py index f84e673bc..2e882ded0 100644 --- a/fleet_vehicle_purchase/models/__init__.py +++ b/fleet_vehicle_purchase/models/__init__.py @@ -1,2 +1,3 @@ from . import purchase_order +from . import purchase_order_line from . import fleet_vehicle diff --git a/fleet_vehicle_purchase/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py index 1950083b7..75e42626d 100644 --- a/fleet_vehicle_purchase/models/fleet_vehicle.py +++ b/fleet_vehicle_purchase/models/fleet_vehicle.py @@ -15,8 +15,16 @@ class FleetVehicle(models.Model): @api.depends("purchase_order_ids") def _compute_purchase_order_count(self): - for record in self: - record.purchase_order_count = len(record.purchase_order_ids) + orders = self.env["purchase.order"].read_group( + [("fleet_vehicle_id", "in", self.ids)], + ["fleet_vehicle_id"], + ["fleet_vehicle_id"], + ) + mapped_data = { + po["fleet_vehicle_id"][0]: po["fleet_vehicle_id_count"] for po in orders + } + for rec in self: + rec.purchase_order_count = mapped_data.get(rec.id, 0) def action_view_purchase_orders(self): self.ensure_one() diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py index 187c0111e..e9d7f3061 100644 --- a/fleet_vehicle_purchase/models/purchase_order.py +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -9,13 +9,3 @@ class PurchaseOrder(models.Model): _inherit = "purchase.order" fleet_vehicle_id = fields.Many2one("fleet.vehicle", string="Vehicle") - - -class PurchaseOrderLine(models.Model): - - _inherit = "purchase.order.line" - - def _prepare_account_move_line(self, move=False): - result = super()._prepare_account_move_line(move) - result["vehicle_id"] = self.order_id.fleet_vehicle_id.id - return result diff --git a/fleet_vehicle_purchase/models/purchase_order_line.py b/fleet_vehicle_purchase/models/purchase_order_line.py new file mode 100644 index 000000000..7fd8bf739 --- /dev/null +++ b/fleet_vehicle_purchase/models/purchase_order_line.py @@ -0,0 +1,36 @@ +# Copyright 2024 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class PurchaseOrderLine(models.Model): + _inherit = "purchase.order.line" + + fleet_vehicle_id = fields.Many2one( + comodel_name="fleet.vehicle", + compute="_compute_fleet_vehicle_id", + store=True, + readonly=False, + ) + fleet_vehicle_from_po = fields.Boolean( + compute="_compute_fleet_vehicle_from_po", store=True + ) + + @api.depends("fleet_vehicle_from_po") + def _compute_fleet_vehicle_id(self): + for rec in self: + if rec.fleet_vehicle_from_po: + rec.fleet_vehicle_id = rec.order_id.fleet_vehicle_id + + @api.depends("order_id", "order_id.fleet_vehicle_id") + def _compute_fleet_vehicle_from_po(self): + for rec in self: + rec.fleet_vehicle_from_po = bool(rec.order_id.fleet_vehicle_id) + + def _prepare_account_move_line(self, move=False): + self.ensure_one() + result = super()._prepare_account_move_line(move) + if self.fleet_vehicle_id: + result["vehicle_id"] = self.fleet_vehicle_id.id + return result diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml index 29d30b070..212775b5f 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -11,6 +11,17 @@ + + + + From 762f6c849251eb62a3f3b0f5d6bbc0fce2596021 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 16 Apr 2025 13:55:42 +0000 Subject: [PATCH 15/21] [UPD] Update fleet_vehicle_purchase.pot --- .../i18n/fleet_vehicle_purchase.pot | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot index a2c7a3db7..749f66a74 100644 --- a/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot +++ b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,24 +14,13 @@ msgstr "" "Plural-Forms: \n" #. module: fleet_vehicle_purchase -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__display_name -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__display_name -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__display_name -msgid "Display Name" +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__fleet_vehicle_id +msgid "Fleet Vehicle" msgstr "" #. module: fleet_vehicle_purchase -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__id -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__id -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__id -msgid "ID" -msgstr "" - -#. module: fleet_vehicle_purchase -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle____last_update -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order____last_update -#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line____last_update -msgid "Last Modified on" +#: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order_line__fleet_vehicle_from_po +msgid "Fleet Vehicle From Po" msgstr "" #. module: fleet_vehicle_purchase From 477bc1b37ec70e329640d9b76819f5cc9d01c05e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 16 Apr 2025 13:58:08 +0000 Subject: [PATCH 16/21] [BOT] post-merge updates --- fleet_vehicle_purchase/README.rst | 2 +- fleet_vehicle_purchase/static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index cf2eaeaa4..b3c9b33db 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -7,7 +7,7 @@ Fleet Vehicle Purchase !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:f3b09d9697c664a080571a50cac4a829fabdaa53eebf56fbbc27e6068faec41e + !! source digest: sha256:5a838e944714ad0e90adc8debd1407a04bf3443f998f06a38cf47ebee398062e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index edea48c25..623943280 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -367,7 +367,7 @@

Fleet Vehicle Purchase

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

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

From 6aa66255c845b8c7505de9884a5dd7a4e2bbbcd8 Mon Sep 17 00:00:00 2001 From: JulioFabio Date: Tue, 9 Dec 2025 10:36:31 -0300 Subject: [PATCH 17/21] [IMP] fleet_vehicle_purchase: pre-commit stuff --- fleet_vehicle_purchase/README.rst | 21 ++++++++++--------- .../models/fleet_vehicle.py | 1 - .../models/purchase_order.py | 1 - fleet_vehicle_purchase/pyproject.toml | 3 +++ fleet_vehicle_purchase/readme/CONTRIBUTORS.md | 1 + .../readme/CONTRIBUTORS.rst | 1 - .../{DESCRIPTION.rst => DESCRIPTION.md} | 3 ++- .../static/description/index.html | 9 ++++---- .../views/fleet_vehicle.xml | 3 --- .../views/purchase_order.xml | 3 --- 10 files changed, 22 insertions(+), 24 deletions(-) create mode 100644 fleet_vehicle_purchase/pyproject.toml create mode 100644 fleet_vehicle_purchase/readme/CONTRIBUTORS.md delete mode 100644 fleet_vehicle_purchase/readme/CONTRIBUTORS.rst rename fleet_vehicle_purchase/readme/{DESCRIPTION.rst => DESCRIPTION.md} (76%) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index b3c9b33db..e7af08db7 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -17,18 +17,19 @@ Fleet Vehicle Purchase :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffleet-lightgray.png?logo=github - :target: https://github.com/OCA/fleet/tree/16.0/fleet_vehicle_purchase + :target: https://github.com/OCA/fleet/tree/18.0/fleet_vehicle_purchase :alt: OCA/fleet .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_purchase + :target: https://translation.odoo-community.org/projects/fleet-18-0/fleet-18-0-fleet_vehicle_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/fleet&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/fleet&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -Allow to define fleet vehicles on Purchase Orders in order to inherit them properly +Allow to define fleet vehicles on Purchase Orders in order to inherit +them properly **Table of contents** @@ -41,7 +42,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. @@ -49,17 +50,17 @@ Credits ======= Authors -~~~~~~~ +------- * Dixmit Contributors -~~~~~~~~~~~~ +------------ -* Enric Tobella - Dixmit +- Enric Tobella - Dixmit Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -71,6 +72,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/fleet `_ project on GitHub. +This module is part of the `OCA/fleet `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fleet_vehicle_purchase/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py index 75e42626d..21a434a69 100644 --- a/fleet_vehicle_purchase/models/fleet_vehicle.py +++ b/fleet_vehicle_purchase/models/fleet_vehicle.py @@ -5,7 +5,6 @@ class FleetVehicle(models.Model): - _inherit = "fleet.vehicle" purchase_order_ids = fields.One2many( diff --git a/fleet_vehicle_purchase/models/purchase_order.py b/fleet_vehicle_purchase/models/purchase_order.py index e9d7f3061..4ae20ccb5 100644 --- a/fleet_vehicle_purchase/models/purchase_order.py +++ b/fleet_vehicle_purchase/models/purchase_order.py @@ -5,7 +5,6 @@ class PurchaseOrder(models.Model): - _inherit = "purchase.order" fleet_vehicle_id = fields.Many2one("fleet.vehicle", string="Vehicle") diff --git a/fleet_vehicle_purchase/pyproject.toml b/fleet_vehicle_purchase/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/fleet_vehicle_purchase/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/fleet_vehicle_purchase/readme/CONTRIBUTORS.md b/fleet_vehicle_purchase/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..a9b844d39 --- /dev/null +++ b/fleet_vehicle_purchase/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Enric Tobella - Dixmit diff --git a/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst b/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst deleted file mode 100644 index 10f2a7f87..000000000 --- a/fleet_vehicle_purchase/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* Enric Tobella - Dixmit diff --git a/fleet_vehicle_purchase/readme/DESCRIPTION.rst b/fleet_vehicle_purchase/readme/DESCRIPTION.md similarity index 76% rename from fleet_vehicle_purchase/readme/DESCRIPTION.rst rename to fleet_vehicle_purchase/readme/DESCRIPTION.md index e5a445ec4..4fe3dc1d2 100644 --- a/fleet_vehicle_purchase/readme/DESCRIPTION.rst +++ b/fleet_vehicle_purchase/readme/DESCRIPTION.md @@ -1 +1,2 @@ -Allow to define fleet vehicles on Purchase Orders in order to inherit them properly +Allow to define fleet vehicles on Purchase Orders in order to inherit +them properly diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index 623943280..74d8681f6 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -369,8 +369,9 @@

Fleet Vehicle Purchase

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:5a838e944714ad0e90adc8debd1407a04bf3443f998f06a38cf47ebee398062e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

-

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

+

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

+

Allow to define fleet vehicles on Purchase Orders in order to inherit +them properly

Table of contents

    @@ -388,7 +389,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.

@@ -414,7 +415,7 @@

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

+

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

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

diff --git a/fleet_vehicle_purchase/views/fleet_vehicle.xml b/fleet_vehicle_purchase/views/fleet_vehicle.xml index 5d4a6d6e0..caeb86822 100644 --- a/fleet_vehicle_purchase/views/fleet_vehicle.xml +++ b/fleet_vehicle_purchase/views/fleet_vehicle.xml @@ -2,7 +2,6 @@ - fleet.vehicle.form (in fleet_vehicle_purchase) fleet.vehicle @@ -26,6 +25,4 @@ - - diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml index 212775b5f..8546869fd 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -2,7 +2,6 @@ - purchase.order.form (in fleet_vehicle_purchase) purchase.order @@ -35,6 +34,4 @@ - - From c58cae7361a70c63355d3bc7589f6c5c90ccf01b Mon Sep 17 00:00:00 2001 From: JulioFabio Date: Tue, 9 Dec 2025 10:43:04 -0300 Subject: [PATCH 18/21] [MIG] fleet_vehicle_purchase: Migration to 18.0 --- fleet_vehicle_purchase/__manifest__.py | 2 +- fleet_vehicle_purchase/tests/test_purchase.py | 21 ++++++++++++++++++- .../views/fleet_vehicle.xml | 4 ++-- .../views/purchase_order.xml | 5 +++-- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py index 85d3a0a11..b0a964794 100644 --- a/fleet_vehicle_purchase/__manifest__.py +++ b/fleet_vehicle_purchase/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fleet Vehicle Purchase", "summary": """ Allow to integrate Purcase with Fleet Vehicles""", - "version": "16.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "author": "Dixmit,Odoo Community Association (OCA)", "website": "https://github.com/OCA/fleet", diff --git a/fleet_vehicle_purchase/tests/test_purchase.py b/fleet_vehicle_purchase/tests/test_purchase.py index 9a3ecfe77..9107a9167 100644 --- a/fleet_vehicle_purchase/tests/test_purchase.py +++ b/fleet_vehicle_purchase/tests/test_purchase.py @@ -2,7 +2,8 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import fields -from odoo.tests.common import Form, TransactionCase +from odoo.tests import Form +from odoo.tests.common import TransactionCase class TestPurchase(TransactionCase): @@ -60,3 +61,21 @@ def test_purchase(self): self.assertFalse(self.car_1.log_services) invoice.action_post() self.assertTrue(self.car_1.log_services) + + def test_purchase_no_vehicle(self): + """Test purchase order flow without a fleet vehicle.""" + with Form(self.env["purchase.order"]) as form: + form.partner_id = self.env.user.partner_id + # Do not set fleet_vehicle_id + with form.order_line.new() as form_line: + form_line.product_id = self.product + form_line.price_unit = 100 + + purchase = form.save() + purchase.button_confirm() + purchase.order_line.qty_received = 1 + invoice_action = purchase.action_create_invoice() + invoice = self.env[invoice_action["res_model"]].browse(invoice_action["res_id"]) + + # Verify that the invoice line does NOT have a vehicle_id set + self.assertFalse(invoice.invoice_line_ids.vehicle_id) diff --git a/fleet_vehicle_purchase/views/fleet_vehicle.xml b/fleet_vehicle_purchase/views/fleet_vehicle.xml index caeb86822..f7d9e110f 100644 --- a/fleet_vehicle_purchase/views/fleet_vehicle.xml +++ b/fleet_vehicle_purchase/views/fleet_vehicle.xml @@ -13,13 +13,13 @@ type="object" class="oe_stat_button" icon="fa-dollar" - attrs="{'invisible': [('purchase_order_count', '=', 0)]}" + invisible="purchase_order_count == 0" help="show the purchase orders for this vehicle" > diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml index 8546869fd..09d0c47ec 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -10,15 +10,16 @@ + From 6a3bf1ac99b338de17219eb1ef24b5fd12fd649a Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 16 Dec 2025 14:37:42 +0000 Subject: [PATCH 19/21] [UPD] Update fleet_vehicle_purchase.pot --- .../i18n/fleet_vehicle_purchase.pot | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot index 749f66a74..877bed761 100644 --- a/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot +++ b/fleet_vehicle_purchase/i18n/fleet_vehicle_purchase.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -23,11 +23,6 @@ msgstr "" msgid "Fleet Vehicle From Po" msgstr "" -#. module: fleet_vehicle_purchase -#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view -msgid "Purcase Orders" -msgstr "" - #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_purchase_order #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_fleet_vehicle__purchase_order_ids @@ -44,6 +39,11 @@ msgstr "" msgid "Purchase Order Line" msgstr "" +#. module: fleet_vehicle_purchase +#: model_terms:ir.ui.view,arch_db:fleet_vehicle_purchase.fleet_vehicle_form_view +msgid "Purchase Orders" +msgstr "" + #. module: fleet_vehicle_purchase #: model:ir.model,name:fleet_vehicle_purchase.model_fleet_vehicle #: model:ir.model.fields,field_description:fleet_vehicle_purchase.field_purchase_order__fleet_vehicle_id From a261d145324048670671465904ac006a865e2b46 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 16 Dec 2025 14:40:10 +0000 Subject: [PATCH 20/21] [BOT] post-merge updates --- fleet_vehicle_purchase/README.rst | 8 ++++-- .../static/description/index.html | 26 ++++++++++++------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index e7af08db7..bc5e88d89 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ====================== Fleet Vehicle Purchase ====================== @@ -7,13 +11,13 @@ Fleet Vehicle Purchase !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5a838e944714ad0e90adc8debd1407a04bf3443f998f06a38cf47ebee398062e + !! source digest: sha256:4599d91b01724a390684ddde6dce9bd87f791b9996dc71fe500d81dd8d51e4e6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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%2Ffleet-lightgray.png?logo=github diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index 74d8681f6..e9f823db5 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -3,7 +3,7 @@ -Fleet Vehicle Purchase +README.rst -
-

Fleet Vehicle Purchase

+
+ + +Odoo Community Association + +
+

Fleet Vehicle Purchase

-

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

+

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

Table of contents

@@ -385,7 +390,7 @@

Fleet Vehicle 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 @@ -393,21 +398,21 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Dixmit
-

Contributors

+

Contributors

  • Enric Tobella - Dixmit
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -420,5 +425,6 @@

Maintainers

+
From 18f693893bf9e2c801c50ebe921bc4062757744c Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Wed, 24 Dec 2025 13:49:37 +0530 Subject: [PATCH 21/21] [MIG] fleet_vehicle_purchase: Migration to 19.0 --- fleet_vehicle_purchase/README.rst | 13 ++++++++----- fleet_vehicle_purchase/__manifest__.py | 4 ++-- fleet_vehicle_purchase/models/fleet_vehicle.py | 11 +++++------ fleet_vehicle_purchase/readme/CONTRIBUTORS.md | 2 ++ .../static/description/index.html | 10 +++++++--- fleet_vehicle_purchase/tests/test_purchase.py | 13 ++++++++----- fleet_vehicle_purchase/views/purchase_order.xml | 2 +- 7 files changed, 33 insertions(+), 22 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index bc5e88d89..02308c1b6 100644 --- a/fleet_vehicle_purchase/README.rst +++ b/fleet_vehicle_purchase/README.rst @@ -21,13 +21,13 @@ Fleet Vehicle Purchase :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffleet-lightgray.png?logo=github - :target: https://github.com/OCA/fleet/tree/18.0/fleet_vehicle_purchase + :target: https://github.com/OCA/fleet/tree/19.0/fleet_vehicle_purchase :alt: OCA/fleet .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/fleet-18-0/fleet-18-0-fleet_vehicle_purchase + :target: https://translation.odoo-community.org/projects/fleet-19-0/fleet-19-0-fleet_vehicle_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/fleet&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/fleet&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -46,7 +46,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. @@ -62,6 +62,9 @@ Contributors ------------ - Enric Tobella - Dixmit +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia Maintainers ----------- @@ -76,6 +79,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/fleet `_ project on GitHub. +This module is part of the `OCA/fleet `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fleet_vehicle_purchase/__manifest__.py b/fleet_vehicle_purchase/__manifest__.py index b0a964794..366215829 100644 --- a/fleet_vehicle_purchase/__manifest__.py +++ b/fleet_vehicle_purchase/__manifest__.py @@ -5,9 +5,9 @@ "name": "Fleet Vehicle Purchase", "summary": """ Allow to integrate Purcase with Fleet Vehicles""", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "license": "AGPL-3", - "author": "Dixmit,Odoo Community Association (OCA)", + "author": "Dixmit, Odoo Community Association (OCA)", "website": "https://github.com/OCA/fleet", "depends": [ "account_fleet", diff --git a/fleet_vehicle_purchase/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py index 21a434a69..8bbe3528f 100644 --- a/fleet_vehicle_purchase/models/fleet_vehicle.py +++ b/fleet_vehicle_purchase/models/fleet_vehicle.py @@ -14,14 +14,13 @@ class FleetVehicle(models.Model): @api.depends("purchase_order_ids") def _compute_purchase_order_count(self): - orders = self.env["purchase.order"].read_group( + # Odoo 19: Use _read_group + data = self.env["purchase.order"]._read_group( [("fleet_vehicle_id", "in", self.ids)], - ["fleet_vehicle_id"], - ["fleet_vehicle_id"], + groupby=["fleet_vehicle_id"], + aggregates=["__count"], ) - mapped_data = { - po["fleet_vehicle_id"][0]: po["fleet_vehicle_id_count"] for po in orders - } + mapped_data = {vehicle.id: count for vehicle, count in data} for rec in self: rec.purchase_order_count = mapped_data.get(rec.id, 0) diff --git a/fleet_vehicle_purchase/readme/CONTRIBUTORS.md b/fleet_vehicle_purchase/readme/CONTRIBUTORS.md index a9b844d39..603b90fa8 100644 --- a/fleet_vehicle_purchase/readme/CONTRIBUTORS.md +++ b/fleet_vehicle_purchase/readme/CONTRIBUTORS.md @@ -1 +1,3 @@ - Enric Tobella - Dixmit +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia diff --git a/fleet_vehicle_purchase/static/description/index.html b/fleet_vehicle_purchase/static/description/index.html index e9f823db5..a9b407f65 100644 --- a/fleet_vehicle_purchase/static/description/index.html +++ b/fleet_vehicle_purchase/static/description/index.html @@ -374,7 +374,7 @@

Fleet Vehicle Purchase

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:4599d91b01724a390684ddde6dce9bd87f791b9996dc71fe500d81dd8d51e4e6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

Allow to define fleet vehicles on Purchase Orders in order to inherit them properly

Table of contents

@@ -394,7 +394,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.

@@ -409,6 +409,10 @@

Authors

Contributors

@@ -420,7 +424,7 @@

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

+

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

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

diff --git a/fleet_vehicle_purchase/tests/test_purchase.py b/fleet_vehicle_purchase/tests/test_purchase.py index 9107a9167..b09e0b2e5 100644 --- a/fleet_vehicle_purchase/tests/test_purchase.py +++ b/fleet_vehicle_purchase/tests/test_purchase.py @@ -3,13 +3,15 @@ from odoo import fields from odoo.tests import Form -from odoo.tests.common import TransactionCase +from odoo.addons.base.tests.common import BaseCommon -class TestPurchase(TransactionCase): + +class TestPurchase(BaseCommon): @classmethod def setUpClass(cls): super().setUpClass() + cls.driver = cls.env["res.partner"].create({"name": "Driver"}) cls.brand = cls.env["fleet.vehicle.model.brand"].create( { "name": "Audi", @@ -24,7 +26,7 @@ def setUpClass(cls): cls.car_1 = cls.env["fleet.vehicle"].create( { "model_id": cls.model.id, - "driver_id": cls.env.user.partner_id.id, + "driver_id": cls.driver.id, "plan_to_change_car": False, } ) @@ -34,6 +36,7 @@ def setUpClass(cls): "type": "service", } ) + cls.partner = cls.env["res.partner"].create({"name": "Vendor"}) def test_purchase(self): self.assertEqual(0, self.car_1.purchase_order_count) @@ -42,7 +45,7 @@ def test_purchase(self): self.env[order_action["res_model"]].search(order_action["domain"]) ) with Form(self.env["purchase.order"]) as form: - form.partner_id = self.env.user.partner_id + form.partner_id = self.partner form.fleet_vehicle_id = self.car_1 with form.order_line.new() as form_line: form_line.product_id = self.product @@ -65,7 +68,7 @@ def test_purchase(self): def test_purchase_no_vehicle(self): """Test purchase order flow without a fleet vehicle.""" with Form(self.env["purchase.order"]) as form: - form.partner_id = self.env.user.partner_id + form.partner_id = self.partner # Do not set fleet_vehicle_id with form.order_line.new() as form_line: form_line.product_id = self.product diff --git a/fleet_vehicle_purchase/views/purchase_order.xml b/fleet_vehicle_purchase/views/purchase_order.xml index 09d0c47ec..55cc475ac 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -15,7 +15,7 @@ expr="//field[@name='order_line']//field[@name='product_qty']" position="after" > - +