Initial commit: Vertical Industry packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:52 +02:00
commit d5567a0017
766 changed files with 733028 additions and 0 deletions

11
README.md Normal file
View file

@ -0,0 +1,11 @@
# Vertical Industry
This repository contains OCA OCB packages for vertical industry.
## Packages Included
- odoo-bringout-oca-ocb-fleet
- odoo-bringout-oca-ocb-gamification
- odoo-bringout-oca-ocb-lunch
- odoo-bringout-oca-ocb-maintenance
- odoo-bringout-oca-ocb-membership

View file

@ -0,0 +1,61 @@
# Fleet
Vehicle, leasing, insurances, cost
==================================
With this module, Odoo helps you managing all your vehicles, the
contracts associated to those vehicle as well as services, costs
and many other features necessary to the management of your fleet
of vehicle(s)
Main Features
-------------
* Add vehicles to your fleet
* Manage contracts for vehicles
* Reminder when a contract reach its expiration date
* Add services, odometer values for all vehicles
* Show all costs associated to a vehicle or to a type of service
* Analysis graph for costs
## Installation
```bash
pip install odoo-bringout-oca-ocb-fleet
```
## Dependencies
This addon depends on:
- base
- mail
## Manifest Information
- **Name**: Fleet
- **Version**: 0.1
- **Category**: Human Resources/Fleet
- **License**: LGPL-3
- **Installable**: True
## Source
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `fleet`.
## License
This package maintains the original LGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Fleet Module - fleet
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for fleet. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,6 @@
# Dependencies
This addon depends on:
- base
- [mail](../../odoo-bringout-oca-ocb-mail)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon fleet or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-ocb-fleet"
# or
uv pip install odoo-bringout-oca-ocb-fleet"
```

View file

@ -0,0 +1,23 @@
# Models
Detected core models and extensions in fleet.
```mermaid
classDiagram
class fleet_service_type
class fleet_vehicle
class fleet_vehicle_assignation_log
class fleet_vehicle_log_contract
class fleet_vehicle_log_services
class fleet_vehicle_model
class fleet_vehicle_model_brand
class fleet_vehicle_model_category
class fleet_vehicle_odometer
class fleet_vehicle_state
class fleet_vehicle_tag
class res_partner
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: fleet. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon fleet
- License: LGPL-3

View file

@ -0,0 +1,25 @@
# Reports
Report definitions and templates in fleet.
```mermaid
classDiagram
class FleetReport
Model <|-- FleetReport
```
## Available Reports
No named reports found in XML files.
## Report Files
- **fleet_report.py** (Python logic)
- **__init__.py** (Python logic)
## Notes
- Named reports above are accessible through Odoo's reporting menu
- Python files define report logic and data processing
- XML files contain report templates, definitions, and formatting
- Reports are integrated with Odoo's printing and email systems

View file

@ -0,0 +1,42 @@
# Security
Access control and security definitions in fleet.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../fleet/security/ir.model.access.csv)**
- 22 model access rules
## Record Rules
Row-level security rules defined in:
## Security Groups & Configuration
Security groups and permissions defined in:
- **[fleet_security.xml](../fleet/security/fleet_security.xml)**
- 2 security groups defined
```mermaid
graph TB
subgraph "Security Layers"
A[Users] --> B[Groups]
B --> C[Access Control Lists]
C --> D[Models]
B --> E[Record Rules]
E --> F[Individual Records]
end
```
Security files overview:
- **[fleet_security.xml](../fleet/security/fleet_security.xml)**
- Security groups, categories, and XML-based rules
- **[ir.model.access.csv](../fleet/security/ir.model.access.csv)**
- Model access permissions (CRUD rights)
Notes
- Access Control Lists define which groups can access which models
- Record Rules provide row-level security (filter records by user/group)
- Security groups organize users and define permission sets
- All security is enforced at the ORM level by Odoo

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon fleet
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
from . import report

View file

@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name' : 'Fleet',
'version' : '0.1',
'sequence': 185,
'category': 'Human Resources/Fleet',
'website' : 'https://www.odoo.com/app/fleet',
'summary' : 'Manage your fleet and track car costs',
'description' : """
Vehicle, leasing, insurances, cost
==================================
With this module, Odoo helps you managing all your vehicles, the
contracts associated to those vehicle as well as services, costs
and many other features necessary to the management of your fleet
of vehicle(s)
Main Features
-------------
* Add vehicles to your fleet
* Manage contracts for vehicles
* Reminder when a contract reach its expiration date
* Add services, odometer values for all vehicles
* Show all costs associated to a vehicle or to a type of service
* Analysis graph for costs
""",
'depends': [
'base',
'mail',
],
'data': [
'security/fleet_security.xml',
'security/ir.model.access.csv',
'views/fleet_vehicle_model_views.xml',
'views/fleet_vehicle_views.xml',
'views/fleet_vehicle_cost_views.xml',
'views/fleet_board_view.xml',
'views/mail_activity_views.xml',
'views/res_config_settings_views.xml',
'data/fleet_cars_data.xml',
'data/fleet_data.xml',
'data/mail_message_subtype_data.xml',
'data/mail_activity_type_data.xml',
],
'demo': ['data/fleet_demo.xml'],
'installable': True,
'application': True,
'assets': {
'web.assets_backend': [
'fleet/static/src/**/*',
],
},
'license': 'LGPL-3',
}

