Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions fleet_vehicle_tyre/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
==================
Fleet Vehicle Tyre
==================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:80e2b1bd9992eebcfa33bf7653ffe834be743a18b01a160fb91702d295f3b0dc
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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/18.0/fleet_vehicle_tyre
: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_tyre
: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
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends Fleet with a tyre catalog and tyre tracking fields
on vehicles.

**Table of contents**

.. contents::
:local:

Configuration
=============

Fleet managers can configure the tyre catalog from:

- Fleet > Configuration > Tyres

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/fleet/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/fleet/issues/new?body=module:%20fleet_vehicle_tyre%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* ACSONE SA/NV

Contributors
------------

- Souheil Bejaoui - ACSONE SA/NV souheil.bejaoui@acsone.eu

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-sbejaoui| image:: https://github.com/sbejaoui.png?size=40px
:target: https://github.com/sbejaoui
:alt: sbejaoui

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-sbejaoui|

This module is part of the `OCA/fleet <https://github.com/OCA/fleet/tree/18.0/fleet_vehicle_tyre>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions fleet_vehicle_tyre/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions fleet_vehicle_tyre/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2026 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Fleet Vehicle Tyre",
"summary": """Adds tyre management to Fleet by introducing a tyre catalog
and tracking tyre information on each vehicle.""",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/fleet",
"depends": ["fleet"],
"data": [
"security/fleet_vehicle_tyre.xml",
"views/fleet_vehicle_tyre.xml",
"views/fleet_vehicle.xml",
],
"maintainers": ["sbejaoui"],
}
174 changes: 174 additions & 0 deletions fleet_vehicle_tyre/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fleet_vehicle_tyre
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-29 13:55+0000\n"
"PO-Revision-Date: 2026-06-29 13:55+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\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_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__active
msgid "Active"
msgstr "Actif"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields.selection,name:fleet_vehicle_tyre.selection__fleet_vehicle_tyre__tyre_type__all_season
msgid "All Season"
msgstr "Toutes saisons"

#. module: fleet_vehicle_tyre
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Archived"
msgstr "Archivé"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__aspect_ratio
msgid "Aspect Ratio"
msgstr "Rapport d'aspect"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__create_uid
msgid "Created by"
msgstr "Créé par"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__create_date
msgid "Created on"
msgstr "Créé le"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__display_name
msgid "Display Name"
msgstr "Nom affiché"

#. module: fleet_vehicle_tyre
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Group By"
msgstr "Regrouper par"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__id
msgid "ID"
msgstr "ID"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle__last_tyre_change_date
msgid "Last Tyre Change Date"
msgstr "Date du dernier changement de pneu"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__write_uid
msgid "Last Updated by"
msgstr "Dernière mise à jour par"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__load_index
msgid "Load Index"
msgstr "Indice de charge"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__manufacturer
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Manufacturer"
msgstr "Fabricant"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__name
msgid "Name"
msgstr "Nom"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__rim_diameter
msgid "Rim Diameter (in)"
msgstr "Diamètre de jante (po)"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__run_flat
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Run Flat"
msgstr "Run flat"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__size
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Size"
msgstr "Taille"

#. module: fleet_vehicle_tyre
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_form
msgid "Specification"
msgstr "Spécification"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__speed_rating
msgid "Speed Rating"
msgstr "Indice de vitesse"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields.selection,name:fleet_vehicle_tyre.selection__fleet_vehicle_tyre__tyre_type__summer
msgid "Summer"
msgstr "Été"

#. module: fleet_vehicle_tyre
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_form
msgid "Tyre"
msgstr "Pneu"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__tyre_type
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Tyre Type"
msgstr "Type de pneu"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,help:fleet_vehicle_tyre.field_fleet_vehicle_tyre__size
msgid "Tyre size marking, for example 205/55 R16."
msgstr "Marquage de la taille du pneu, par exemple 205/55 R16."

#. module: fleet_vehicle_tyre
#: model:ir.actions.act_window,name:fleet_vehicle_tyre.fleet_vehicle_tyre_action
#: model:ir.ui.menu,name:fleet_vehicle_tyre.fleet_vehicle_tyre_menu
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_list
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_search
msgid "Tyres"
msgstr "Pneus"

#. module: fleet_vehicle_tyre
#: model:ir.model,name:fleet_vehicle_tyre.model_fleet_vehicle
msgid "Vehicle"
msgstr "Véhicule"

#. module: fleet_vehicle_tyre
#: model:ir.model,name:fleet_vehicle_tyre.model_fleet_vehicle_tyre
msgid "Vehicle Tyre"
msgstr "Pneu du véhicule"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields,field_description:fleet_vehicle_tyre.field_fleet_vehicle_tyre__width
msgid "Width (mm)"
msgstr "Largeur (mm)"

#. module: fleet_vehicle_tyre
#: model:ir.model.fields.selection,name:fleet_vehicle_tyre.selection__fleet_vehicle_tyre__tyre_type__winter
msgid "Winter"
msgstr "Hiver"

#. module: fleet_vehicle_tyre
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_tyre.fleet_vehicle_tyre_view_form
msgid "e.g. 205/55 R16"
msgstr "p. ex. 205/55 R16"
2 changes: 2 additions & 0 deletions fleet_vehicle_tyre/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import fleet_vehicle
from . import fleet_vehicle_tyre
12 changes: 12 additions & 0 deletions fleet_vehicle_tyre/models/fleet_vehicle.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright 2026 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


from odoo import fields, models


class FleetVehicle(models.Model):
_inherit = "fleet.vehicle"

vehicle_tyre_id = fields.Many2one(comodel_name="fleet.vehicle.tyre")
last_tyre_change_date = fields.Date()
31 changes: 31 additions & 0 deletions fleet_vehicle_tyre/models/fleet_vehicle_tyre.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2026 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


from odoo import fields, models


class FleetVehicleTyre(models.Model):
_name = "fleet.vehicle.tyre"
_description = "Vehicle Tyre"
_order = "name"

name = fields.Char(required=True)
manufacturer = fields.Char()
tyre_type = fields.Selection(
selection=[
("summer", "Summer"),
("winter", "Winter"),
("all_season", "All Season"),
]
)
size = fields.Char(
help="Tyre size marking, for example 205/55 R16.",
)
width = fields.Integer(string="Width (mm)")
aspect_ratio = fields.Integer()
rim_diameter = fields.Float(string="Rim Diameter (in)")
load_index = fields.Char()
speed_rating = fields.Char()
run_flat = fields.Boolean()
active = fields.Boolean(default=True)
3 changes: 3 additions & 0 deletions fleet_vehicle_tyre/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
3 changes: 3 additions & 0 deletions fleet_vehicle_tyre/readme/CONFIGURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Fleet managers can configure the tyre catalog from:

- Fleet > Configuration > Tyres
1 change: 1 addition & 0 deletions fleet_vehicle_tyre/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Souheil Bejaoui - ACSONE SA/NV <souheil.bejaoui@acsone.eu>
1 change: 1 addition & 0 deletions fleet_vehicle_tyre/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module extends Fleet with a tyre catalog and tyre tracking fields on vehicles.
24 changes: 24 additions & 0 deletions fleet_vehicle_tyre/security/fleet_vehicle_tyre.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright 2026 ACSONE SA/NV
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="access_fleet_vehicle_tyre_user" model="ir.model.access">
<field name="name">fleet.vehicle.tyre user</field>
<field name="model_id" ref="model_fleet_vehicle_tyre" />
<field name="group_id" ref="fleet.fleet_group_user" />
<field name="perm_read" eval="1" />
<field name="perm_write" eval="0" />
<field name="perm_create" eval="0" />
<field name="perm_unlink" eval="0" />
</record>

<record id="access_fleet_vehicle_tyre_manager" model="ir.model.access">
<field name="name">fleet.vehicle.tyre manager</field>
<field name="model_id" ref="model_fleet_vehicle_tyre" />
<field name="group_id" ref="fleet.fleet_group_manager" />
<field name="perm_read" eval="1" />
<field name="perm_write" eval="1" />
<field name="perm_create" eval="1" />
<field name="perm_unlink" eval="1" />
</record>
</odoo>
Binary file added fleet_vehicle_tyre/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading