Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16][ADD] delivery_roulier_geodis_fr #899

Open
wants to merge 12 commits into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions delivery_roulier_geodis_fr/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Delivery Carrier Geodis
=======================


Description
-----------
Send parcels with Geodis.
Labels are generated from WebServices.
Edi file is generated locally and should be sent
by another module.

Glossary
--------

Agency: Geodis's hub your warehouse depends upon.

Configuration

## Create a partner for your agency.

This modules comes with only one partner "Geodis". It's the head quarters of Geodis.
You need to create partners for the agency you depends :
- create a sub contact of "Geodis HQ",
- pay attention to fill correctly name, streets, phone, zip code, country and *SIRET*
- fill "ref" (internal reference) field with the agency id.


Features:
- Multiple Agencies.

Known Issues:
~~~~~~~~~~~~~

- each pack is sent on his own : no handling of numbers of picking


Technical references
--------------------

'Geodis documentation: www.geodis.fr'

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

* Raphaël REVERDY <[email protected]>
* Eric Bouhana <[email protected]>

1 change: 1 addition & 0 deletions delivery_roulier_geodis_fr/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
29 changes: 29 additions & 0 deletions delivery_roulier_geodis_fr/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Delivery Carrier Geodis (fr)",
"version": "16.0.1.0.0",
"author": "Akretion, Odoo Community Association (OCA)",
"summary": "Generate Label for Geodis logistic",
"maintainers": ["florian-dacosta"],
"category": "Warehouse",
"depends": [
"delivery_roulier",
"delivery_carrier_agency",
"delivery_carrier_deposit",
"delivery_roulier_option",
"partner_address_split",
"l10n_fr_siret",
],
"website": "https://github.com/OCA/delivery-carrier",
"data": [
"data/product.xml",
"data/delivery.xml",
"data/sequence_geodis.xml",
"views/carrier_account_views.xml",
"views/delivery_carrier_agency_views.xml",
],
"demo": [],
"installable": True,
"license": "AGPL-3",
}
130 changes: 130 additions & 0 deletions delivery_roulier_geodis_fr/data/delivery.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">

<!-- PARTNER -->
<record id="partner_geodis" model="res.partner">
<field name="name">Geodis</field>
<field name="is_company" eval="True" />
<field name="street">26 Quai Charles Pasqua</field>
<field name="zip">92300</field>
<field name="phone">+33156762600</field>
<field name="city">Levallois-Perret</field>
</record>

<record id="default_geodis_calberson_agency_partner" model="res.partner">
<field name="parent_id" ref="partner_geodis" />
<field name="name">Geodis Lille Europe</field>
<field name="is_company" eval="True" />
<field name="street">7 Avenue de la Rotonde</field>
<field name="zip">59160</field>
<field name="phone">+33320085555</field>
<field name="country_id" ref="base.fr" />
<field name="city">Lomme</field>
<field name="siren">457507358</field>
<field name="nic">00044</field>
</record>

<record id="default_geodis_france_exress_agency_partner" model="res.partner">
<field name="parent_id" ref="partner_geodis" />
<field name="name">France Express Lille</field>
<field name="is_company" eval="True" />
<field name="street">2 RUE DES SAPINS</field>
<field name="zip">59810</field>
<field name="phone">+336320161718</field>
<field name="city">LESQUIN</field>
<field name="siren">300089174</field>
<field name="country_id" ref="base.fr" />
<field name="nic">00035</field>
</record>

<!-- DELIVERY CARRIER TEMPLATE OPTION -->
<record id="carrier_opt_tmpl_RDW" model="delivery.carrier.template.option">
<field name="name">On Demand</field>
<field name="code">RDW</field>
</record>

<!-- DELIVERY CARRIER -->
<record id="delivery_carrier_exp" model="delivery.carrier">
<field name="name">Geodis Express</field>
<field name="code">EXP</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
</record>