View file

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="brand_abarth" model="fleet.vehicle.model.brand">
<field name="name">Abarth</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_abarth-image.png"/>
</record>
<record id="brand_acura" model="fleet.vehicle.model.brand">
<field name="name">Acura</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_acura-image.png"/>
</record>
<record id="brand_alfa" model="fleet.vehicle.model.brand">
<field name="name">Alfa</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_alfa-image.png"/>
</record>
<record id="brand_audi" model="fleet.vehicle.model.brand">
<field name="name">Audi</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_audi-image.png"/>
</record>
<record id="brand_austin" model="fleet.vehicle.model.brand">
<field name="name">Austin</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_austin-image.png"/>
</record>
<record id="brand_bentley" model="fleet.vehicle.model.brand">
<field name="name">Bentley</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_bentley-image.png"/>
</record>
<record id="brand_bmw" model="fleet.vehicle.model.brand">
<field name="name">Bmw</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_bmw-image.png"/>
</record>
<record id="brand_bugatti" model="fleet.vehicle.model.brand">
<field name="name">Bugatti</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_bugatti-image.png"/>
</record>
<record id="brand_buick" model="fleet.vehicle.model.brand">
<field name="name">Buick</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_buick-image.png"/>
</record>
<record id="brand_byd" model="fleet.vehicle.model.brand">
<field name="name">Byd</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_byd-image.png"/>
</record>
<record id="brand_cadillac" model="fleet.vehicle.model.brand">
<field name="name">Cadillac</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_cadillac-image.png"/>
</record>
<record id="brand_chevrolet" model="fleet.vehicle.model.brand">
<field name="name">Chevrolet</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_chevrolet-image.png"/>
</record>
<record id="brand_chrysler" model="fleet.vehicle.model.brand">
<field name="name">Chrysler</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_chrysler-image.png"/>
</record>
<record id="brand_citroen" model="fleet.vehicle.model.brand">
<field name="name">Citroen</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_citroen-image.png"/>
</record>
<record id="brand_corre_la_licorne" model="fleet.vehicle.model.brand">
<field name="name">Corre La Licorne</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_corre-la-licorne-image.png"/>
</record>
<record id="brand_daewoo" model="fleet.vehicle.model.brand">
<field name="name">Daewoo</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_daewoo-image.png"/>
</record>
<record id="brand_dodge" model="fleet.vehicle.model.brand">
<field name="name">Dodge</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_dodge-image.png"/>
</record>
<record id="brand_ferrari" model="fleet.vehicle.model.brand">
<field name="name">Ferrari</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_ferrari-image.png"/>
</record>
<record id="brand_fiat" model="fleet.vehicle.model.brand">
<field name="name">Fiat</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_fiat-image.png"/>
</record>
<record id="brand_ford" model="fleet.vehicle.model.brand">
<field name="name">Ford</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_ford-image.png"/>
</record>
<record id="brand_holden" model="fleet.vehicle.model.brand">
<field name="name">Holden</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_holden-image.png"/>
</record>
<record id="brand_honda" model="fleet.vehicle.model.brand">
<field name="name">Honda</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_honda-image.png"/>
</record>
<record id="brand_hyundai" model="fleet.vehicle.model.brand">
<field name="name">Hyundai</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_hyundai-image.png"/>
</record>
<record id="brand_infiniti" model="fleet.vehicle.model.brand">
<field name="name">Infiniti</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_infiniti-image.png"/>
</record>
<record id="brand_isuzu" model="fleet.vehicle.model.brand">
<field name="name">Isuzu</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_isuzu-image.png"/>
</record>
<record id="brand_jaguar" model="fleet.vehicle.model.brand">
<field name="name">Jaguar</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_jaguar-image.png"/>
</record>
<record id="brand_jeep" model="fleet.vehicle.model.brand">
<field name="name">Jeep</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_jeep-image.png"/>
</record>
<record id="brand_kia" model="fleet.vehicle.model.brand">
<field name="name">Kia</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_kia-image.png"/>
</record>
<record id="brand_koenigsegg" model="fleet.vehicle.model.brand">
<field name="name">Koenigsegg</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_koenigsegg-image.png"/>
</record>
<record id="brand_lagonda" model="fleet.vehicle.model.brand">
<field name="name">Lagonda</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_lagonda-image.png"/>
</record>
<record id="brand_lamborghini" model="fleet.vehicle.model.brand">
<field name="name">Lamborghini</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_lamborghini-image.png"/>
</record>
<record id="brand_lancia" model="fleet.vehicle.model.brand">
<field name="name">Lancia</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_lancia-image.png"/>
</record>
<record id="brand_land_rover" model="fleet.vehicle.model.brand">
<field name="name">Land Rover</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_land-rover-image.png"/>
</record>
<record id="brand_lexus" model="fleet.vehicle.model.brand">
<field name="name">Lexus</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_lexus-image.png"/>
</record>
<record id="brand_lincoln" model="fleet.vehicle.model.brand">
<field name="name">Lincoln</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_lincoln-image.png"/>
</record>
<record id="brand_lotus" model="fleet.vehicle.model.brand">
<field name="name">Lotus</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_lotus-image.png"/>
</record>
<record id="brand_maserati" model="fleet.vehicle.model.brand">
<field name="name">Maserati</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_maserati-image.png"/>
</record>
<record id="brand_maybach" model="fleet.vehicle.model.brand">
<field name="name">Maybach</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_maybach-image.png"/>
</record>
<record id="brand_mazda" model="fleet.vehicle.model.brand">
<field name="name">Mazda</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_mazda-image.png"/>
</record>
<record id="brand_mercedes" model="fleet.vehicle.model.brand">
<field name="name">Mercedes</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_mercedes-image.png"/>
</record>
<record id="brand_mg" model="fleet.vehicle.model.brand">
<field name="name">Mg</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_mg-image.png"/>
</record>
<record id="brand_mini" model="fleet.vehicle.model.brand">
<field name="name">Mini</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_mini-image.png"/>
</record>
<record id="brand_mitsubishi" model="fleet.vehicle.model.brand">
<field name="name">Mitsubishi</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_mitsubishi-image.png"/>
</record>
<record id="brand_morgan" model="fleet.vehicle.model.brand">
<field name="name">Morgan</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_morgan-image.png"/>
</record>
<record id="brand_nissan" model="fleet.vehicle.model.brand">
<field name="name">Nissan</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_nissan-image.png"/>
</record>
<record id="brand_oldsmobile" model="fleet.vehicle.model.brand">
<field name="name">Oldsmobile</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_oldsmobile-image.png"/>
</record>
<record id="brand_opel" model="fleet.vehicle.model.brand">
<field name="name">Opel</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_opel-image.png"/>
</record>
<record id="brand_peugeot" model="fleet.vehicle.model.brand">
<field name="name">Peugeot</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_peugeot-image.png"/>
</record>
<record id="brand_pontiac" model="fleet.vehicle.model.brand">
<field name="name">Pontiac</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_pontiac-image.png"/>
</record>
<record id="brand_porsche" model="fleet.vehicle.model.brand">
<field name="name">Porsche</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_porsche-image.png"/>
</record>
<record id="brand_rambler" model="fleet.vehicle.model.brand">
<field name="name">Rambler</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_rambler-image.png"/>
</record>
<record id="brand_renault" model="fleet.vehicle.model.brand">
<field name="name">Renault</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_renault-image.png"/>
</record>
<record id="brand_rolls-royce" model="fleet.vehicle.model.brand">
<field name="name">Rolls-Royce</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_rolls-royce-image.png"/>
</record>
<record id="brand_saab" model="fleet.vehicle.model.brand">
<field name="name">Saab</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_saab-image.png"/>
</record>
<record id="brand_scion" model="fleet.vehicle.model.brand">
<field name="name">Scion</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_scion-image.png"/>
</record>
<record id="brand_skoda" model="fleet.vehicle.model.brand">
<field name="name">Skoda</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_skoda-image.png"/>
</record>
<record id="brand_smart" model="fleet.vehicle.model.brand">
<field name="name">Smart</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_smart-image.png"/>
</record>
<record id="brand_steyr" model="fleet.vehicle.model.brand">
<field name="name">Steyr</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_steyr-image.png"/>
</record>
<record id="brand_subaru" model="fleet.vehicle.model.brand">
<field name="name">Subaru</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_subaru-image.png"/>
</record>
<record id="brand_tesla_motors" model="fleet.vehicle.model.brand">
<field name="name">Tesla Motors</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_tesla-motors-image.png"/>
</record>
<record id="brand_toyota" model="fleet.vehicle.model.brand">
<field name="name">Toyota</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_toyota-image.png"/>
</record>
<record id="brand_trabant" model="fleet.vehicle.model.brand">
<field name="name">Trabant</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_trabant-image.png"/>
</record>
<record id="brand_volkswagen" model="fleet.vehicle.model.brand">
<field name="name">Volkswagen</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_volkswagen-image.png"/>
</record>
<record id="brand_volvo" model="fleet.vehicle.model.brand">
<field name="name">Volvo</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_volvo-image.png"/>
</record>
<record id="brand_willys" model="fleet.vehicle.model.brand">
<field name="name">Willys</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_willys-image.png"/>
</record>
<record id="brand_suzuki" model="fleet.vehicle.model.brand">
<field name="name">Suzuki</field>
<field name="image_128" type="base64" file="fleet/static/img/brand_suzuki-image.png"/>
</record>
<record id="model_corsa" model="fleet.vehicle.model">
<field name="name">Corsa</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_astra" model="fleet.vehicle.model">
<field name="name">Astra</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_agila" model="fleet.vehicle.model">
<field name="name">Agila</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_combotour" model="fleet.vehicle.model">
<field name="name">Combo Tour</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_meriva" model="fleet.vehicle.model">
<field name="name">Meriva</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_astragtc" model="fleet.vehicle.model">
<field name="name">AstraGTC</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_zafira" model="fleet.vehicle.model">
<field name="name">Zafira</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_zafiratourer" model="fleet.vehicle.model">
<field name="name">Zafira Tourer</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_insignia" model="fleet.vehicle.model">
<field name="name">Insignia</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_mokka" model="fleet.vehicle.model">
<field name="name">Mokka</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_antara" model="fleet.vehicle.model">
<field name="name">Antara</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_ampera" model="fleet.vehicle.model">
<field name="name">Ampera</field>
<field name="brand_id" ref="brand_opel" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a1" model="fleet.vehicle.model">
<field name="name">A1</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a3" model="fleet.vehicle.model">
<field name="name">A3</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a4" model="fleet.vehicle.model">
<field name="name">A4</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a5" model="fleet.vehicle.model">
<field name="name">A5</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a6" model="fleet.vehicle.model">
<field name="name">A6</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a7" model="fleet.vehicle.model">
<field name="name">A7</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_a8" model="fleet.vehicle.model">
<field name="name">A8</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_q3" model="fleet.vehicle.model">
<field name="name">Q3</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_q5" model="fleet.vehicle.model">
<field name="name">Q5</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_q7" model="fleet.vehicle.model">
<field name="name">Q7</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_tt" model="fleet.vehicle.model">
<field name="name">TT</field>
<field name="brand_id" ref="brand_audi" />
<field name="vehicle_type">car</field>
</record>
<record id="model_serie1" model="fleet.vehicle.model">
<field name="name">Serie 1</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_serie3" model="fleet.vehicle.model">
<field name="name">Serie 3</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_serie5" model="fleet.vehicle.model">
<field name="name">Serie 5</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_serie6" model="fleet.vehicle.model">
<field name="name">Serie 6</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_serie7" model="fleet.vehicle.model">
<field name="name">Serie 7</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_seriex" model="fleet.vehicle.model">
<field name="name">Serie X</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_seriez4" model="fleet.vehicle.model">
<field name="name">Serie Z4</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_seriem" model="fleet.vehicle.model">
<field name="name">Serie M</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_seriehybrid" model="fleet.vehicle.model">
<field name="name">Serie Hybrid</field>
<field name="brand_id" ref="brand_bmw" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classa" model="fleet.vehicle.model">
<field name="name">Class A</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classb" model="fleet.vehicle.model">
<field name="name">Class B</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classc" model="fleet.vehicle.model">
<field name="name">Class C</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classcl" model="fleet.vehicle.model">
<field name="name">Class CL</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classcls" model="fleet.vehicle.model">
<field name="name">Class CLS</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classe" model="fleet.vehicle.model">
<field name="name">Class E</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classm" model="fleet.vehicle.model">
<field name="name">Class M</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classgl" model="fleet.vehicle.model">
<field name="name">Class GL</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classglk" model="fleet.vehicle.model">
<field name="name">Class GLK</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classr" model="fleet.vehicle.model">
<field name="name">Class R</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classs" model="fleet.vehicle.model">
<field name="name">Class S</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classslk" model="fleet.vehicle.model">
<field name="name">Class SLK</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
<record id="model_classsls" model="fleet.vehicle.model">
<field name="name">SLS</field>
<field name="brand_id" ref="brand_mercedes" />
<field name="vehicle_type">car</field>
</record>
</odoo>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record forcecreate="True" id="ir_cron_contract_costs_generator" model="ir.cron">
<field name="name">Fleet: Generate contracts costs based on costs frequency</field>
<field name="model_id" ref="model_fleet_vehicle_log_contract"/>
<field name="state">code</field>
<field name="code">model.run_scheduler()</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall" />
</record>
<record id="fleet_vehicle_state_new_request" model="fleet.vehicle.state">
<field name="name">New Request</field>
<field name="sequence">4</field>
</record>
<record id="fleet_vehicle_state_to_order" model="fleet.vehicle.state">
<field name="name">To Order</field>
<field name="sequence">5</field>
</record>
<record id="fleet_vehicle_state_registered" model="fleet.vehicle.state">
<field name="name">Registered</field>
<field name="sequence">7</field>
</record>
<record id="fleet_vehicle_state_downgraded" model="fleet.vehicle.state">
<field name="name">Downgraded</field>
<field name="sequence">8</field>
</record>
</data>
</odoo>

