From 03f52e578255862b51abd5bed1bb454542022127 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 00000000..092d11ef --- /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 00000000..0650744f --- /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 00000000..b3fd3d3d --- /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 00000000..f84e673b --- /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 00000000..1950083b --- /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 00000000..1e6ffdb5 --- /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 00000000..10f2a7f8 --- /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 00000000..e5a445ec --- /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 00000000..ca2a0630 --- /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 00000000..5f85fc3d --- /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 00000000..4d7a654b --- /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 00000000..5d4a6d6e --- /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 00000000..29d30b07 --- /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 382e14a7b19db87b04f13a6459388db2334a6a3c 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 00000000..a2c7a3db --- /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 635e794472b32bc1e75cce3f1977e82b8718d8c5 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 092d11ef..31ab5a31 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 ca2a0630..6a3683e4 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 852753ac5f59549291d79bad35c08ce36674fef7 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 00000000..f3ee5ca7 --- /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 25eb57f8c64dc654ae4790c9838e4835450d2612 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 f3ee5ca7..f561d290 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 5778625cd4e0bdf0af5fa5edd47283c089bd0d14 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 1e6ffdb5..187c0111 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 a1b409cc27cc060c423a985ca641972e4f406722 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 31ab5a31..3a777bd7 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 b3fd3d3d..9eb3b09d 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 6a3683e4..7c531474 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 e0ebaf8b073907bc6bb573f9ef4d9886ce6cebda 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 00000000..ee1a32e9 --- /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 e015245dfd618afc6d22cf2a229cdec377974696 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 ee1a32e9..6c835762 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 44b66bd400d994dda0c164a916323c2ba70a7fe7 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 00000000..c3f40868 --- /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 289bca02301cacf0290f95061cbb1d8b6de109e5 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 c3f40868..bb662d87 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 056b3e551e583b69684aa2a2bb478f9d0cceb8fc 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 3a777bd7..cf2eaeaa 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 9eb3b09d..85d3a0a1 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 7c531474..edea48c2 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 a779aade2663d669c245310f71bdac28a6fc1a5e 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 4d7a654b..9a3ecfe7 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 59a1dfcc52b714f1ab90219d98e317291d9cfdfe 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 f84e673b..2e882ded 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 1950083b..75e42626 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 187c0111..e9d7f306 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 00000000..7fd8bf73 --- /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 29d30b07..212775b5 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -11,6 +11,17 @@ + + + + From 9f29b5af08b9710dd25715ff45fde9b960a478af 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 a2c7a3db..749f66a7 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 c176b49571d1dfc560a33dd5447ba1b6a362ef04 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 cf2eaeaa..b3c9b33d 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 edea48c2..62394328 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 c91954d845dda322ccea1d485cbe3f9a00b4b7d3 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 b3c9b33d..e7af08db 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 75e42626..21a434a6 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 e9d7f306..4ae20ccb 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 00000000..4231d0cc --- /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 00000000..a9b844d3 --- /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 10f2a7f8..00000000 --- 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 e5a445ec..4fe3dc1d 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 62394328..74d8681f 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 5d4a6d6e..caeb8682 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 212775b5..8546869f 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 18f8aed13b77686f478d3dd10f8c59977aae46dc 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 85d3a0a1..b0a96479 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 9a3ecfe7..9107a916 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 caeb8682..f7d9e110 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 8546869f..09d0c47e 100644 --- a/fleet_vehicle_purchase/views/purchase_order.xml +++ b/fleet_vehicle_purchase/views/purchase_order.xml @@ -10,15 +10,16 @@ + From b03ea33dd2db142c3139eb452e01f76a610f9397 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 749f66a7..877bed76 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 5b73b8d547be4d131506ad0449a3b8e3711aec45 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 e7af08db..bc5e88d8 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 74d8681f..e9f823db 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 2f250971f0a678e5ae34561d352f1973722b741c 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 | 17 ++++++++++++----- fleet_vehicle_purchase/__manifest__.py | 2 +- fleet_vehicle_purchase/models/fleet_vehicle.py | 11 +++++------ fleet_vehicle_purchase/readme/CONTRIBUTORS.md | 4 ++++ .../static/description/index.html | 14 +++++++++++--- fleet_vehicle_purchase/tests/test_purchase.py | 13 ++++++++----- fleet_vehicle_purchase/views/purchase_order.xml | 2 +- 7 files changed, 42 insertions(+), 21 deletions(-) diff --git a/fleet_vehicle_purchase/README.rst b/fleet_vehicle_purchase/README.rst index bc5e88d8..c0fd4166 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,13 @@ Contributors ------------ - Enric Tobella - Dixmit +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia + +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia Maintainers ----------- @@ -76,6 +83,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 b0a96479..889a6fc6 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": "18.0.1.0.0", + "version": "19.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/models/fleet_vehicle.py b/fleet_vehicle_purchase/models/fleet_vehicle.py index 21a434a6..8bbe3528 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 a9b844d3..0dc0b228 100644 --- a/fleet_vehicle_purchase/readme/CONTRIBUTORS.md +++ b/fleet_vehicle_purchase/readme/CONTRIBUTORS.md @@ -1 +1,5 @@ - Enric Tobella - Dixmit +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia +- [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 e9f823db..c81a3d8a 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,14 @@

Authors

Contributors

@@ -420,7 +428,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 9107a916..b09e0b2e 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 09d0c47e..55cc475a 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" > - +