Skip to content

Commit acf03f6

Browse files
EmilioPascualShide
andcommitted
[ADD] delivery_driver
@moduon MT-4427 Co-authored-by: Eduardo de Miguel <1162050+Shide@users.noreply.github.com>
1 parent 7f0aac1 commit acf03f6

23 files changed

+1027
-0
lines changed

delivery_driver/README.rst

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
===============
2+
Delivery Driver
3+
===============
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:2b14f6642ef71407a50e506af22a79fa706ba9f7594dd2298460251b56e5a289
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Alpha
16+
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
18+
:alt: License: LGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github
20+
:target: https://github.com/OCA/delivery-carrier/tree/16.0/delivery_driver
21+
:alt: OCA/delivery-carrier
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_driver
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=16.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
This module extends the functionality of delivery and to allow you to
32+
assign default driver in delivery carriers and pickings.
33+
34+
.. IMPORTANT::
35+
This is an alpha version, the data model and design can change at any time without warning.
36+
Only for development or testing purpose, do not use in production.
37+
`More details on development status <https://odoo-community.org/page/development-status>`_
38+
39+
**Table of contents**
40+
41+
.. contents::
42+
:local:
43+
44+
Use Cases / Context
45+
===================
46+
47+
This module was developed because there is no possibility to assign
48+
drivers in delivery methods or delivery notes. Drivers do not have to be
49+
delivery methods, so it is possible to work with drivers.
50+
51+
This is useful if you want to be able to assign drivers on delivery
52+
notes independently of the delivery method.
53+
54+
Usage
55+
=====
56+
57+
To use this module, you need to:
58+
59+
1. Go to Inventory / Configuration / Shipping Methods.
60+
2. Create new Shipping Method o choose one already created.
61+
3. Choose Default Driver.
62+
63+
Sale Flow:
64+
65+
4. Go to Sales / Orders / Quotations.
66+
5. Create new Sale Order with non Service product with Quantity > 1.
67+
6. Confirm Sale Order.
68+
7. Go to Delivery in Delivery smart button.
69+
8. Driver was automatically assigned in picking from Carrier.
70+
9. You can change the driver without changing the carrier.
71+
72+
Stock Flow:
73+
74+
10. Go to Inventory / Operations / Transfer.
75+
11. Create new Transfer.
76+
12. Choose carrier.
77+
13. The driver is automatically assigned.
78+
14. You can change the driver without changing the carrier.
79+
80+
Bug Tracker
81+
===========
82+
83+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/delivery-carrier/issues>`_.
84+
In case of trouble, please check there if your issue has already been reported.
85+
If you spotted it first, help us to smash it by providing a detailed and welcomed
86+
`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_driver%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
87+
88+
Do not contact contributors directly about support or help with technical issues.
89+
90+
Credits
91+
=======
92+
93+
Authors
94+
-------
95+
96+
* Moduon
97+
98+
Contributors
99+
------------
100+
101+
- Emilio Pascual (`Moduon <https://www.moduon.team/>`__)
102+
- Rafael Blasco (`Moduon <https://www.moduon.team/>`__)
103+
104+
Maintainers
105+
-----------
106+
107+
This module is maintained by the OCA.
108+
109+
.. image:: https://odoo-community.org/logo.png
110+
:alt: Odoo Community Association
111+
:target: https://odoo-community.org
112+
113+
OCA, or the Odoo Community Association, is a nonprofit organization whose
114+
mission is to support the collaborative development of Odoo features and
115+
promote its widespread use.
116+
117+
.. |maintainer-EmilioPascual| image:: https://github.com/EmilioPascual.png?size=40px
118+
:target: https://github.com/EmilioPascual
119+
:alt: EmilioPascual
120+
.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px
121+
:target: https://github.com/rafaelbn
122+
:alt: rafaelbn
123+
124+
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
125+
126+
|maintainer-EmilioPascual| |maintainer-rafaelbn|
127+
128+
This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/16.0/delivery_driver>`_ project on GitHub.
129+
130+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

delivery_driver/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models

delivery_driver/__manifest__.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Copyright 2024 Moduon Team S.L.
2+
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)
3+
4+
{
5+
"name": "Delivery Driver",
6+
"summary": "Allow choose driver in delivery methods",
7+
"version": "16.0.1.0.0",
8+
"development_status": "Alpha",
9+
"category": "Inventory/Delivery",
10+
"website": "https://github.com/OCA/delivery-carrier",
11+
"author": "Moduon, Odoo Community Association (OCA)",
12+
"maintainers": ["EmilioPascual", "rafaelbn"],
13+
"license": "LGPL-3",
14+
"application": False,
15+
"installable": True,
16+
"depends": [
17+
"delivery",
18+
],
19+
"data": [
20+
"views/delivery_carrier.xml",
21+
"views/stock_picking.xml",
22+
"views/stock_move_line.xml",
23+
],
24+
}
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * delivery_driver
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 16.0+e\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2024-01-03 10:00+0000\n"
10+
"PO-Revision-Date: 2024-01-03 10:00+0000\n"
11+
"Last-Translator: \n"
12+
"Language-Team: \n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: \n"
17+
18+
#. module: delivery_driver
19+
#: model:ir.model.fields,field_description:delivery_driver.field_delivery_carrier__driver_id
20+
msgid "Default Driver"
21+
msgstr ""
22+
23+
#. module: delivery_driver
24+
#: model:ir.model.fields,help:delivery_driver.field_delivery_carrier__driver_id
25+
msgid "Default driver for this delivery method"
26+
msgstr ""
27+
28+
#. module: delivery_driver
29+
#: model:ir.model.fields,field_description:delivery_driver.field_stock_move_line__driver_id
30+
#: model:ir.model.fields,field_description:delivery_driver.field_stock_picking__driver_id
31+
#: model_terms:ir.ui.view,arch_db:delivery_driver.view_delivery_carrier_search_inherit_delivery_driver
32+
#: model_terms:ir.ui.view,arch_db:delivery_driver.view_picking_internal_search_inherit_delivery_driver
33+
msgid "Driver"
34+
msgstr ""
35+
36+
#. module: delivery_driver
37+
#: model:ir.model,name:delivery_driver.model_stock_move_line
38+
msgid "Product Moves (Stock Move Line)"
39+
msgstr ""
40+
41+
#. module: delivery_driver
42+
#: model:ir.model,name:delivery_driver.model_delivery_carrier
43+
msgid "Shipping Methods"
44+
msgstr ""
45+
46+
#. module: delivery_driver
47+
#: model:ir.model,name:delivery_driver.model_stock_picking
48+
msgid "Transfer"
49+
msgstr ""

delivery_driver/i18n/es.po

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * delivery_driver
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 16.0+e\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2024-01-03 10:00+0000\n"
10+
"PO-Revision-Date: 2024-01-03 11:02+0100\n"
11+
"Last-Translator: Emilio Pascual <emilio@moduom.team>\n"
12+
"Language-Team: \n"
13+
"Language: es\n"
14+
"MIME-Version: 1.0\n"
15+
"Content-Type: text/plain; charset=UTF-8\n"
16+
"Content-Transfer-Encoding: 8bit\n"
17+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
18+
"X-Generator: Poedit 3.4\n"
19+
20+
#. module: delivery_driver
21+
#: model:ir.model.fields,field_description:delivery_driver.field_delivery_carrier__driver_id
22+
msgid "Default Driver"
23+
msgstr "Conductor por defecto"
24+
25+
#. module: delivery_driver
26+
#: model:ir.model.fields,help:delivery_driver.field_delivery_carrier__driver_id
27+
msgid "Default driver for this delivery method"
28+
msgstr "Conductor por defecto para este método de envío"
29+
30+
#. module: delivery_driver
31+
#: model:ir.model.fields,field_description:delivery_driver.field_stock_move_line__driver_id
32+
#: model:ir.model.fields,field_description:delivery_driver.field_stock_picking__driver_id
33+
#: model_terms:ir.ui.view,arch_db:delivery_driver.view_delivery_carrier_search_inherit_delivery_driver
34+
#: model_terms:ir.ui.view,arch_db:delivery_driver.view_picking_internal_search_inherit_delivery_driver
35+
msgid "Driver"
36+
msgstr "Conductor"
37+
38+
#. module: delivery_driver
39+
#: model:ir.model,name:delivery_driver.model_stock_move_line
40+
msgid "Product Moves (Stock Move Line)"
41+
msgstr "Movimientos de Producto (Stock Move Line)"
42+
43+
#. module: delivery_driver
44+
#: model:ir.model,name:delivery_driver.model_delivery_carrier
45+
msgid "Shipping Methods"
46+
msgstr "Métodos de envío"
47+
48+
#. module: delivery_driver
49+
#: model:ir.model,name:delivery_driver.model_stock_picking
50+
msgid "Transfer"
51+
msgstr "Albarán"

delivery_driver/models/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from . import delivery_carrier
2+
from . import stock_picking
3+
from . import stock_move_line
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright 2024 Moduon Team S.L.
2+
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)
3+
4+
5+
from odoo import fields, models
6+
7+
8+
class DeliveryCarrier(models.Model):
9+
_inherit = "delivery.carrier"
10+
11+
driver_id = fields.Many2one(
12+
"res.partner",
13+
"Default Driver",
14+
domain="[('is_company', '=', False)]",
15+
help="Default driver for this delivery method",
16+
)
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright 2024 Moduon Team S.L.
2+
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)
3+
4+
5+
from odoo import fields, models
6+
7+
8+
class StockMoveLine(models.Model):
9+
_inherit = "stock.move.line"
10+
11+
driver_id = fields.Many2one(
12+
related="picking_id.driver_id",
13+
domain="[('is_company', '=', False)]",
14+
store="True",
15+
)
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Copyright 2024 Moduon Team S.L.
2+
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)
3+
4+
5+
from odoo import api, fields, models
6+
7+
8+
class StockPicking(models.Model):
9+
_inherit = "stock.picking"
10+
11+
driver_id = fields.Many2one(
12+
"res.partner",
13+
string="Driver",
14+
domain="[('is_company', '=', False)]",
15+
compute="_compute_driver_id",
16+
store=True,
17+
readonly=False,
18+
)
19+
20+
@api.depends("carrier_id")
21+
def _compute_driver_id(self):
22+
for picking in self:
23+
if picking.state not in {"done", "cancel"}:
24+
picking.driver_id = picking.carrier_id.driver_id

delivery_driver/readme/CONTEXT.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
This module was developed because there is no possibility to assign drivers in delivery methods or delivery notes.
2+
Drivers do not have to be delivery methods, so it is possible to work with drivers.
3+
4+
This is useful if you want to be able to assign drivers on delivery notes independently of the delivery method.
+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- Emilio Pascual ([Moduon](https://www.moduon.team/))
2+
- Rafael Blasco ([Moduon](https://www.moduon.team/))

delivery_driver/readme/DESCRIPTION.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This module extends the functionality of delivery and to allow you to assign default driver in delivery carriers and pickings.

delivery_driver/readme/USAGE.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
To use this module, you need to:
2+
3+
1. Go to Inventory / Configuration / Shipping Methods.
4+
2. Create new Shipping Method o choose one already created.
5+
3. Choose Default Driver.
6+
7+
Sale Flow:
8+
9+
4. Go to Sales / Orders / Quotations.
10+
5. Create new Sale Order with non Service product with Quantity > 1.
11+
6. Confirm Sale Order.
12+
7. Go to Delivery in Delivery smart button.
13+
8. Driver was automatically assigned in picking from Carrier.
14+
9. You can change the driver without changing the carrier.
15+
16+
Stock Flow:
17+
18+
10. Go to Inventory / Operations / Transfer.
19+
11. Create new Transfer.
20+
12. Choose carrier.
21+
13. The driver is automatically assigned.
22+
14. You can change the driver without changing the carrier.
23+
9.23 KB
Loading

0 commit comments

Comments
 (0)