From a880d2dc827eec08a62c61164c363be6cf7381ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Fri, 23 Feb 2024 15:27:09 +0100
Subject: [PATCH 01/12] [ADD] fleet_vehicle_usage: New module
TT47818
[UPD] Update fleet_vehicle_usage.pot
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: fleet-16.0/fleet-16.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_usage/
---
fleet_vehicle_usage/README.rst | 91 ++++
fleet_vehicle_usage/__init__.py | 1 +
fleet_vehicle_usage/__manifest__.py | 21 +
fleet_vehicle_usage/data/ir_sequence_data.xml | 12 +
fleet_vehicle_usage/i18n/es.po | 405 +++++++++++++++++
.../i18n/fleet_vehicle_usage.pot | 397 ++++++++++++++++
fleet_vehicle_usage/models/__init__.py | 2 +
fleet_vehicle_usage/models/fleet_vehicle.py | 21 +
.../models/fleet_vehicle_usage.py | 147 ++++++
fleet_vehicle_usage/readme/CONTRIBUTORS.rst | 6 +
fleet_vehicle_usage/readme/DESCRIPTION.rst | 2 +
.../security/ir.model.access.csv | 3 +
fleet_vehicle_usage/security/security.xml | 9 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 430 ++++++++++++++++++
fleet_vehicle_usage/tests/__init__.py | 1 +
.../tests/test_fleet_vehicle_usage.py | 52 +++
.../views/fleet_vehicle_usage_view.xml | 196 ++++++++
.../views/fleet_vehicle_view.xml | 58 +++
19 files changed, 1854 insertions(+)
create mode 100644 fleet_vehicle_usage/README.rst
create mode 100644 fleet_vehicle_usage/__init__.py
create mode 100644 fleet_vehicle_usage/__manifest__.py
create mode 100644 fleet_vehicle_usage/data/ir_sequence_data.xml
create mode 100644 fleet_vehicle_usage/i18n/es.po
create mode 100644 fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
create mode 100644 fleet_vehicle_usage/models/__init__.py
create mode 100644 fleet_vehicle_usage/models/fleet_vehicle.py
create mode 100644 fleet_vehicle_usage/models/fleet_vehicle_usage.py
create mode 100644 fleet_vehicle_usage/readme/CONTRIBUTORS.rst
create mode 100644 fleet_vehicle_usage/readme/DESCRIPTION.rst
create mode 100644 fleet_vehicle_usage/security/ir.model.access.csv
create mode 100644 fleet_vehicle_usage/security/security.xml
create mode 100644 fleet_vehicle_usage/static/description/icon.png
create mode 100644 fleet_vehicle_usage/static/description/index.html
create mode 100644 fleet_vehicle_usage/tests/__init__.py
create mode 100644 fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py
create mode 100644 fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
create mode 100644 fleet_vehicle_usage/views/fleet_vehicle_view.xml
diff --git a/fleet_vehicle_usage/README.rst b/fleet_vehicle_usage/README.rst
new file mode 100644
index 000000000..e45f7004d
--- /dev/null
+++ b/fleet_vehicle_usage/README.rst
@@ -0,0 +1,91 @@
+===================
+Fleet Vehicle Usage
+===================
+
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:85114223f558913640aa0d6f2a8b901e47cdf5b1c3bbda790c07e92dba8f8d79
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |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/16.0/fleet_vehicle_usage
+ :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_usage
+ :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
+ :alt: Try me on Runboat
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module allows to record usages of fleet vehicles by employees, with their dates,
+states and comments.
+
+**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
+~~~~~~~
+
+* César Fernández
+* Tecnativa
+
+Contributors
+~~~~~~~~~~~~
+
+* César Fernández Domínguez
+
+* `Tecnativa `_:
+
+ * Víctor Martínez
+ * Pedro M. Baeza
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px
+ :target: https://github.com/victoralmau
+ :alt: victoralmau
+
+Current `maintainer `__:
+
+|maintainer-victoralmau|
+
+This module is part of the `OCA/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_usage/__init__.py b/fleet_vehicle_usage/__init__.py
new file mode 100644
index 000000000..0650744f6
--- /dev/null
+++ b/fleet_vehicle_usage/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/fleet_vehicle_usage/__manifest__.py b/fleet_vehicle_usage/__manifest__.py
new file mode 100644
index 000000000..ba9ffba05
--- /dev/null
+++ b/fleet_vehicle_usage/__manifest__.py
@@ -0,0 +1,21 @@
+# Copyright 2021 César Fernández Domínguez
+# Copyright 2024 Tecnativa - Víctor Martínez
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+{
+ "name": "Fleet Vehicle Usage",
+ "version": "16.0.1.0.0",
+ "category": "Human Resources/Fleet",
+ "website": "https://github.com/OCA/fleet",
+ "author": "César Fernández, Tecnativa, Odoo Community Association (OCA)",
+ "license": "AGPL-3",
+ "depends": ["fleet"],
+ "installable": True,
+ "data": [
+ "security/ir.model.access.csv",
+ "security/security.xml",
+ "data/ir_sequence_data.xml",
+ "views/fleet_vehicle_usage_view.xml",
+ "views/fleet_vehicle_view.xml",
+ ],
+ "maintainers": ["victoralmau"],
+}
diff --git a/fleet_vehicle_usage/data/ir_sequence_data.xml b/fleet_vehicle_usage/data/ir_sequence_data.xml
new file mode 100644
index 000000000..3e4938226
--- /dev/null
+++ b/fleet_vehicle_usage/data/ir_sequence_data.xml
@@ -0,0 +1,12 @@
+
+
+
+ Fleet Vehicle Usage
+ fleet.vehicle.usage
+ FU/
+ 5
+ 1
+ 1
+
+
+
diff --git a/fleet_vehicle_usage/i18n/es.po b/fleet_vehicle_usage/i18n/es.po
new file mode 100644
index 000000000..13df63f78
--- /dev/null
+++ b/fleet_vehicle_usage/i18n/es.po
@@ -0,0 +1,405 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * fleet_vehicle_usage
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 16.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-02-26 08:22+0000\n"
+"PO-Revision-Date: 2024-02-26 09:27+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+"X-Generator: Poedit 3.0.1\n"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
+msgid ""
+"In use "
+msgstr ""
+"En uso "
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
+msgid "Action Needed"
+msgstr "Acción Necesaria"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_ids
+msgid "Activities"
+msgstr "Actividades"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr "Actividad Excepción Decoración"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_state
+msgid "Activity State"
+msgstr "Estado de Actividad"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_icon
+msgid "Activity Type Icon"
+msgstr "Icono de tipo de actividad"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_attachment_count
+msgid "Attachment Count"
+msgstr "Total de adjuntos"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__cancel
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Cancelled"
+msgstr "Cancelado"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.actions.act_window,help:fleet_vehicle_usage.fleet_vehicle_usage_action
+#: model_terms:ir.actions.act_window,help:fleet_vehicle_usage.fleet_vehicle_usage_action_from_vehicle
+msgid "Click to create a Fleet Vehicle Usage."
+msgstr "Haga clic para crear un uso de vehículo de flota."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__company_id
+msgid "Company"
+msgstr "Compañía"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__create_date
+msgid "Created on"
+msgstr "Creado el"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__partner_id
+msgid "Destination"
+msgstr "Destino"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__display_name
+msgid "Display Name"
+msgstr "Nombre mostrado"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__user_id
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Driver"
+msgstr "Conductor"
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#, python-format
+msgid "Every driver can only drive a vehicle at once!"
+msgstr "¡Cada conductor solo puede conducir un vehículo a la vez!"
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#, python-format
+msgid "Every vehicle can only be picked once at the same time!"
+msgstr "¡Cada vehículo solo se puede recoger una vez al mismo tiempo!"
+
+#. module: fleet_vehicle_usage
+#: model:ir.actions.act_window,name:fleet_vehicle_usage.fleet_vehicle_usage_action
+#: model:ir.actions.act_window,name:fleet_vehicle_usage.fleet_vehicle_usage_action_from_vehicle
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__name
+msgid "Fleet Vehicle Usage"
+msgstr "Uso de vehículo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_follower_ids
+msgid "Followers"
+msgstr "Seguidores"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_partner_ids
+msgid "Followers (Partners)"
+msgstr "Seguidores (Socios)"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr "Icono de Font Awesome ej. fa-tasks"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Group By..."
+msgstr "Agrupar por..."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__has_message
+msgid "Has Message"
+msgstr "Tiene mensaje"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__id
+msgid "ID"
+msgstr "ID"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_icon
+msgid "Icon"
+msgstr "Icono"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr "Icono para indicar una actividad de excepción."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
+msgid "If checked, new messages require your attention."
+msgstr "Si está marcado hay nuevos mensajes que requieren su atención."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
+msgid "If checked, some messages have a delivery error."
+msgstr "Si se encuentra marcado, algunos mensajes tienen error de envío."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle__in_use
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__in_use
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "In Use"
+msgstr "En uso"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_search
+msgid "In use"
+msgstr "En uso"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_is_follower
+msgid "Is Follower"
+msgstr "Es Seguidor"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage____last_update
+msgid "Last Modified on"
+msgstr "Última Modificación el"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_uid
+msgid "Last Updated by"
+msgstr "Ultima actualización por"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_date
+msgid "Last Updated on"
+msgstr "Fecha modificación"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_main_attachment_id
+msgid "Main Attachment"
+msgstr "Adjunto Principal"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
+msgid "Message Delivery error"
+msgstr "Error de Envío de Mensaje"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_ids
+msgid "Messages"
+msgstr "Mensajes"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr "Mi fecha de límite de actividad"
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__draft
+#, python-format
+msgid "New"
+msgstr "Nuevo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr "Fecha Límite de Actividad Siguiente"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_summary
+msgid "Next Activity Summary"
+msgstr "Resumen de actividad siguiente"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_id
+msgid "Next Activity Type"
+msgstr "Siguiente tipo de actividad"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Not Returned"
+msgstr "No devuelto"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__notes
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Notes"
+msgstr "Notas"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction_counter
+msgid "Number of Actions"
+msgstr "Numero de Acciones"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error_counter
+msgid "Number of errors"
+msgstr "Número de errores"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction_counter
+msgid "Number of messages requiring action"
+msgstr "Número de mensajes que requieren una acción"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr "Número de mensajes con error de entrega"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Pick"
+msgstr "Recoger"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__picking_user_id
+msgid "Picked up by"
+msgstr "Recogido por"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__date_picking
+msgid "Picking Date"
+msgstr "Fecha de recogida"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Picking Date by Month"
+msgstr "Fecha de recogida por mes"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Picking Month"
+msgstr "Mes de recogida"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__reserved
+msgid "Reserved"
+msgstr "Reservado"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_user_id
+msgid "Responsible User"
+msgstr "Usuario Responsable"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Return"
+msgstr "Devolver"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__date_return
+msgid "Return Date"
+msgstr "Fecha de devolución"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__returned
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Returned"
+msgstr "Devuelto"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__return_user_id
+msgid "Returned by"
+msgstr "Devuelto por"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__state
+msgid "State"
+msgstr "Estado"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Status"
+msgstr "Estado"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+"Estado en base a las actividades\n"
+"Atrasada: La fecha de vencimiento ya ha pasado\n"
+"Hoy: La fecha de la actividad es hoy\n"
+"Planificada: Actividades futuras."
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "To Pick"
+msgstr "Para recoger"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr "Tipo de actividad de excepción registrada."
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
+msgid "Usage"
+msgstr "Uso"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle__usage_ids
+#: model:ir.ui.menu,name:fleet_vehicle_usage.menu_fleet_vehicle_usage_action
+msgid "Usages"
+msgstr "Usos"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__vehicle_id
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Vehicle"
+msgstr "Vehículo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle_usage
+msgid "Vehicle Usage"
+msgstr "Uso de vehículo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website Messages"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website communication history"
+msgstr ""
diff --git a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
new file mode 100644
index 000000000..e52417d75
--- /dev/null
+++ b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
@@ -0,0 +1,397 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * fleet_vehicle_usage
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 16.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_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
+msgid ""
+"In use "
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
+msgid "Action Needed"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_ids
+msgid "Activities"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_state
+msgid "Activity State"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_icon
+msgid "Activity Type Icon"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_attachment_count
+msgid "Attachment Count"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Cancel"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__cancel
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Cancelled"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.actions.act_window,help:fleet_vehicle_usage.fleet_vehicle_usage_action
+#: model_terms:ir.actions.act_window,help:fleet_vehicle_usage.fleet_vehicle_usage_action_from_vehicle
+msgid "Click to create a Fleet Vehicle Usage."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__company_id
+msgid "Company"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__partner_id
+msgid "Destination"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__user_id
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Driver"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#, python-format
+msgid "Every driver can only drive a vehicle at once!"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#, python-format
+msgid "Every vehicle can only be picked once at the same time!"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.actions.act_window,name:fleet_vehicle_usage.fleet_vehicle_usage_action
+#: model:ir.actions.act_window,name:fleet_vehicle_usage.fleet_vehicle_usage_action_from_vehicle
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__name
+msgid "Fleet Vehicle Usage"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_follower_ids
+msgid "Followers"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_partner_ids
+msgid "Followers (Partners)"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Group By..."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__has_message
+msgid "Has Message"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__id
+msgid "ID"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_icon
+msgid "Icon"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
+msgid "If checked, new messages require your attention."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
+msgid "If checked, some messages have a delivery error."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle__in_use
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__in_use
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "In Use"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_search
+msgid "In use"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_is_follower
+msgid "Is Follower"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_main_attachment_id
+msgid "Main Attachment"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
+msgid "Message Delivery error"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_ids
+msgid "Messages"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__draft
+#, python-format
+msgid "New"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_summary
+msgid "Next Activity Summary"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_id
+msgid "Next Activity Type"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Not Returned"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__notes
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Notes"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction_counter
+msgid "Number of Actions"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error_counter
+msgid "Number of errors"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction_counter
+msgid "Number of messages requiring action"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Pick"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__picking_user_id
+msgid "Picked up by"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__date_picking
+msgid "Picking Date"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Picking Date by Month"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Picking Month"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__reserved
+msgid "Reserved"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_user_id
+msgid "Responsible User"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Return"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__date_return
+msgid "Return Date"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__returned
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Returned"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__return_user_id
+msgid "Returned by"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__state
+msgid "State"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Status"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "To Pick"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
+msgid "Usage"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle__usage_ids
+#: model:ir.ui.menu,name:fleet_vehicle_usage.menu_fleet_vehicle_usage_action
+msgid "Usages"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__vehicle_id
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Vehicle"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle_usage
+msgid "Vehicle Usage"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website Messages"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website communication history"
+msgstr ""
diff --git a/fleet_vehicle_usage/models/__init__.py b/fleet_vehicle_usage/models/__init__.py
new file mode 100644
index 000000000..621bb6f41
--- /dev/null
+++ b/fleet_vehicle_usage/models/__init__.py
@@ -0,0 +1,2 @@
+from . import fleet_vehicle
+from . import fleet_vehicle_usage
diff --git a/fleet_vehicle_usage/models/fleet_vehicle.py b/fleet_vehicle_usage/models/fleet_vehicle.py
new file mode 100644
index 000000000..ee53827c7
--- /dev/null
+++ b/fleet_vehicle_usage/models/fleet_vehicle.py
@@ -0,0 +1,21 @@
+# Copyright 2021 César Fernández Domínguez
+# Copyright 2024 Tecnativa - Víctor Martínez
+# 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"
+
+ usage_ids = fields.One2many(
+ comodel_name="fleet.vehicle.usage", inverse_name="vehicle_id", string="Usages"
+ )
+ in_use = fields.Boolean(
+ compute="_compute_in_use",
+ store=True,
+ )
+
+ @api.depends("usage_ids", "usage_ids.state")
+ def _compute_in_use(self):
+ for item in self:
+ item.in_use = any(usage.state == "in_use" for usage in item.usage_ids)
diff --git a/fleet_vehicle_usage/models/fleet_vehicle_usage.py b/fleet_vehicle_usage/models/fleet_vehicle_usage.py
new file mode 100644
index 000000000..170883134
--- /dev/null
+++ b/fleet_vehicle_usage/models/fleet_vehicle_usage.py
@@ -0,0 +1,147 @@
+# Copyright 2021 César Fernández Domínguez
+# Copyright 2024 Tecnativa - Víctor Martínez
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+from odoo import _, api, fields, models
+from odoo.exceptions import UserError
+
+
+class FleetVehicleUsage(models.Model):
+ _name = "fleet.vehicle.usage"
+ _description = "Vehicle Usage"
+ _inherit = ["mail.thread", "mail.activity.mixin"]
+ _order = "name desc"
+
+ name = fields.Char(
+ string="Fleet Vehicle Usage",
+ copy=False,
+ readonly=True,
+ default=lambda x: _("New"),
+ )
+ state = fields.Selection(
+ selection=[
+ ("draft", "New"),
+ ("reserved", "Reserved"),
+ ("in_use", "In Use"),
+ ("returned", "Returned"),
+ ("cancel", "Cancelled"),
+ ],
+ readonly=True,
+ copy=False,
+ default="draft",
+ tracking=True,
+ )
+ company_id = fields.Many2one(
+ comodel_name="res.company",
+ string="Company",
+ required=True,
+ index=True,
+ default=lambda self: self.env.company.id,
+ readonly=True,
+ states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
+ tracking=True,
+ )
+ user_id = fields.Many2one(
+ comodel_name="res.users",
+ string="Driver",
+ required=True,
+ readonly=True,
+ states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
+ tracking=True,
+ )
+ picking_user_id = fields.Many2one(
+ comodel_name="res.users",
+ string="Picked up by",
+ readonly=True,
+ states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
+ tracking=True,
+ )
+ return_user_id = fields.Many2one(
+ comodel_name="res.users",
+ string="Returned by",
+ states={
+ "in_use": [("required", True)],
+ "returned": [("readonly", True)],
+ "cancel": [("readonly", True)],
+ },
+ tracking=True,
+ )
+ date_picking = fields.Datetime(
+ string="Picking Date",
+ copy=False,
+ index=True,
+ readonly=True,
+ states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
+ tracking=True,
+ )
+ date_return = fields.Datetime(
+ string="Return Date",
+ copy=False,
+ index=True,
+ states={"returned": [("readonly", True)], "cancel": [("readonly", True)]},
+ tracking=True,
+ )
+ vehicle_id = fields.Many2one(
+ comodel_name="fleet.vehicle",
+ string="Vehicle",
+ required=True,
+ readonly=True,
+ states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
+ tracking=True,
+ )
+ partner_id = fields.Many2one(
+ comodel_name="res.partner",
+ string="Destination",
+ readonly=True,
+ states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
+ change_default=True,
+ tracking=True,
+ )
+ notes = fields.Text()
+
+ @api.model_create_multi
+ def create(self, vals_list):
+ for vals in vals_list:
+ if not vals.get("name") or vals["name"] == _("New"):
+ vals["name"] = self.env["ir.sequence"].next_by_code(
+ "fleet.vehicle.usage"
+ ) or _("New")
+ return super().create(vals_list)
+
+ def action_pick(self):
+ to_pick = self.filtered(lambda x: x.state in ("draft", "reserved"))
+ to_pick_with_date = to_pick.filtered(lambda x: not x.date_picking)
+ to_pick_with_date.date_picking = fields.Datetime.now()
+ to_pick.state = "in_use"
+ return True
+
+ def action_return(self):
+ to_return = self.filtered(lambda x: x.state == "in_use")
+ to_return_with_date = to_return.filtered(lambda x: not x.date_return)
+ to_return_with_date.date_return = fields.Datetime.now()
+ to_return.state = "returned"
+ return True
+
+ def action_cancel(self):
+ to_cancel = self.filtered(lambda x: x.state not in ("returned", "cancel"))
+ to_cancel.state = "cancel"
+ return True
+
+ @api.onchange("user_id")
+ def _onchange_user_id(self):
+ for usage in self:
+ usage.picking_user_id = usage.user_id
+ usage.return_user_id = usage.user_id
+
+ @api.constrains("state")
+ def _constrains_state(self):
+ """Allow only one usage in use per vehicle and driver"""
+ for vehicle in self.mapped("vehicle_id"):
+ items = vehicle.usage_ids.filtered(lambda x: x.state == "in_use")
+ if len(items) > 1:
+ raise UserError(
+ _("Every vehicle can only be picked once at the same time!")
+ )
+ for driver in self.mapped("user_id"):
+ domain = [("user_id", "=", driver.id), ("state", "=", "in_use")]
+ if self.search_count(domain) > 1:
+ raise UserError(_("Every driver can only drive a vehicle at once!"))
diff --git a/fleet_vehicle_usage/readme/CONTRIBUTORS.rst b/fleet_vehicle_usage/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..fcd2c48a9
--- /dev/null
+++ b/fleet_vehicle_usage/readme/CONTRIBUTORS.rst
@@ -0,0 +1,6 @@
+* César Fernández Domínguez
+
+* `Tecnativa `_:
+
+ * Víctor Martínez
+ * Pedro M. Baeza
diff --git a/fleet_vehicle_usage/readme/DESCRIPTION.rst b/fleet_vehicle_usage/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..863982395
--- /dev/null
+++ b/fleet_vehicle_usage/readme/DESCRIPTION.rst
@@ -0,0 +1,2 @@
+This module allows to record usages of fleet vehicles by employees, with their dates,
+states and comments.
diff --git a/fleet_vehicle_usage/security/ir.model.access.csv b/fleet_vehicle_usage/security/ir.model.access.csv
new file mode 100644
index 000000000..8048fb66e
--- /dev/null
+++ b/fleet_vehicle_usage/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_fleet_vehicle_usage,fleet.vehicle.usage,model_fleet_vehicle_usage,fleet.fleet_group_user,1,1,1,0
+access_fleet_vehicle_usage_manager,fleet.vehicle.usage,model_fleet_vehicle_usage,fleet.fleet_group_manager,1,1,1,1
diff --git a/fleet_vehicle_usage/security/security.xml b/fleet_vehicle_usage/security/security.xml
new file mode 100644
index 000000000..251c62714
--- /dev/null
+++ b/fleet_vehicle_usage/security/security.xml
@@ -0,0 +1,9 @@
+
+
+
+ Fleet vehicle usage multi-company
+
+
+ [('company_id', 'in', [False] + company_ids)]
+
+
diff --git a/fleet_vehicle_usage/static/description/icon.png b/fleet_vehicle_usage/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_usage/static/description/index.html b/fleet_vehicle_usage/static/description/index.html
new file mode 100644
index 000000000..f8a661a00
--- /dev/null
+++ b/fleet_vehicle_usage/static/description/index.html
@@ -0,0 +1,430 @@
+
+
+
+
+
+
+Fleet Vehicle Usage
+
+
+
+
+
Fleet Vehicle Usage
+
+
+
+
This module allows to record usages of fleet vehicles by employees, with their dates,
+states and comments.
+
Table of contents
+
+
+
+
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.
+
+
+
+
+
+
+César Fernández
+Tecnativa
+
+
+
+
+
+César Fernández Domínguez
+Tecnativa :
+Víctor Martínez
+Pedro M. Baeza
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
Current maintainer :
+
+
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_usage/tests/__init__.py b/fleet_vehicle_usage/tests/__init__.py
new file mode 100644
index 000000000..2c11a9c9a
--- /dev/null
+++ b/fleet_vehicle_usage/tests/__init__.py
@@ -0,0 +1 @@
+from . import test_fleet_vehicle_usage
diff --git a/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py b/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py
new file mode 100644
index 000000000..6391e8ebd
--- /dev/null
+++ b/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py
@@ -0,0 +1,52 @@
+# Copyright 2024 Tecnativa - Víctor Martínez
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo.exceptions import UserError
+
+from odoo.addons.base.tests.common import BaseCommon
+
+
+class TestFleetVehicleUsage(BaseCommon):
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ cls.brand = cls.env["fleet.vehicle.model.brand"].create({"name": "Test brand"})
+ cls.model = cls.env["fleet.vehicle.model"].create(
+ {
+ "name": "Test model",
+ "brand_id": cls.brand.id,
+ "vehicle_type": "car",
+ }
+ )
+ cls.vehicle = cls.env["fleet.vehicle"].create({"model_id": cls.model.id})
+ cls.user = cls.env.ref("base.user_demo")
+
+ def _create_fleet_vehicle_usage(self, vehicle):
+ return self.env["fleet.vehicle.usage"].create(
+ {"vehicle_id": vehicle.id, "user_id": self.user.id}
+ )
+
+ def test_fleet_vehicle_usage(self):
+ usage = self._create_fleet_vehicle_usage(self.vehicle)
+ self.assertFalse(self.vehicle.in_use)
+ usage.action_pick()
+ self.assertTrue(usage.date_picking)
+ self.assertTrue(self.vehicle.in_use)
+ usage.action_return()
+ self.assertTrue(usage.date_return)
+ self.assertFalse(self.vehicle.in_use)
+
+ def test_fleet_vehicle_usage_constrain_1(self):
+ usage = self._create_fleet_vehicle_usage(self.vehicle)
+ usage.action_pick()
+ with self.assertRaises(UserError):
+ usage2 = self._create_fleet_vehicle_usage(self.vehicle)
+ usage2.action_pick()
+
+ def test_fleet_vehicle_usage_constrain_2(self):
+ usage = self._create_fleet_vehicle_usage(self.vehicle)
+ usage.action_pick()
+ vehicle2 = self.vehicle.copy()
+ with self.assertRaises(UserError):
+ usage2 = self._create_fleet_vehicle_usage(vehicle2)
+ usage2.action_pick()
diff --git a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
new file mode 100644
index 000000000..26594c059
--- /dev/null
+++ b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
@@ -0,0 +1,196 @@
+
+
+
+ fleet.vehicle.usage.tree
+ fleet.vehicle.usage
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fleet.vehicle.usage.form
+ fleet.vehicle.usage
+
+
+
+
+
+ fleet.vehicle.usage.search
+ fleet.vehicle.usage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fleet Vehicle Usage
+ ir.actions.act_window
+ fleet.vehicle.usage
+ tree,form
+
+
+ {'search_default_not_returned': 1}
+
+ Click to create a Fleet Vehicle Usage.
+
+
+
+
+ Fleet Vehicle Usage
+ ir.actions.act_window
+ fleet.vehicle.usage
+ tree,form
+
+
+ {'default_vehicle_id': active_id, 'search_default_not_returned': 1}
+ [('vehicle_id', '=', active_id)]
+
+ Click to create a Fleet Vehicle Usage.
+
+
+
diff --git a/fleet_vehicle_usage/views/fleet_vehicle_view.xml b/fleet_vehicle_usage/views/fleet_vehicle_view.xml
new file mode 100644
index 000000000..bcf04bbce
--- /dev/null
+++ b/fleet_vehicle_usage/views/fleet_vehicle_view.xml
@@ -0,0 +1,58 @@
+
+
+
+ fleet.vehicle.search
+ fleet.vehicle
+
+
+
+
+
+
+
+
+
+ fleet.vehicle.kanban
+ fleet.vehicle
+
+
+
+
+
+
+ In use
+
+
+
+
+ fleet.vehicle.form
+ fleet.vehicle
+
+
+
+
+
+
+
+ In use
+
+
+
+
From c6be037d5a727e43b2ee32020902ad7a83cd4ef5 Mon Sep 17 00:00:00 2001
From: mymage
Date: Tue, 27 Feb 2024 12:04:24 +0000
Subject: [PATCH 02/12] Added translation using Weblate (Italian)
Translated using Weblate (Italian)
Currently translated at 100.0% (71 of 71 strings)
Translation: fleet-16.0/fleet-16.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_usage/it/
[UPD] Update fleet_vehicle_usage.pot
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: fleet-16.0/fleet-16.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_usage/
---
fleet_vehicle_usage/i18n/es.po | 5 +
.../i18n/fleet_vehicle_usage.pot | 5 +
fleet_vehicle_usage/i18n/it.po | 409 ++++++++++++++++++
3 files changed, 419 insertions(+)
create mode 100644 fleet_vehicle_usage/i18n/it.po
diff --git a/fleet_vehicle_usage/i18n/es.po b/fleet_vehicle_usage/i18n/es.po
index 13df63f78..a1a2e6594 100644
--- a/fleet_vehicle_usage/i18n/es.po
+++ b/fleet_vehicle_usage/i18n/es.po
@@ -236,6 +236,11 @@ msgstr "Mi fecha de límite de actividad"
msgid "New"
msgstr "Nuevo"
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
+msgid "Next Activity Calendar Event"
+msgstr ""
+
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
msgid "Next Activity Deadline"
diff --git a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
index e52417d75..ddbe72b50 100644
--- a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
+++ b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
@@ -232,6 +232,11 @@ msgstr ""
msgid "New"
msgstr ""
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
+msgid "Next Activity Calendar Event"
+msgstr ""
+
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
msgid "Next Activity Deadline"
diff --git a/fleet_vehicle_usage/i18n/it.po b/fleet_vehicle_usage/i18n/it.po
new file mode 100644
index 000000000..78249a6e0
--- /dev/null
+++ b/fleet_vehicle_usage/i18n/it.po
@@ -0,0 +1,409 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * fleet_vehicle_usage
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 16.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2024-03-12 10:33+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_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
+msgid ""
+"In use "
+msgstr ""
+"In uso "
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
+msgid "Action Needed"
+msgstr "Azione richiesta"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_ids
+msgid "Activities"
+msgstr "Attività"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr "Decorazione eccezione attività"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_state
+msgid "Activity State"
+msgstr "Stato attività"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_icon
+msgid "Activity Type Icon"
+msgstr "Icona tipo attività"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_attachment_count
+msgid "Attachment Count"
+msgstr "Conteggio allegati"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Cancel"
+msgstr "Annulla"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__cancel
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Cancelled"
+msgstr "Annullato"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.actions.act_window,help:fleet_vehicle_usage.fleet_vehicle_usage_action
+#: model_terms:ir.actions.act_window,help:fleet_vehicle_usage.fleet_vehicle_usage_action_from_vehicle
+msgid "Click to create a Fleet Vehicle Usage."
+msgstr "Fare clic per creare l'utilizzo di un veicolo della flotta."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__company_id
+msgid "Company"
+msgstr "Azienda"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__create_uid
+msgid "Created by"
+msgstr "Creato da"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__create_date
+msgid "Created on"
+msgstr "Creato il"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__partner_id
+msgid "Destination"
+msgstr "Destinazione"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__display_name
+msgid "Display Name"
+msgstr "Nome visualizzato"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__user_id
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Driver"
+msgstr "Autista"
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#, python-format
+msgid "Every driver can only drive a vehicle at once!"
+msgstr "Ogni autista può guidare solo un veicolo alla volta!"
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#, python-format
+msgid "Every vehicle can only be picked once at the same time!"
+msgstr "Ogni veicolo può essere ritirato solo una volta nello stesso periodo!"
+
+#. module: fleet_vehicle_usage
+#: model:ir.actions.act_window,name:fleet_vehicle_usage.fleet_vehicle_usage_action
+#: model:ir.actions.act_window,name:fleet_vehicle_usage.fleet_vehicle_usage_action_from_vehicle
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__name
+msgid "Fleet Vehicle Usage"
+msgstr "Utilizzo veicolo flotta"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_follower_ids
+msgid "Followers"
+msgstr "Seguito da"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_partner_ids
+msgid "Followers (Partners)"
+msgstr "Seguito da (partner)"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr "Icona Font Awesome es. fa-tasks"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Group By..."
+msgstr "Raggruppa per..."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__has_message
+msgid "Has Message"
+msgstr "Ha un messaggio"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__id
+msgid "ID"
+msgstr "ID"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_icon
+msgid "Icon"
+msgstr "Icona"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr "Icona per indicare un'attività eccezione."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
+msgid "If checked, new messages require your attention."
+msgstr "Se selezionata, nuovi messaggi richiedono attenzione."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
+msgid "If checked, some messages have a delivery error."
+msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna."
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle__in_use
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__in_use
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "In Use"
+msgstr "In uso"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_search
+msgid "In use"
+msgstr "In uso"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_is_follower
+msgid "Is Follower"
+msgstr "Segue"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage____last_update
+msgid "Last Modified on"
+msgstr "Ultima modifica il"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_uid
+msgid "Last Updated by"
+msgstr "Ultimo aggiornamento di"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_date
+msgid "Last Updated on"
+msgstr "Ultimo aggiornamento il"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_main_attachment_id
+msgid "Main Attachment"
+msgstr "Allegato principale"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
+msgid "Message Delivery error"
+msgstr "Errore di consegna messaggio"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_ids
+msgid "Messages"
+msgstr "Messaggi"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr "Scadenza mia attività"
+
+#. module: fleet_vehicle_usage
+#. odoo-python
+#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__draft
+#, python-format
+msgid "New"
+msgstr "Nuovo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
+msgid "Next Activity Calendar Event"
+msgstr "Evento calendario attività successiva"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr "Scadenza prossima attività"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_summary
+msgid "Next Activity Summary"
+msgstr "Riepilogo prossima attività"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_type_id
+msgid "Next Activity Type"
+msgstr "Tipo prossima attività"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Not Returned"
+msgstr "Non rientrato"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__notes
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Notes"
+msgstr "Note"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction_counter
+msgid "Number of Actions"
+msgstr "Numero di azioni"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error_counter
+msgid "Number of errors"
+msgstr "Numero di errori"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction_counter
+msgid "Number of messages requiring action"
+msgstr "Numero di messaggi che richiedono un'azione"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr "Numero di messaggi con errore di consegna"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Pick"
+msgstr "Ritiro"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__picking_user_id
+msgid "Picked up by"
+msgstr "Ritirato da"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__date_picking
+msgid "Picking Date"
+msgstr "Data ritiro"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Picking Date by Month"
+msgstr "Data ritiro per mese"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Picking Month"
+msgstr "Mese ritiro"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__reserved
+msgid "Reserved"
+msgstr "Prenotato"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_user_id
+msgid "Responsible User"
+msgstr "Utente responsabile"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_form
+msgid "Return"
+msgstr "Rientro"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__date_return
+msgid "Return Date"
+msgstr "Data restituzione"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__returned
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Returned"
+msgstr "Restituito"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__return_user_id
+msgid "Returned by"
+msgstr "Restituito da"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__state
+msgid "State"
+msgstr "Stato"
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Status"
+msgstr "Stato"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+"Stato in base alle attività\n"
+"Scaduto: la data richiesta è trascorsa\n"
+"Oggi: la data attività è oggi\n"
+"Pianificato: attività future."
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "To Pick"
+msgstr "Da ritirare"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr "Tipo di attività eccezione sul record."
+
+#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
+msgid "Usage"
+msgstr "Uilizzo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle__usage_ids
+#: model:ir.ui.menu,name:fleet_vehicle_usage.menu_fleet_vehicle_usage_action
+msgid "Usages"
+msgstr "Uilizzi"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__vehicle_id
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_usage_search
+msgid "Vehicle"
+msgstr "Veicolo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle_usage
+msgid "Vehicle Usage"
+msgstr "Utilizzo veicolo"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website Messages"
+msgstr "Messaggi sito web"
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website communication history"
+msgstr "Cronologia comunicazioni sito web"
From 64854e08a5a6b9eaac1be0b1e699c09d3e8cdd8c Mon Sep 17 00:00:00 2001
From: Ivorra78
Date: Mon, 25 Mar 2024 18:40:50 +0000
Subject: [PATCH 03/12] Translated using Weblate (Spanish)
Currently translated at 100.0% (72 of 72 strings)
Translation: fleet-16.0/fleet-16.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-16-0/fleet-16-0-fleet_vehicle_usage/es/
---
fleet_vehicle_usage/i18n/es.po | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/fleet_vehicle_usage/i18n/es.po b/fleet_vehicle_usage/i18n/es.po
index a1a2e6594..363b82581 100644
--- a/fleet_vehicle_usage/i18n/es.po
+++ b/fleet_vehicle_usage/i18n/es.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-26 08:22+0000\n"
-"PO-Revision-Date: 2024-02-26 09:27+0100\n"
-"Last-Translator: \n"
+"PO-Revision-Date: 2024-03-25 20:37+0000\n"
+"Last-Translator: Ivorra78 \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: \n"
-"X-Generator: Poedit 3.0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. module: fleet_vehicle_usage
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
@@ -239,7 +239,7 @@ msgstr "Nuevo"
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
msgid "Next Activity Calendar Event"
-msgstr ""
+msgstr "Próximo Evento del Calendario de Actividades"
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
@@ -402,9 +402,9 @@ msgstr "Uso de vehículo"
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
msgid "Website Messages"
-msgstr ""
+msgstr "Mensajes de la Página Web"
#. module: fleet_vehicle_usage
#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
msgid "Website communication history"
-msgstr ""
+msgstr "Historial de la comunicación en el sitio web"
From 505357b7b2bc2e27f317b3342768ecdf36cc0f5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Thu, 19 Dec 2024 14:51:12 +0100
Subject: [PATCH 04/12] [IMP] fleet_vehicle_usage: pre-commit auto fixes
---
fleet_vehicle_usage/README.rst | 29 +++++++++----------
fleet_vehicle_usage/pyproject.toml | 3 ++
fleet_vehicle_usage/readme/CONTRIBUTORS.md | 4 +++
fleet_vehicle_usage/readme/CONTRIBUTORS.rst | 6 ----
.../{DESCRIPTION.rst => DESCRIPTION.md} | 4 +--
.../static/description/index.html | 22 +++++++-------
6 files changed, 35 insertions(+), 33 deletions(-)
create mode 100644 fleet_vehicle_usage/pyproject.toml
create mode 100644 fleet_vehicle_usage/readme/CONTRIBUTORS.md
delete mode 100644 fleet_vehicle_usage/readme/CONTRIBUTORS.rst
rename fleet_vehicle_usage/readme/{DESCRIPTION.rst => DESCRIPTION.md} (59%)
diff --git a/fleet_vehicle_usage/README.rst b/fleet_vehicle_usage/README.rst
index e45f7004d..2938253bd 100644
--- a/fleet_vehicle_usage/README.rst
+++ b/fleet_vehicle_usage/README.rst
@@ -17,19 +17,19 @@ Fleet Vehicle Usage
: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_usage
+ :target: https://github.com/OCA/fleet/tree/17.0/fleet_vehicle_usage
: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_usage
+ :target: https://translation.odoo-community.org/projects/fleet-17-0/fleet-17-0-fleet_vehicle_usage
: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=17.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
-This module allows to record usages of fleet vehicles by employees, with their dates,
-states and comments.
+This module allows to record usages of fleet vehicles by employees, with
+their dates, states and comments.
**Table of contents**
@@ -42,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.
@@ -50,23 +50,22 @@ Credits
=======
Authors
-~~~~~~~
+-------
* César Fernández
* Tecnativa
Contributors
-~~~~~~~~~~~~
+------------
-* César Fernández Domínguez
+- César Fernández Domínguez
+- `Tecnativa `__:
-* `Tecnativa `_:
-
- * Víctor Martínez
- * Pedro M. Baeza
+ - Víctor Martínez
+ - Pedro M. Baeza
Maintainers
-~~~~~~~~~~~
+-----------
This module is maintained by the OCA.
@@ -86,6 +85,6 @@ Current `maintainer `__:
|maintainer-victoralmau|
-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_usage/pyproject.toml b/fleet_vehicle_usage/pyproject.toml
new file mode 100644
index 000000000..4231d0ccc
--- /dev/null
+++ b/fleet_vehicle_usage/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["whool"]
+build-backend = "whool.buildapi"
diff --git a/fleet_vehicle_usage/readme/CONTRIBUTORS.md b/fleet_vehicle_usage/readme/CONTRIBUTORS.md
new file mode 100644
index 000000000..4d8764ff4
--- /dev/null
+++ b/fleet_vehicle_usage/readme/CONTRIBUTORS.md
@@ -0,0 +1,4 @@
+- César Fernández Domínguez
+- [Tecnativa](https://www.tecnativa.com):
+ - Víctor Martínez
+ - Pedro M. Baeza
diff --git a/fleet_vehicle_usage/readme/CONTRIBUTORS.rst b/fleet_vehicle_usage/readme/CONTRIBUTORS.rst
deleted file mode 100644
index fcd2c48a9..000000000
--- a/fleet_vehicle_usage/readme/CONTRIBUTORS.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-* César Fernández Domínguez
-
-* `Tecnativa `_:
-
- * Víctor Martínez
- * Pedro M. Baeza
diff --git a/fleet_vehicle_usage/readme/DESCRIPTION.rst b/fleet_vehicle_usage/readme/DESCRIPTION.md
similarity index 59%
rename from fleet_vehicle_usage/readme/DESCRIPTION.rst
rename to fleet_vehicle_usage/readme/DESCRIPTION.md
index 863982395..9b5a3db46 100644
--- a/fleet_vehicle_usage/readme/DESCRIPTION.rst
+++ b/fleet_vehicle_usage/readme/DESCRIPTION.md
@@ -1,2 +1,2 @@
-This module allows to record usages of fleet vehicles by employees, with their dates,
-states and comments.
+This module allows to record usages of fleet vehicles by employees, with
+their dates, states and comments.
diff --git a/fleet_vehicle_usage/static/description/index.html b/fleet_vehicle_usage/static/description/index.html
index f8a661a00..00a729020 100644
--- a/fleet_vehicle_usage/static/description/index.html
+++ b/fleet_vehicle_usage/static/description/index.html
@@ -1,4 +1,3 @@
-
@@ -9,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.
@@ -275,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 }
@@ -301,7 +301,7 @@
span.pre {
white-space: pre }
-span.problematic {
+span.problematic, pre.problematic {
color: red }
span.section-subtitle {
@@ -369,9 +369,9 @@ Fleet Vehicle Usage
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:85114223f558913640aa0d6f2a8b901e47cdf5b1c3bbda790c07e92dba8f8d79
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
-This module allows to record usages of fleet vehicles by employees, with their dates,
-states and comments.
+
+This module allows to record usages of fleet vehicles by employees, with
+their dates, states and comments.
Table of contents
@@ -389,7 +389,7 @@
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.
@@ -415,13 +415,15 @@
This module is maintained by the OCA.
-
+
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
Current maintainer :
-
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 cb5bb97a626ef21997e2eb6ab3a99f94ac04a05c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Thu, 19 Dec 2024 14:52:06 +0100
Subject: [PATCH 05/12] [MIG] fleet_vehicle_usage: Migration to 17.0
TT52301
---
fleet_vehicle_usage/README.rst | 10 ++---
fleet_vehicle_usage/__manifest__.py | 2 +-
.../i18n/fleet_vehicle_usage.pot | 31 +-------------
.../models/fleet_vehicle_usage.py | 18 ---------
.../static/description/index.html | 2 +-
.../views/fleet_vehicle_usage_view.xml | 40 ++++++++++++++-----
.../views/fleet_vehicle_view.xml | 10 +----
7 files changed, 41 insertions(+), 72 deletions(-)
diff --git a/fleet_vehicle_usage/README.rst b/fleet_vehicle_usage/README.rst
index 2938253bd..3b5d92ed3 100644
--- a/fleet_vehicle_usage/README.rst
+++ b/fleet_vehicle_usage/README.rst
@@ -7,7 +7,7 @@ Fleet Vehicle Usage
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:85114223f558913640aa0d6f2a8b901e47cdf5b1c3bbda790c07e92dba8f8d79
+ !! source digest: sha256:0cf5d6f3aa19c8e7999d21d9011ece298d81de236f6775714cbad56cae750fa2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -58,11 +58,11 @@ Authors
Contributors
------------
-- César Fernández Domínguez
-- `Tecnativa `__:
+- César Fernández Domínguez
+- `Tecnativa `__:
- - Víctor Martínez
- - Pedro M. Baeza
+ - Víctor Martínez
+ - Pedro M. Baeza
Maintainers
-----------
diff --git a/fleet_vehicle_usage/__manifest__.py b/fleet_vehicle_usage/__manifest__.py
index ba9ffba05..8ccca64b0 100644
--- a/fleet_vehicle_usage/__manifest__.py
+++ b/fleet_vehicle_usage/__manifest__.py
@@ -3,7 +3,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Fleet Vehicle Usage",
- "version": "16.0.1.0.0",
+ "version": "17.0.1.0.0",
"category": "Human Resources/Fleet",
"website": "https://github.com/OCA/fleet",
"author": "César Fernández, Tecnativa, Odoo Community Association (OCA)",
diff --git a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
index ddbe72b50..73ac651f5 100644
--- a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
+++ b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 16.0\n"
+"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -16,9 +16,7 @@ msgstr ""
#. module: fleet_vehicle_usage
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
-msgid ""
-"In use "
+msgid "In use "
msgstr ""
#. module: fleet_vehicle_usage
@@ -187,11 +185,6 @@ msgstr ""
msgid "Is Follower"
msgstr ""
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage____last_update
-msgid "Last Modified on"
-msgstr ""
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_uid
msgid "Last Updated by"
@@ -202,11 +195,6 @@ msgstr ""
msgid "Last Updated on"
msgstr ""
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_main_attachment_id
-msgid "Main Attachment"
-msgstr ""
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
msgid "Message Delivery error"
@@ -232,11 +220,6 @@ msgstr ""
msgid "New"
msgstr ""
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
-msgid "Next Activity Calendar Event"
-msgstr ""
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
msgid "Next Activity Deadline"
@@ -390,13 +373,3 @@ msgstr ""
#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle_usage
msgid "Vehicle Usage"
msgstr ""
-
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
-msgid "Website Messages"
-msgstr ""
-
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
-msgid "Website communication history"
-msgstr ""
diff --git a/fleet_vehicle_usage/models/fleet_vehicle_usage.py b/fleet_vehicle_usage/models/fleet_vehicle_usage.py
index 170883134..27cd53560 100644
--- a/fleet_vehicle_usage/models/fleet_vehicle_usage.py
+++ b/fleet_vehicle_usage/models/fleet_vehicle_usage.py
@@ -36,63 +36,45 @@ class FleetVehicleUsage(models.Model):
required=True,
index=True,
default=lambda self: self.env.company.id,
- readonly=True,
- states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
tracking=True,
)
user_id = fields.Many2one(
comodel_name="res.users",
string="Driver",
required=True,
- readonly=True,
- states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
tracking=True,
)
picking_user_id = fields.Many2one(
comodel_name="res.users",
string="Picked up by",
- readonly=True,
- states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
tracking=True,
)
return_user_id = fields.Many2one(
comodel_name="res.users",
string="Returned by",
- states={
- "in_use": [("required", True)],
- "returned": [("readonly", True)],
- "cancel": [("readonly", True)],
- },
tracking=True,
)
date_picking = fields.Datetime(
string="Picking Date",
copy=False,
index=True,
- readonly=True,
- states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
tracking=True,
)
date_return = fields.Datetime(
string="Return Date",
copy=False,
index=True,
- states={"returned": [("readonly", True)], "cancel": [("readonly", True)]},
tracking=True,
)
vehicle_id = fields.Many2one(
comodel_name="fleet.vehicle",
string="Vehicle",
required=True,
- readonly=True,
- states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
tracking=True,
)
partner_id = fields.Many2one(
comodel_name="res.partner",
string="Destination",
- readonly=True,
- states={"draft": [("readonly", False)], "reserved": [("readonly", False)]},
change_default=True,
tracking=True,
)
diff --git a/fleet_vehicle_usage/static/description/index.html b/fleet_vehicle_usage/static/description/index.html
index 00a729020..69cba3c38 100644
--- a/fleet_vehicle_usage/static/description/index.html
+++ b/fleet_vehicle_usage/static/description/index.html
@@ -367,7 +367,7 @@ Fleet Vehicle Usage
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! source digest: sha256:85114223f558913640aa0d6f2a8b901e47cdf5b1c3bbda790c07e92dba8f8d79
+!! source digest: sha256:0cf5d6f3aa19c8e7999d21d9011ece298d81de236f6775714cbad56cae750fa2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
This module allows to record usages of fleet vehicles by employees, with
diff --git a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
index 26594c059..d45275f6d 100644
--- a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
+++ b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
@@ -23,21 +23,21 @@
@@ -51,13 +51,23 @@
-
-
+
+
-
+
@@ -67,16 +77,26 @@
-
-
+
+
diff --git a/fleet_vehicle_usage/views/fleet_vehicle_view.xml b/fleet_vehicle_usage/views/fleet_vehicle_view.xml
index bcf04bbce..232180b36 100644
--- a/fleet_vehicle_usage/views/fleet_vehicle_view.xml
+++ b/fleet_vehicle_usage/views/fleet_vehicle_view.xml
@@ -24,10 +24,7 @@
- In use
+ In use
@@ -48,10 +45,7 @@
- In use
+ In use
From eacf842a78b81790080aa1b015cd03dff734f491 Mon Sep 17 00:00:00 2001
From: Weblate
Date: Thu, 19 Dec 2024 19:14:23 +0000
Subject: [PATCH 06/12] Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: fleet-17.0/fleet-17.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-17-0/fleet-17-0-fleet_vehicle_usage/
---
fleet_vehicle_usage/i18n/es.po | 48 +++++++++++++++-------------------
fleet_vehicle_usage/i18n/it.po | 48 +++++++++++++++-------------------
2 files changed, 42 insertions(+), 54 deletions(-)
diff --git a/fleet_vehicle_usage/i18n/es.po b/fleet_vehicle_usage/i18n/es.po
index 363b82581..4dd0872b9 100644
--- a/fleet_vehicle_usage/i18n/es.po
+++ b/fleet_vehicle_usage/i18n/es.po
@@ -21,11 +21,8 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
msgid ""
-"In use "
+"In use "
msgstr ""
-"En uso "
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
@@ -193,11 +190,6 @@ msgstr "En uso"
msgid "Is Follower"
msgstr "Es Seguidor"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage____last_update
-msgid "Last Modified on"
-msgstr "Última Modificación el"
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_uid
msgid "Last Updated by"
@@ -208,11 +200,6 @@ msgstr "Ultima actualización por"
msgid "Last Updated on"
msgstr "Fecha modificación"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_main_attachment_id
-msgid "Main Attachment"
-msgstr "Adjunto Principal"
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
msgid "Message Delivery error"
@@ -236,11 +223,6 @@ msgstr "Mi fecha de límite de actividad"
msgid "New"
msgstr "Nuevo"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
-msgid "Next Activity Calendar Event"
-msgstr "Próximo Evento del Calendario de Actividades"
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
msgid "Next Activity Deadline"
@@ -399,12 +381,24 @@ msgstr "Vehículo"
msgid "Vehicle Usage"
msgstr "Uso de vehículo"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
-msgid "Website Messages"
-msgstr "Mensajes de la Página Web"
+#~ msgid ""
+#~ "In use "
+#~ msgstr ""
+#~ "En uso "
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
-msgid "Website communication history"
-msgstr "Historial de la comunicación en el sitio web"
+#~ msgid "Last Modified on"
+#~ msgstr "Última Modificación el"
+
+#~ msgid "Main Attachment"
+#~ msgstr "Adjunto Principal"
+
+#~ msgid "Next Activity Calendar Event"
+#~ msgstr "Próximo Evento del Calendario de Actividades"
+
+#~ msgid "Website Messages"
+#~ msgstr "Mensajes de la Página Web"
+
+#~ msgid "Website communication history"
+#~ msgstr "Historial de la comunicación en el sitio web"
diff --git a/fleet_vehicle_usage/i18n/it.po b/fleet_vehicle_usage/i18n/it.po
index 78249a6e0..adfc6909a 100644
--- a/fleet_vehicle_usage/i18n/it.po
+++ b/fleet_vehicle_usage/i18n/it.po
@@ -20,11 +20,8 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
msgid ""
-"In use "
+"In use "
msgstr ""
-"In uso "
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
@@ -192,11 +189,6 @@ msgstr "In uso"
msgid "Is Follower"
msgstr "Segue"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage____last_update
-msgid "Last Modified on"
-msgstr "Ultima modifica il"
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__write_uid
msgid "Last Updated by"
@@ -207,11 +199,6 @@ msgstr "Ultimo aggiornamento di"
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_main_attachment_id
-msgid "Main Attachment"
-msgstr "Allegato principale"
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_has_error
msgid "Message Delivery error"
@@ -235,11 +222,6 @@ msgstr "Scadenza mia attività"
msgid "New"
msgstr "Nuovo"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_calendar_event_id
-msgid "Next Activity Calendar Event"
-msgstr "Evento calendario attività successiva"
-
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__activity_date_deadline
msgid "Next Activity Deadline"
@@ -398,12 +380,24 @@ msgstr "Veicolo"
msgid "Vehicle Usage"
msgstr "Utilizzo veicolo"
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
-msgid "Website Messages"
-msgstr "Messaggi sito web"
+#~ msgid ""
+#~ "In use "
+#~ msgstr ""
+#~ "In uso "
-#. module: fleet_vehicle_usage
-#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
-msgid "Website communication history"
-msgstr "Cronologia comunicazioni sito web"
+#~ msgid "Last Modified on"
+#~ msgstr "Ultima modifica il"
+
+#~ msgid "Main Attachment"
+#~ msgstr "Allegato principale"
+
+#~ msgid "Next Activity Calendar Event"
+#~ msgstr "Evento calendario attività successiva"
+
+#~ msgid "Website Messages"
+#~ msgstr "Messaggi sito web"
+
+#~ msgid "Website communication history"
+#~ msgstr "Cronologia comunicazioni sito web"
From 7939b993a0354a2c55732928eec72d1c46239614 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Fri, 20 Dec 2024 07:01:46 +0000
Subject: [PATCH 07/12] Translated using Weblate (Spanish)
Currently translated at 100.0% (67 of 67 strings)
Translation: fleet-17.0/fleet-17.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-17-0/fleet-17-0-fleet_vehicle_usage/es/
---
fleet_vehicle_usage/i18n/es.po | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/fleet_vehicle_usage/i18n/es.po b/fleet_vehicle_usage/i18n/es.po
index 4dd0872b9..333a4b39b 100644
--- a/fleet_vehicle_usage/i18n/es.po
+++ b/fleet_vehicle_usage/i18n/es.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-26 08:22+0000\n"
-"PO-Revision-Date: 2024-03-25 20:37+0000\n"
-"Last-Translator: Ivorra78 \n"
+"PO-Revision-Date: 2024-12-20 09:06+0000\n"
+"Last-Translator: Víctor Martínez \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.17\n"
+"X-Generator: Weblate 5.6.2\n"
#. module: fleet_vehicle_usage
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
@@ -23,6 +23,7 @@ msgstr ""
msgid ""
"In use "
msgstr ""
+"En uso "
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
From 1d5e61ef76de5a7573c6d1a7bb9deb780886d7bb Mon Sep 17 00:00:00 2001
From: mymage
Date: Fri, 20 Dec 2024 15:55:32 +0000
Subject: [PATCH 08/12] Translated using Weblate (Italian)
Currently translated at 100.0% (67 of 67 strings)
Translation: fleet-17.0/fleet-17.0-fleet_vehicle_usage
Translate-URL: https://translation.odoo-community.org/projects/fleet-17-0/fleet-17-0-fleet_vehicle_usage/it/
---
fleet_vehicle_usage/i18n/it.po | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fleet_vehicle_usage/i18n/it.po b/fleet_vehicle_usage/i18n/it.po
index adfc6909a..e7ea57783 100644
--- a/fleet_vehicle_usage/i18n/it.po
+++ b/fleet_vehicle_usage/i18n/it.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-12 10:33+0000\n"
+"PO-Revision-Date: 2024-12-20 18:06+0000\n"
"Last-Translator: mymage \n"
"Language-Team: none\n"
"Language: it\n"
@@ -14,7 +14,7 @@ msgstr ""
"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"
+"X-Generator: Weblate 5.6.2\n"
#. module: fleet_vehicle_usage
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
@@ -22,6 +22,7 @@ msgstr ""
msgid ""
"In use "
msgstr ""
+"In uso "
#. module: fleet_vehicle_usage
#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__message_needaction
From 617a0e15c83f183198739cc3df20555552890b91 Mon Sep 17 00:00:00 2001
From: Ruchir Shukla
Date: Fri, 7 Nov 2025 14:35:12 +0530
Subject: [PATCH 09/12] [MIG] fleet_vehicle_usage: Migration to 18.0
---
fleet_vehicle_usage/README.rst | 10 +++++-----
fleet_vehicle_usage/__manifest__.py | 2 +-
fleet_vehicle_usage/static/description/index.html | 6 +++---
.../views/fleet_vehicle_usage_view.xml | 14 +++++---------
fleet_vehicle_usage/views/fleet_vehicle_view.xml | 7 +++++--
5 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/fleet_vehicle_usage/README.rst b/fleet_vehicle_usage/README.rst
index 3b5d92ed3..829d89afc 100644
--- a/fleet_vehicle_usage/README.rst
+++ b/fleet_vehicle_usage/README.rst
@@ -17,13 +17,13 @@ Fleet Vehicle Usage
: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/17.0/fleet_vehicle_usage
+ :target: https://github.com/OCA/fleet/tree/18.0/fleet_vehicle_usage
:alt: OCA/fleet
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/fleet-17-0/fleet-17-0-fleet_vehicle_usage
+ :target: https://translation.odoo-community.org/projects/fleet-18-0/fleet-18-0-fleet_vehicle_usage
: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=17.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|
@@ -42,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.
@@ -85,6 +85,6 @@ Current `maintainer `__:
|maintainer-victoralmau|
-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_usage/__manifest__.py b/fleet_vehicle_usage/__manifest__.py
index 8ccca64b0..6b5a4b9fd 100644
--- a/fleet_vehicle_usage/__manifest__.py
+++ b/fleet_vehicle_usage/__manifest__.py
@@ -3,7 +3,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Fleet Vehicle Usage",
- "version": "17.0.1.0.0",
+ "version": "18.0.1.0.0",
"category": "Human Resources/Fleet",
"website": "https://github.com/OCA/fleet",
"author": "César Fernández, Tecnativa, Odoo Community Association (OCA)",
diff --git a/fleet_vehicle_usage/static/description/index.html b/fleet_vehicle_usage/static/description/index.html
index 69cba3c38..6e66dfa5e 100644
--- a/fleet_vehicle_usage/static/description/index.html
+++ b/fleet_vehicle_usage/static/description/index.html
@@ -369,7 +369,7 @@ Fleet Vehicle Usage
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0cf5d6f3aa19c8e7999d21d9011ece298d81de236f6775714cbad56cae750fa2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module allows to record usages of fleet vehicles by employees, with
their dates, states and comments.
Table of contents
@@ -389,7 +389,7 @@
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.
diff --git a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
index d45275f6d..002d24fca 100644
--- a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
+++ b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
@@ -4,7 +4,7 @@
fleet.vehicle.usage.tree
fleet.vehicle.usage
-
+
@@ -12,7 +12,7 @@
-
+
@@ -102,11 +102,7 @@
-
-
-
-
-
+
@@ -179,7 +175,7 @@
Fleet Vehicle Usage
ir.actions.act_window
fleet.vehicle.usage
- tree,form
+ list,form
{'search_default_not_returned': 1}
@@ -200,7 +196,7 @@
Fleet Vehicle Usage
ir.actions.act_window
fleet.vehicle.usage
- tree,form
+ list,form
-
- In use
+
+ In use
From 6c9f2c563aea9ba5dddf2ed6069dcfe61860e91d Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Tue, 7 Apr 2026 13:12:32 +0000
Subject: [PATCH 10/12] [UPD] Update fleet_vehicle_usage.pot
---
.../i18n/fleet_vehicle_usage.pot | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
index 73ac651f5..93ac52e08 100644
--- a/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
+++ b/fleet_vehicle_usage/i18n/fleet_vehicle_usage.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 17.0\n"
+"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -15,7 +15,6 @@ msgstr ""
#. module: fleet_vehicle_usage
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_form
-#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
msgid "In use "
msgstr ""
@@ -100,14 +99,12 @@ msgstr ""
#. module: fleet_vehicle_usage
#. odoo-python
#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
-#, python-format
msgid "Every driver can only drive a vehicle at once!"
msgstr ""
#. module: fleet_vehicle_usage
#. odoo-python
#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
-#, python-format
msgid "Every vehicle can only be picked once at the same time!"
msgstr ""
@@ -176,6 +173,7 @@ msgid "In Use"
msgstr ""
#. module: fleet_vehicle_usage
+#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_kanban
#: model_terms:ir.ui.view,arch_db:fleet_vehicle_usage.fleet_vehicle_view_search
msgid "In use"
msgstr ""
@@ -213,10 +211,7 @@ msgstr ""
#. module: fleet_vehicle_usage
#. odoo-python
#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
-#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
-#: code:addons/fleet_vehicle_usage/models/fleet_vehicle_usage.py:0
#: model:ir.model.fields.selection,name:fleet_vehicle_usage.selection__fleet_vehicle_usage__state__draft
-#, python-format
msgid "New"
msgstr ""
@@ -373,3 +368,13 @@ msgstr ""
#: model:ir.model,name:fleet_vehicle_usage.model_fleet_vehicle_usage
msgid "Vehicle Usage"
msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,field_description:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website Messages"
+msgstr ""
+
+#. module: fleet_vehicle_usage
+#: model:ir.model.fields,help:fleet_vehicle_usage.field_fleet_vehicle_usage__website_message_ids
+msgid "Website communication history"
+msgstr ""
From f348dff0b174ebfb195d7e8971ce89d1279b3048 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Tue, 7 Apr 2026 13:15:11 +0000
Subject: [PATCH 11/12] [BOT] post-merge updates
---
fleet_vehicle_usage/README.rst | 8 ++++--
.../static/description/index.html | 26 ++++++++++++-------
2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/fleet_vehicle_usage/README.rst b/fleet_vehicle_usage/README.rst
index 829d89afc..d5e2098ca 100644
--- a/fleet_vehicle_usage/README.rst
+++ b/fleet_vehicle_usage/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 Usage
===================
@@ -7,13 +11,13 @@ Fleet Vehicle Usage
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:0cf5d6f3aa19c8e7999d21d9011ece298d81de236f6775714cbad56cae750fa2
+ !! source digest: sha256:990c7c76bf5902ef1bf2485846bbdbd36ad0c3a490993fc97ea247be4db9c018
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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_usage/static/description/index.html b/fleet_vehicle_usage/static/description/index.html
index 6e66dfa5e..c59fd13b4 100644
--- a/fleet_vehicle_usage/static/description/index.html
+++ b/fleet_vehicle_usage/static/description/index.html
@@ -3,7 +3,7 @@
-Fleet Vehicle Usage
+README.rst
-
-
Fleet Vehicle Usage
+
+
+
+
+
+
+
Fleet Vehicle Usage
-
+
This module allows to record usages of fleet vehicles by employees, with
their dates, states and comments.
Table of contents
@@ -385,7 +390,7 @@
Fleet Vehicle Usage
-
+
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,16 +398,16 @@
Do not contact contributors directly about support or help with technical issues.
-
+
-
+
César Fernández
Tecnativa
-
+
This module is maintained by the OCA.
@@ -428,5 +433,6 @@
+
From b3060491e6f31da9c6f15d8885a1c326c1174325 Mon Sep 17 00:00:00 2001
From: Gabriel Medice
Date: Mon, 20 Jul 2026 10:48:18 -0300
Subject: [PATCH 12/12] [MIG] fleet_vehicle_usage: Migration to 19.0
---
fleet_vehicle_usage/README.rst | 10 +++++-----
fleet_vehicle_usage/__manifest__.py | 2 +-
.../models/fleet_vehicle_usage.py | 16 ++++++++++------
.../static/description/index.html | 6 +++---
.../tests/test_fleet_vehicle_usage.py | 17 ++++++++++++++++-
.../views/fleet_vehicle_usage_view.xml | 2 +-
6 files changed, 36 insertions(+), 17 deletions(-)
diff --git a/fleet_vehicle_usage/README.rst b/fleet_vehicle_usage/README.rst
index d5e2098ca..2df0ddf80 100644
--- a/fleet_vehicle_usage/README.rst
+++ b/fleet_vehicle_usage/README.rst
@@ -21,13 +21,13 @@ Fleet Vehicle Usage
: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_usage
+ :target: https://github.com/OCA/fleet/tree/19.0/fleet_vehicle_usage
: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_usage
+ :target: https://translation.odoo-community.org/projects/fleet-19-0/fleet-19-0-fleet_vehicle_usage
: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.
@@ -89,6 +89,6 @@ Current `maintainer `__:
|maintainer-victoralmau|
-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_usage/__manifest__.py b/fleet_vehicle_usage/__manifest__.py
index 6b5a4b9fd..5a3437036 100644
--- a/fleet_vehicle_usage/__manifest__.py
+++ b/fleet_vehicle_usage/__manifest__.py
@@ -3,7 +3,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Fleet Vehicle Usage",
- "version": "18.0.1.0.0",
+ "version": "19.0.1.0.0",
"category": "Human Resources/Fleet",
"website": "https://github.com/OCA/fleet",
"author": "César Fernández, Tecnativa, Odoo Community Association (OCA)",
diff --git a/fleet_vehicle_usage/models/fleet_vehicle_usage.py b/fleet_vehicle_usage/models/fleet_vehicle_usage.py
index 27cd53560..581663552 100644
--- a/fleet_vehicle_usage/models/fleet_vehicle_usage.py
+++ b/fleet_vehicle_usage/models/fleet_vehicle_usage.py
@@ -1,7 +1,7 @@
# Copyright 2021 César Fernández Domínguez
# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-from odoo import _, api, fields, models
+from odoo import api, fields, models
from odoo.exceptions import UserError
@@ -15,7 +15,7 @@ class FleetVehicleUsage(models.Model):
string="Fleet Vehicle Usage",
copy=False,
readonly=True,
- default=lambda x: _("New"),
+ default=lambda x: x.env._("New"),
)
state = fields.Selection(
selection=[
@@ -83,10 +83,10 @@ class FleetVehicleUsage(models.Model):
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
- if not vals.get("name") or vals["name"] == _("New"):
+ if not vals.get("name") or vals["name"] == self.env._("New"):
vals["name"] = self.env["ir.sequence"].next_by_code(
"fleet.vehicle.usage"
- ) or _("New")
+ ) or self.env._("New")
return super().create(vals_list)
def action_pick(self):
@@ -121,9 +121,13 @@ def _constrains_state(self):
items = vehicle.usage_ids.filtered(lambda x: x.state == "in_use")
if len(items) > 1:
raise UserError(
- _("Every vehicle can only be picked once at the same time!")
+ self.env._(
+ "Every vehicle can only be picked once at the same time!"
+ )
)
for driver in self.mapped("user_id"):
domain = [("user_id", "=", driver.id), ("state", "=", "in_use")]
if self.search_count(domain) > 1:
- raise UserError(_("Every driver can only drive a vehicle at once!"))
+ raise UserError(
+ self.env._("Every driver can only drive a vehicle at once!")
+ )
diff --git a/fleet_vehicle_usage/static/description/index.html b/fleet_vehicle_usage/static/description/index.html
index c59fd13b4..37d758709 100644
--- a/fleet_vehicle_usage/static/description/index.html
+++ b/fleet_vehicle_usage/static/description/index.html
@@ -374,7 +374,7 @@ Fleet Vehicle Usage
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:990c7c76bf5902ef1bf2485846bbdbd36ad0c3a490993fc97ea247be4db9c018
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module allows to record usages of fleet vehicles by employees, with
their dates, states and comments.
Table of contents
@@ -394,7 +394,7 @@
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.
diff --git a/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py b/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py
index 6391e8ebd..eede49668 100644
--- a/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py
+++ b/fleet_vehicle_usage/tests/test_fleet_vehicle_usage.py
@@ -2,6 +2,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.exceptions import UserError
+from odoo.tests.common import new_test_user
from odoo.addons.base.tests.common import BaseCommon
@@ -19,7 +20,7 @@ def setUpClass(cls):
}
)
cls.vehicle = cls.env["fleet.vehicle"].create({"model_id": cls.model.id})
- cls.user = cls.env.ref("base.user_demo")
+ cls.user = new_test_user(cls.env, login="test_fleet_vehicle_usage_user")
def _create_fleet_vehicle_usage(self, vehicle):
return self.env["fleet.vehicle.usage"].create(
@@ -50,3 +51,17 @@ def test_fleet_vehicle_usage_constrain_2(self):
with self.assertRaises(UserError):
usage2 = self._create_fleet_vehicle_usage(vehicle2)
usage2.action_pick()
+
+ def test_fleet_vehicle_usage_cancel(self):
+ usage = self._create_fleet_vehicle_usage(self.vehicle)
+ usage.action_pick()
+ usage.action_cancel()
+ self.assertEqual(usage.state, "cancel")
+
+ def test_fleet_vehicle_usage_onchange_user_id(self):
+ usage = self._create_fleet_vehicle_usage(self.vehicle)
+ user2 = new_test_user(self.env, login="test_fleet_vehicle_usage_user_2")
+ usage.user_id = user2
+ usage._onchange_user_id()
+ self.assertEqual(usage.picking_user_id, user2)
+ self.assertEqual(usage.return_user_id, user2)
diff --git a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
index 002d24fca..9637a6eef 100644
--- a/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
+++ b/fleet_vehicle_usage/views/fleet_vehicle_usage_view.xml
@@ -141,7 +141,7 @@
name="not_returned"
domain="[('state', 'not in', ('returned', 'cancel'))]"
/>
-
+