View file

@ -0,0 +1,834 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<!--Users-->
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(4, ref('fleet.fleet_group_manager'))]" />
</record>
<record id="fleet_vehicle_state_ordered" model="fleet.vehicle.state">
<field name="name">Ordered</field>
<field name="sequence">6</field>
</record>
<record id="fleet_vehicle_state_reserve" model="fleet.vehicle.state">
<field name="name">Reserve</field>
<field name="sequence">9</field>
</record>
<record id="fleet_vehicle_state_waiting_list" model="fleet.vehicle.state">
<field name="name">Waiting List</field>
<field name="sequence">10</field>
</record>
<record id="type_service_service_1" model="fleet.service.type">
<field name="name">Calculation Benefit In Kind</field>
<field name="category">service</field>
</record>
<record id="type_service_service_2" model="fleet.service.type">
<field name="name">Depreciation and Interests</field>
<field name="category">service</field>
</record>
<record id="type_service_service_3" model="fleet.service.type">
<field name="name">Tax roll</field>
<field name="category">service</field>
</record>
<record id="type_service_service_5" model="fleet.service.type">
<field name="name">Summer tires</field>
<field name="category">service</field>
</record>
<record id="type_service_service_6" model="fleet.service.type">
<field name="name">Snow tires</field>
<field name="category">service</field>
</record>
<record id="type_service_service_7" model="fleet.service.type">
<field name="name">Repair and maintenance</field>
<field name="category">service</field>
</record>
<record id="type_service_service_8" model="fleet.service.type">
<field name="name">Assistance</field>
<field name="category">service</field>
</record>
<record id="type_service_service_9" model="fleet.service.type">
<field name="name">Replacement Vehicle</field>
<field name="category">service</field>
</record>
<record id="type_service_service_10" model="fleet.service.type">
<field name="name">Management Fee</field>
<field name="category">service</field>
</record>
<record id="type_service_service_11" model="fleet.service.type">
<field name="name">Rent (Excluding VAT)</field>
<field name="category">service</field>
</record>
<record id="type_service_service_12" model="fleet.service.type">
<field name="name">Entry into service tax</field>
<field name="category">service</field>
</record>
<record id="type_service_service_13" model="fleet.service.type">
<field name="name">Total expenses (Excluding VAT)</field>
<field name="category">service</field>
</record>
<record id="type_service_service_14" model="fleet.service.type">
<field name="name">Residual value (Excluding VAT)</field>
<field name="category">service</field>
</record>
<record id="type_service_service_15" model="fleet.service.type">
<field name="name">Options</field>
<field name="category">service</field>
</record>
<record id="type_service_service_16" model="fleet.service.type">
<field name="name">Emissions</field>
<field name="category">service</field>
</record>
<record id="type_service_service_17" model="fleet.service.type">
<field name="name">Touring Assistance</field>
<field name="category">service</field>
</record>
<record id="type_service_service_18" model="fleet.service.type">
<field name="name">Residual value in %</field>
<field name="category">service</field>
</record>
<record id="type_service_1" model="fleet.service.type">
<field name="name">A/C Compressor Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_2" model="fleet.service.type">
<field name="name">A/C Condenser Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_3" model="fleet.service.type">
<field name="name">A/C Diagnosis</field>
<field name="category">service</field>
</record>
<record id="type_service_4" model="fleet.service.type">
<field name="name">A/C Evaporator Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_5" model="fleet.service.type">
<field name="name">A/C Recharge</field>
<field name="category">service</field>
</record>
<record id="type_service_6" model="fleet.service.type">
<field name="name">Air Filter Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_7" model="fleet.service.type">
<field name="name">Alternator Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_7" model="fleet.service.type">
<field name="name">Ball Joint Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_9" model="fleet.service.type">
<field name="name">Battery Inspection</field>
<field name="category">service</field>
</record>
<record id="type_service_10" model="fleet.service.type">
<field name="name">Battery Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_11" model="fleet.service.type">
<field name="name">Brake Caliper Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_12" model="fleet.service.type">
<field name="name">Brake Inspection</field>
<field name="category">service</field>
</record>
<record id="type_service_13" model="fleet.service.type">
<field name="name">Brake Pad(s) Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_14" model="fleet.service.type">
<field name="name">Car Wash</field>
<field name="category">service</field>
</record>
<record id="type_service_15" model="fleet.service.type">
<field name="name">Catalytic Converter Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_16" model="fleet.service.type">
<field name="name">Charging System Diagnosis</field>
<field name="category">service</field>
</record>
<record id="type_service_17" model="fleet.service.type">
<field name="name">Door Window Motor/Regulator Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_18" model="fleet.service.type">
<field name="name">Engine Belt Inspection</field>
<field name="category">service</field>
</record>
<record id="type_service_19" model="fleet.service.type">
<field name="name">Engine Coolant Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_20" model="fleet.service.type">
<field name="name">Engine/Drive Belt(s) Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_21" model="fleet.service.type">
<field name="name">Exhaust Manifold Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_22" model="fleet.service.type">
<field name="name">Fuel Injector Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_23" model="fleet.service.type">
<field name="name">Fuel Pump Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_24" model="fleet.service.type">
<field name="name">Head Gasket(s) Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_25" model="fleet.service.type">
<field name="name">Heater Blower Motor Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_26" model="fleet.service.type">
<field name="name">Heater Control Valve Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_27" model="fleet.service.type">
<field name="name">Heater Core Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_28" model="fleet.service.type">
<field name="name">Heater Hose Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_29" model="fleet.service.type">
<field name="name">Ignition Coil Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_30" model="fleet.service.type">
<field name="name">Intake Manifold Gasket Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_31" model="fleet.service.type">
<field name="name">Oil Change</field>
<field name="category">service</field>
</record>
<record id="type_service_32" model="fleet.service.type">
<field name="name">Oil Pump Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_33" model="fleet.service.type">
<field name="name">Other Maintenance</field>
<field name="category">service</field>
</record>
<record id="type_service_34" model="fleet.service.type">
<field name="name">Oxygen Sensor Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_35" model="fleet.service.type">
<field name="name">Power Steering Hose Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_36" model="fleet.service.type">
<field name="name">Power Steering Pump Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_37" model="fleet.service.type">
<field name="name">Radiator Repair</field>
<field name="category">service</field>
</record>
<record id="type_service_38" model="fleet.service.type">
<field name="name">Resurface Rotors</field>
<field name="category">service</field>
</record>
<record id="type_service_39" model="fleet.service.type">
<field name="name">Rotate Tires</field>
<field name="category">service</field>
</record>
<record id="type_service_40" model="fleet.service.type">
<field name="name">Rotor Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_41" model="fleet.service.type">
<field name="name">Spark Plug Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_42" model="fleet.service.type">
<field name="name">Starter Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_43" model="fleet.service.type">
<field name="name">Thermostat Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_44" model="fleet.service.type">
<field name="name">Tie Rod End Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_45" model="fleet.service.type">
<field name="name">Tire Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_46" model="fleet.service.type">
<field name="name">Tire Service</field>
<field name="category">service</field>
</record>
<record id="type_service_47" model="fleet.service.type">
<field name="name">Transmission Filter Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_48" model="fleet.service.type">
<field name="name">Transmission Fluid Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_49" model="fleet.service.type">
<field name="name">Transmission Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_50" model="fleet.service.type">
<field name="name">Water Pump Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_51" model="fleet.service.type">
<field name="name">Wheel Alignment</field>
<field name="category">service</field>
</record>
<record id="type_service_52" model="fleet.service.type">
<field name="name">Wheel Bearing Replacement</field>
<field name="category">service</field>
</record>
<record id="type_service_53" model="fleet.service.type">
<field name="name">Windshield Wiper(s) Replacement</field>
<field name="category">service</field>
</record>
<record id="type_contract_omnium" model="fleet.service.type">
<field name="name">Omnium</field>
<field name="category">contract</field>
</record>
<record id="type_contract_leasing" model="fleet.service.type">
<field name="name">Leasing</field>
<field name="category">contract</field>
</record>
<record id="type_contract_repairing" model="fleet.service.type">
<field name="name">Repairing</field>
<field name="category">contract</field>
</record>
<record id="type_service_refueling" model="fleet.service.type">
<field name="name">Refueling</field>
<field name="category">service</field>
</record>
<record id="vehicle_tag_junior" model="fleet.vehicle.tag" >
<field name="name">Junior</field>
<field name="color" eval="1"/>
</record>
<record id="vehicle_tag_senior" model="fleet.vehicle.tag" >
<field name="name">Senior</field>
<field name="color" eval="2"/>
</record>
<record id="vehicle_tag_leasing" model="fleet.vehicle.tag" >
<field name="name">Employee Car</field>
<field name="color" eval="3"/>
</record>
<record id="vehicle_tag_purchased" model="fleet.vehicle.tag" >
<field name="name">Purchased</field>
<field name="color" eval="4"/>
</record>
<record id="model_category_1" model="fleet.vehicle.model.category">
<field name="name">Break</field>
</record>
<record id="model_category_2" model="fleet.vehicle.model.category">
<field name="name">SUV</field>
</record>
<record id="model_category_3" model="fleet.vehicle.model.category">
<field name="name">Sport Car</field>
</record>
<record id="model_category_4" model="fleet.vehicle.model.category">
<field name="name">Compact</field>
</record>
<record id="vehicle_1" model="fleet.vehicle">
<field name="license_plate">1-ACK-205</field>
<field name="vin_sn">5454541</field>
<field name="model_id" ref="model_astra"/>
<field name="color">Black</field>
<field name="location">Grand-Rosiere</field>
<field name="doors">5</field>
<field name="driver_id" ref="base.partner_demo" />
<field name="acquisition_date" eval="(DateTime.now() - timedelta(days=336)).strftime('%Y-%m-%d')" />
<field name="state_id" ref="fleet_vehicle_state_registered"/>
<field name="odometer_unit">kilometers</field>
<field name="car_value">20000</field>
<field eval="[(6,0,[ref('vehicle_tag_leasing'),ref('fleet.vehicle_tag_purchased'),ref('fleet.vehicle_tag_senior')])]" name="tag_ids"/>
</record>
<record id="vehicle_2" model="fleet.vehicle">
<field name="license_plate">1-SYN-404</field>
<field name="vin_sn">1337</field>
<field name="model_id" ref="model_corsa"/>
<field name="color">Red</field>
<field name="location">Grand-Rosiere</field>
<field name="doors">5</field>
<field name="driver_id" ref="base.res_partner_address_25" />
<field name="acquisition_date" eval="(DateTime.now() - timedelta(days=233)).strftime('%Y-%m-%d')" />
<field name="state_id" ref="fleet_vehicle_state_downgraded"/>
<field name="odometer_unit">kilometers</field>
<field name="car_value">16000</field>
<field eval="[(6,0,[ref('vehicle_tag_leasing'),ref('fleet.vehicle_tag_purchased'),ref('fleet.vehicle_tag_junior')])]" name="tag_ids"/>
</record>
<record id="vehicle_3" model="fleet.vehicle">
<field name="license_plate">1-BMW-001</field>
<field name="vin_sn">54818</field>
<field name="model_id" ref="model_serie1"/>
<field name="color">Titanium Grey</field>
<field name="location">Grand-Rosiere</field>
<field name="doors">3</field>
<field name="driver_id" ref="base.res_partner_address_17" />
<field name="acquisition_date" eval="time.strftime('%Y-%m-%d 2:00:00')" />
<field name="state_id" ref="fleet_vehicle_state_registered"/>
<field name="odometer_unit">kilometers</field>
<field name="car_value">20000</field>
<field eval="[(6,0,[ref('vehicle_tag_leasing'),ref('fleet.vehicle_tag_purchased'),ref('fleet.vehicle_tag_senior')])]" name="tag_ids"/>
</record>
<record id="vehicle_4" model="fleet.vehicle">
<field name="license_plate">1-AUD-001</field>
<field name="vin_sn">455257985</field>
<field name="model_id" ref="model_a1"/>
<field name="color">White</field>
<field name="location">Grand-Rosiere</field>
<field name="doors">3</field>
<field name="driver_id" ref="base.res_partner_address_16" />
<field name="acquisition_date" eval="time.strftime('%Y-%m-%d 2:00:00')" />
<field name="state_id" ref="fleet_vehicle_state_registered"/>
<field name="odometer_unit">kilometers</field>
<field name="car_value">20000</field>
<field eval="[(6,0,[ref('vehicle_tag_leasing'),ref('fleet.vehicle_tag_purchased'),ref('fleet.vehicle_tag_senior')])]" name="tag_ids"/>
</record>
<record id="vehicle_5" model="fleet.vehicle">
<field name="license_plate">1-MER-001</field>
<field name="vin_sn">789546128</field>
<field name="model_id" ref="model_classa"/>
<field name="color">Brown</field>
<field name="location">Grand-Rosiere</field>
<field name="doors">5</field>
<field name="driver_id" ref="base.res_partner_address_15" />
<field name="acquisition_date" eval="time.strftime('%Y-%m-%d 2:00:00')" />
<field name="state_id" ref="fleet_vehicle_state_registered"/>
<field name="odometer_unit">kilometers</field>
<field name="car_value">18000</field>
<field eval="[(6,0,[ref('vehicle_tag_leasing'),ref('fleet.vehicle_tag_purchased'),ref('fleet.vehicle_tag_senior')])]" name="tag_ids"/>
</record>
<record id="log_odometer_1" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=336)).strftime('%Y-%m-%d')" />
<field name="value">0</field>
</record>
<record id="log_odometer_2" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=304)).strftime('%Y-%m-%d')" />
<field name="value">658</field>
</record>
<record id="log_odometer_3" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=289)).strftime('%Y-%m-%d')" />
<field name="value">1360</field>
</record>
<record id="log_odometer_4" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=260)).strftime('%Y-%m-%d')" />
<field name="value">2044</field>
</record>
<record id="log_odometer_5" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=230)).strftime('%Y-%m-%d')" />
<field name="value">2756</field>
</record>
<record id="log_odometer_6" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=185)).strftime('%Y-%m-%d')" />
<field name="value">3410</field>
</record>
<record id="log_odometer_7" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=165)).strftime('%Y-%m-%d')" />
<field name="value">3750</field>
</record>
<record id="log_odometer_8" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=140)).strftime('%Y-%m-%d')" />
<field name="value">4115</field>
</record>
<record id="log_odometer_9" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=120)).strftime('%Y-%m-%d')" />
<field name="value">4750</field>
</record>
<record id="log_odometer_10" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=105)).strftime('%Y-%m-%d')" />
<field name="value">5171</field>
</record>
<record id="log_odometer_11" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=85)).strftime('%Y-%m-%d')" />
<field name="value">5873</field>
</record>
<record id="log_odometer_12" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=55)).strftime('%Y-%m-%d')" />
<field name="value">6571</field>
</record>
<record id="log_odometer_13" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=32)).strftime('%Y-%m-%d')" />
<field name="value">7954</field>
</record>
<record id="log_odometer_14" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date" eval="(DateTime.now() - timedelta(days=2)).strftime('%Y-%m-%d')" />
<field name="value">7981</field>
</record>
<record id="log_odometer_15" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=233)).strftime('%Y-%m-%d')" />
<field name="value">0</field>
</record>
<record id="log_odometer_16" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=233)).strftime('%Y-%m-%d')" />
<field name="value">702</field>
</record>
<record id="log_odometer_17" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=215)).strftime('%Y-%m-%d')" />
<field name="value">1205.4</field>
</record>
<record id="log_odometer_18" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=200)).strftime('%Y-%m-%d')" />
<field name="value">2122</field>
</record>
<record id="log_odometer_19" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=180)).strftime('%Y-%m-%d')" />
<field name="value">2430</field>
</record>
<record id="log_odometer_20" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=165)).strftime('%Y-%m-%d')" />
<field name="value">3015</field>
</record>
<record id="log_odometer_21" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=150)).strftime('%Y-%m-%d')" />
<field name="value">3602.1</field>
</record>
<record id="log_odometer_22" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=124)).strftime('%Y-%m-%d')" />
<field name="value">4205.5</field>
</record>
<record id="log_odometer_23" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=96)).strftime('%Y-%m-%d')" />
<field name="value">4935</field>
</record>
<record id="log_odometer_24" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=80)).strftime('%Y-%m-%d')" />
<field name="value">5555</field>
</record>
<record id="log_odometer_25" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=55)).strftime('%Y-%m-%d')" />
<field name="value">5987</field>
</record>
<record id="log_odometer_26" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=45)).strftime('%Y-%m-%d')" />
<field name="value">6571</field>
</record>
<record id="log_odometer_27" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=30)).strftime('%Y-%m-%d')" />
<field name="value">7201.5</field>
</record>
<record id="log_odometer_28" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date" eval="(DateTime.now() - timedelta(days=10)).strftime('%Y-%m-%d')" />
<field name="value">8001.2</field>
</record>
<record id="log_service_1" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">650</field>
<field name="service_type_id" ref="type_service_service_7"/>
<field name="date" eval="(DateTime.now() - timedelta(days=60)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">4586</field>
<field name="vendor_id" ref="base.res_partner_2" />
<field name="notes">Usual vehicle repairing</field>
<field name="state">done</field>
</record>
<record id="log_service_2" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">350</field>
<field name="service_type_id" ref="type_service_service_7"/>
<field name="date" eval="(DateTime.now() - timedelta(days=30)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">4814</field>
<field name="vendor_id" ref="base.res_partner_2" />
<field name="notes">After crash repairing</field>
<field name="state">done</field>
</record>
<record id="log_service_3" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_1" />
<field name="amount">513</field>
<field name="service_type_id" ref="type_service_service_7"/>
<field name="date" eval="(DateTime.now() - timedelta(days=15)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">124</field>
<field name="vendor_id" ref="base.res_partner_2" />
<field name="notes">Maintenance</field>
<field name="state">done</field>
</record>
<record id="log_service_4" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_3" />
<field name="amount">412</field>
<field name="service_type_id" ref="type_service_service_7"/>
<field name="date" eval="(DateTime.now() - timedelta(days=120)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">20984</field>
<field name="vendor_id" ref="base.res_partner_2" />
<field name="notes">Maintenance</field>
<field name="state">done</field>
</record>
<record id="log_service_5" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_4" />
<field name="amount">275</field>
<field name="service_type_id" ref="type_service_service_7"/>
<field name="date" eval="(DateTime.now() - timedelta(days=100)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">241</field>
<field name="vendor_id" ref="base.res_partner_2" />
<field name="notes">Maintenance</field>
<field name="state">done</field>
</record>
<record id="log_service_6" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_5" />
<field name="amount">302</field>
<field name="service_type_id" ref="type_service_service_7"/>
<field name="date" eval="(DateTime.now() - timedelta(days=65)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">22513</field>
<field name="vendor_id" ref="base.res_partner_2" />
<field name="notes">Maintenance</field>
<field name="state">done</field>
</record>
<record id="log_contract_1" model="fleet.vehicle.log.contract" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="cost_subtype_id" ref="type_contract_leasing" />
<field name="amount">0</field>
<field name="name">Daily leasing contract</field>
<field name="cost_generated">20</field>
<field name="cost_frequency">daily</field>
<field name="expiration_date" eval="(DateTime.now() - timedelta(days=233)).strftime('%Y-%m-%d')" />
<field name="expiration_date" eval="(DateTime.now() + timedelta(5)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="insurer_id" ref="base.res_partner_2" />
<field name="notes">Daily leasing contract</field>
<field name="state">open</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="[(6,0,[ref('fleet.type_contract_omnium'),ref('fleet.type_service_service_3'),ref('fleet.type_service_service_2')])]" name="service_ids"/>
</record>
<record id="log_contract_2" model="fleet.vehicle.log.contract" >
<field name="vehicle_id" ref="vehicle_1" />
<field name="cost_subtype_id" ref="type_contract_leasing" />
<field name="amount">0</field>
<field name="name">Weekly leasing contract</field>
<field name="cost_generated">150</field>
<field name="cost_frequency">weekly</field>
<field name="date" eval="time.strftime('%Y-01-01')" />
<field name="start_date" eval="(DateTime.now() - timedelta(days=289)).strftime('%Y-%m-%d')" />
<field name="expiration_date" eval="(DateTime.now() + timedelta(-1)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="insurer_id" ref="base.res_partner_2" />
<field name="notes">Weekly leasing contract</field>
<field name="state">open</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="[(6,0,[ref('fleet.type_contract_omnium'),ref('fleet.type_service_service_3'),ref('fleet.type_service_service_2')])]" name="service_ids"/>
</record>
<record id="log_contract_3" model="fleet.vehicle.log.contract" >
<field name="vehicle_id" ref="vehicle_3" />
<field name="cost_subtype_id" ref="type_contract_leasing" />
<field name="amount">0</field>
<field name="name">Monthly leasing</field>
<field name="cost_generated">400</field>
<field name="cost_frequency">monthly</field>
<field name="date" eval="time.strftime('%Y-01-01')"/>
<field name="start_date" eval="time.strftime('%Y-01-01')" />
<field name="expiration_date" eval="time.strftime('%Y-12-31')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="insurer_id" ref="base.res_partner_2" />
<field name="notes">Monthly leasing contract</field>
<field name="state">open</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="[(6,0,[ref('fleet.type_contract_omnium'),ref('fleet.type_service_service_3'),ref('fleet.type_service_service_2')])]" name="service_ids"/>
</record>
<record id="log_contract_4" model="fleet.vehicle.log.contract" >
<field name="vehicle_id" ref="vehicle_4" />
<field name="cost_subtype_id" ref="type_contract_leasing" />
<field name="amount">0</field>
<field name="name">Yearly leasing</field>
<field name="cost_generated">4000</field>
<field name="cost_frequency">yearly</field>
<field name="date" eval="time.strftime('%Y-01-01')" />
<field name="start_date" eval="time.strftime('%Y-01-01')" />
<field name="expiration_date" eval="time.strftime('%Y-12-31')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="insurer_id" ref="base.res_partner_2" />
<field name="notes">Yearly leasing contract</field>
<field name="state">open</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="[(6,0,[ref('fleet.type_contract_omnium'),ref('fleet.type_service_service_3'),ref('fleet.type_service_service_2')])]" name="service_ids"/>
</record>
<record id="log_contract_5" model="fleet.vehicle.log.contract" >
<field name="vehicle_id" ref="vehicle_5" />
<field name="cost_subtype_id" ref="type_contract_leasing" />
<field name="amount">17000</field>
<field name="name">Unique leasing</field>
<field name="cost_generated">0</field>
<field name="cost_frequency">no</field>
<field name="date" eval="(DateTime.now() - timedelta(days=300)).strftime('%Y-%m-%d')" />
<field name="start_date" eval="(DateTime.now() - timedelta(days=300)).strftime('%Y-%m-%d')" />
<field name="expiration_date" eval="(DateTime.now() + timedelta(-60)).strftime('%Y-%m-%d')" />
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="insurer_id" ref="base.res_partner_2" />
<field name="notes">Unique leasing contract</field>
<field name="state">open</field>
<field name="user_id" ref="base.user_admin"/>
<field eval="[(6,0,[ref('fleet.type_contract_omnium'),ref('fleet.type_service_service_3'),ref('fleet.type_service_service_2')])]" name="service_ids"/>
</record>
</odoo>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="mail_act_fleet_contract_to_renew" model="mail.activity.type">
<field name="name">Contract to Renew</field>
<field name="icon">fa-car</field>
<field name="res_model">fleet.vehicle.log.contract</field>
</record>
</data>
</odoo>

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="mt_fleet_driver_updated" model="mail.message.subtype">
<field name="name">Changed Driver</field>
<field name="sequence">0</field>
<field name="res_model">fleet.vehicle</field>
<field name="default" eval="True"/>
<field name="description">Changed Driver</field>
</record>
</data>
</odoo>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more