<record id="delivery_carrier_rap" model="delivery.carrier">
<field name="name">Geodis Rapide</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">RAP</field>
</record>

<record id="delivery_carrier_mes" model="delivery.carrier">
<field name="name">Geodis Messagerie</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">MES</field>
</record>
<record id="delivery_carrier_top24" model="delivery.carrier">
<field name="name">Geodis Top24</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">T24</field>
</record>

<record id="delivery_carrier_cal" model="delivery.carrier">
<field name="name">Geodis Calpack</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">CAL</field>
</record>

<record id="delivery_carrier_p30" model="delivery.carrier">
<field name="name">Geodis Pack30</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">P30</field>
</record>

<record id="delivery_carrier_inp" model="delivery.carrier">
<field name="name">Geodis InterPack</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">INP</field>
</record>

<record id="delivery_carrier_mei" model="delivery.carrier">
<field name="name">Geodis Messagerie Internationnale</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">MEI</field>
</record>

<record id="delivery_carrier_cxi" model="delivery.carrier">
<field name="name">Geodis CXI France Express</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">CXI</field>
</record>

<record id="delivery_carrier_cx" model="delivery.carrier">
<field name="name">Geodis CX Expres</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">CX</field>
</record>

<record id="delivery_carrier_ine" model="delivery.carrier">
<field name="name">Geodis Inter Express</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">INE</field>
</record>

<record id="delivery_carrier_eex" model="delivery.carrier">
<field name="name">Geodis Euro Express</field>
<field name="delivery_type">geodis_fr</field>
<field name="product_id" ref="geodis_shipping_fee" />
<field name="code">EEX</field>
</record>

</odoo>
10 changes: 10 additions & 0 deletions delivery_roulier_geodis_fr/data/product.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">

<record id="geodis_shipping_fee" model="product.product">
<field name="default_code">SHIP_GEODIS</field>
<field name="type">service</field>
<field name="name">Coûts de livraison - GEODIS</field>
</record>

</odoo>
9 changes: 9 additions & 0 deletions delivery_roulier_geodis_fr/data/sequence_geodis.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<odoo>
<record model="ir.sequence" id="geodis_nrecep_sequence">
<field name="name">Numerotation des colis geodis</field>
<field name="code">geodis.nrecep.number</field>
<field name="prefix">%(year)s_</field>
<field name="padding">8</field>
<field name="implementation">no_gap</field>
</record>
</odoo>
6 changes: 6 additions & 0 deletions delivery_roulier_geodis_fr/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from . import stock_picking
from . import delivery_carrier
from . import carrier_account
from . import delivery_carrier_agency
from . import deposit
from . import stock_quant_package
16 changes: 16 additions & 0 deletions delivery_roulier_geodis_fr/models/carrier_account.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class CarrierAccount(models.Model):
_inherit = "carrier.account"

geodis_fr_customer_id = fields.Char(string="Customer Id")
geodis_fr_file_format = fields.Selection(
[("ZPL", "ZPL")], default="ZPL", string="Geodis File Format"
)
geodis_fr_tracking_account = fields.Boolean(
string="Is a Tracking Account",
help="Check this box if this account is used to get the tracking links for geodis",
)
12 changes: 12 additions & 0 deletions delivery_roulier_geodis_fr/models/delivery_carrier.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class DeliveryCarrier(models.Model):
_inherit = "delivery.carrier"

delivery_type = fields.Selection(
selection_add=[("geodis_fr", "Geodis")],
ondelete={"geodis_fr": "set default"},
)
11 changes: 11 additions & 0 deletions delivery_roulier_geodis_fr/models/delivery_carrier_agency.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class DeliveryCarrierAgency(models.Model):
_inherit = "delivery.carrier.agency"

geodis_fr_interchange_sender = fields.Char()
geodis_fr_interchange_recipient = fields.Char()
geodis_fr_hub_id = fields.Char()
Loading
Loading