Skip to content

Commit

Permalink
Merge PR OCA#840 into 17.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Jul 25, 2024
2 parents ba07484 + 1de4cff commit 78aad3f
Show file tree
Hide file tree
Showing 25 changed files with 1,890 additions and 0 deletions.
150 changes: 150 additions & 0 deletions delivery_state/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
==============
Delivery State
==============

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:68092f0d18c9b4d84351e40feac906342964b89011d4f570b89b9b916285f965
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fdelivery--carrier-lightgray.png?logo=github
:target: https://github.com/OCA/delivery-carrier/tree/17.0/delivery_state
:alt: OCA/delivery-carrier
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/delivery-carrier-17-0/delivery-carrier-17-0-delivery_state
: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/delivery-carrier&target_branch=17.0
:alt: Try me on Runboat

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

This module adds additional functions that will be needed for the
carrier developments. It provides fields to be able to contemplate the
tracking states and also adds a global field so it can have generic
states in addition to the ones carrier gives us.

**Table of contents**

.. contents::
:local:

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

A scheduled action for automating the tracking update for these pickings
can be configured going to *Settings > Technical > Scheduled Actions*
and then choosing *Update deliveries states*. It will update the pending
delivery states for the pickings with service providers with tracking
methods configured, and in pending state (not delivered or cancelled).

In order to send automatic notifications to the customer when the
picking is customer_delivered:

1. Go to *Inventory > Configuration > Settings*.
2. Enable the option *Email Confirmation (customer delivered)*.
3. Choose the template "Delivery: Picking delivered by Email".

Usage
=====

Depending on the delivery service provider, the state tracking could be
more or less complete, since it could have or not the necessary API
calls implemented.

With regular methods (fixed, based on rules):

1. Go to Inventory / Operations and open an outgoing pending picking.
2. In the *Additional Info* tab, assign it a delivery carrier which
is fixed or based on rules.
3. Validate the picking and you'll see in the same tab the delivery
state info with the shipping date and the shipping state.
4. If enabled, an automatic notification will be sent to the picking
customer.

When service provider methods are implemented, we can follow the same
steps as described before, but we'll get additionally:

1. In the *Additional Info* tab, we'll see button *Update tracking
state* to manually query the provider API for tracking updates for
this expedition.

2. Depending on the stated returned by the provider, we could get
these states (field *Carrier State*):

- Shipping recorded in carrier
- In transit
- Canceled shipment (finished)
- Incident
- Warehouse delivered
- Customer delivered (finished)

3. In the field *Tracking state* we'll get the tracking state name
given by the provider (which is mapped to the ones in this module)

4. In the field *Tracking history* we'll get the former states log.

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

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

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

Credits
=======

Authors
-------

* Trey (www.trey.es)
* FactorLibre
* Tecnativa

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

- `Trey <https://www.trey.es>`__:

- Roberto Lizana <[email protected]>

- `FactorLibre <https://www.factorlibre.com>`__:

- Zahra Velasco <[email protected]>

- `Tecnativa <https://www.tecnativa.com>`__:

- Pedro M. Baeza
- David Vidal
- Víctor Martínez

- Marçal Isern <[email protected]>

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.

This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/17.0/delivery_state>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions delivery_state/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import models
24 changes: 24 additions & 0 deletions delivery_state/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2020 Trey, Kilobytes de Soluciones
# Copyright 2020 FactorLibre
# Copyright 2020 Tecnativa - David Vidal
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Delivery State",
"summary": "Provides fields to be able to contemplate the tracking states"
"and also adds a global fields",
"author": "Trey (www.trey.es), "
"FactorLibre, "
"Tecnativa, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/delivery-carrier",
"license": "AGPL-3",
"category": "Delivery",
"version": "17.0.1.0.0",
"depends": ["delivery", "stock_delivery"],
"data": [
"data/ir_cron_data.xml",
"data/mail_template.xml",
"views/res_config_settings_view.xml",
"views/stock_picking_views.xml",
],
}
13 changes: 13 additions & 0 deletions delivery_state/data/ir_cron_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ir_cron_delivery_state" model="ir.cron">
<field name="name">Update deliveries states</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False" />
<field name="model_id" ref="model_stock_picking" />
<field name="code">model._update_delivery_state()</field>
<field name="state">code</field>
</record>
</odoo>
29 changes: 29 additions & 0 deletions delivery_state/data/mail_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="delivery_state_delivered_notification" model="mail.template">
<field name="name">Delivery: Picking delivered by Email</field>
<field name="model_id" ref="stock.model_stock_picking" />
<field
name="subject"
>Your order {{ object.carrier_tracking_ref or object.name }} from {{ object.company_id.name }}</field>
<field
name="partner_to"
>{{ object.partner_id.email and object.partner_id.id or object.partner_id.parent_id.id }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Hello <t t-out="object.partner_id.name" />,<br /><br />
Your package has been delivered!<br /><br />
Order information<br />
Order <t t-out="object.carrier_tracking_ref" /><br />
<t t-if="user.signature">
<br />
<t t-out="user.signature" />
</t>
</p>
</div>
</field>
<field name="lang">{{ object.partner_id.lang }}</field>
<field name="auto_delete" eval="True" />
</record>
</odoo>
170 changes: 170 additions & 0 deletions delivery_state/i18n/delivery_state.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * delivery_state
#
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: delivery_state
#: model:mail.template,body_html:delivery_state.delivery_state_delivered_notification
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Hello <t t-out=\"object.partner_id.name\"></t>,<br><br>\n"
" Your package has been delivered!<br><br>\n"
" Order information<br>\n"
" Order <t t-out=\"object.carrier_tracking_ref\"></t><br>\n"
" <t t-if=\"user.signature\">\n"
" <br>\n"
" <t t-out=\"user.signature\"></t>\n"
" </t>\n"
" </p>\n"
" </div>\n"
" "
msgstr ""

#. module: delivery_state
#: model_terms:ir.ui.view,arch_db:delivery_state.res_config_settings_view_form
msgid ""
"<span class=\"fa fa-lg fa-building-o\" title=\"Values set here are company-"
"specific.\" groups=\"base.group_multi_company\"/>"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__canceled_shipment
msgid "Canceled shipment"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_stock_picking__delivery_state
msgid "Carrier State"
msgstr ""

#. module: delivery_state
#: model:ir.model,name:delivery_state.model_res_company
msgid "Companies"
msgstr ""

#. module: delivery_state
#: model:ir.model,name:delivery_state.model_res_config_settings
msgid "Config Settings"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__customer_delivered
msgid "Customer delivered"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_stock_picking__date_delivered
msgid "Delivery Date"
msgstr ""

#. module: delivery_state
#: model:mail.template,name:delivery_state.delivery_state_delivered_notification
msgid "Delivery: Picking delivered by Email"
msgstr ""

#. module: delivery_state
#: model_terms:ir.ui.view,arch_db:delivery_state.res_config_settings_view_form
msgid "Email Confirmation (customer delivered)"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_res_company__delivery_state_delivered_email_validation
#: model:ir.model.fields,field_description:delivery_state.field_res_config_settings__delivery_state_delivered_email_validation
msgid "Email Confirmation delivered picking"
msgstr ""

#. module: delivery_state
#: model_terms:ir.ui.view,arch_db:delivery_state.res_config_settings_view_form
msgid "Email Template"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_res_company__delivery_state_delivered_mail_template_id
#: model:ir.model.fields,field_description:delivery_state.field_res_config_settings__delivery_state_delivered_mail_template_id
msgid "Email Template delivered picking"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__in_transit
msgid "In transit"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__incident
msgid "Incident"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__no_update
msgid "No more updates from carrier"
msgstr ""

#. module: delivery_state
#: model_terms:ir.ui.view,arch_db:delivery_state.res_config_settings_view_form
msgid ""
"Send an automatic confirmation email when Delivery Orders are delivered"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_stock_picking__date_shipped
msgid "Shipment Date"
msgstr ""

#. module: delivery_state
#: model:ir.model,name:delivery_state.model_delivery_carrier
msgid "Shipping Methods"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__shipping_recorded_in_carrier
msgid "Shipping recorded in carrier"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_stock_picking__tracking_state
msgid "Tracking State"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields,field_description:delivery_state.field_stock_picking__tracking_state_history
msgid "Tracking State History"
msgstr ""

#. module: delivery_state
#: model:ir.model,name:delivery_state.model_stock_picking
msgid "Transfer"
msgstr ""

#. module: delivery_state
#: model:ir.actions.server,name:delivery_state.ir_cron_delivery_state_ir_actions_server
#: model:ir.cron,cron_name:delivery_state.ir_cron_delivery_state
msgid "Update deliveries states"
msgstr ""

#. module: delivery_state
#: model_terms:ir.ui.view,arch_db:delivery_state.view_picking_withcarrier_out_form
msgid "Update tracking state"
msgstr ""

#. module: delivery_state
#: model:ir.model.fields.selection,name:delivery_state.selection__stock_picking__delivery_state__warehouse_delivered
msgid "Warehouse delivered"
msgstr ""

#. module: delivery_state
#: model:mail.template,subject:delivery_state.delivery_state_delivered_notification
msgid ""
"Your order {{ object.carrier_tracking_ref or object.name }} from {{ "
"object.company_id.name }}"
msgstr ""
Loading

0 comments on commit 78aad3f

Please sign in to comment.