Skip to content

Commit

Permalink
[ADD] epa_sale_stock_custom: add new module
Browse files Browse the repository at this point in the history
  • Loading branch information
WesleyOliveira98 committed Jun 7, 2024
1 parent 069faee commit d50d33c
Show file tree
Hide file tree
Showing 13 changed files with 638 additions and 0 deletions.
63 changes: 63 additions & 0 deletions epa_sale_stock_custom/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
=====================
Epa Sale Stock Custom
=====================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:569237ee61660ae3ef611205f497b3ef8cc6ca2672911e9ae9209958b001338d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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-Escodoo%2Fepa--addons-lightgray.png?logo=github
:target: https://github.com/Escodoo/epa-addons/tree/14.0/epa_sale_stock_custom
:alt: Escodoo/epa-addons

|badge1| |badge2| |badge3|

This module includes the "Picking Status" computed field inside `sale.order` model and adds new filters to the view.

**Table of contents**

.. contents::
:local:

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

Bugs are tracked on `GitHub Issues <https://github.com/Escodoo/epa-addons/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/Escodoo/epa-addons/issues/new?body=module:%20epa_sale_stock_custom%0Aversion:%2014.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
~~~~~~~

* Escodoo

Contributors
~~~~~~~~~~~~

* `Escodoo <https://www.escodoo.com.br>`_:

* Marcel Savegnago <marcel.savegnago@escodoo.com.br>
* Wesley Oliveira <wesley.oliveira@escodoo.com.br>

Maintainers
~~~~~~~~~~~

This module is part of the `Escodoo/epa-addons <https://github.com/Escodoo/epa-addons/tree/14.0/epa_sale_stock_custom>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions epa_sale_stock_custom/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
17 changes: 17 additions & 0 deletions epa_sale_stock_custom/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024 - TODAY, Escodoo
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Epa Sale Stock Custom",
"summary": """
EPA Sale Stock Custom""",
"version": "14.0.1.0.0",
"license": "AGPL-3",
"author": "Escodoo",
"website": "https://github.com/Escodoo/epa-addons",
"depends": ["sale_stock"],
"data": [
"views/sale_order.xml",
],
"demo": [],
}
1 change: 1 addition & 0 deletions epa_sale_stock_custom/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import sale_order
55 changes: 55 additions & 0 deletions epa_sale_stock_custom/models/sale_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Copyright 2024 - TODAY, Wesley Oliveira <wesley.oliveira@escodoo.com.br>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, fields, models


class SaleOrder(models.Model):

_inherit = "sale.order"

picking_status = fields.Selection(
[
("delivered", "Fully Delivered"),
("partially_delivered", "Partially Delivered"),
("to_deliver", "To Deliver"),
("cancel", "Delivery Cancelled"),
("no", "Nothing to Deliver"),
],
string="Picking Status",
compute="_compute_picking_status",
store=True,
readonly=True,
)

@api.depends("state", "picking_ids.state")
def _compute_picking_status(self):
"""
Compute the picking status for the SO. Possible statuses:
- no: if the SO is not in status 'sale' nor 'done', we consider that
there is nothing to deliver. This is also the default value if the
conditions of no other status is met.
- cancel: all pickings are cancelled
- delivered: if all pickings are done or cancel.
- partially_delivered: If at least one picking is done.
- to_deliver: if all pickings are in confirmed, assigned, waiting or
cancel state.
"""
for order in self:
picking_status = "no"
if order.state in ("sale", "done") and order.picking_ids:
pstates = [picking.state for picking in order.picking_ids]
if all([state == "cancel" for state in pstates]):
picking_status = "cancel"
elif all([state in ("done", "cancel") for state in pstates]):
picking_status = "delivered"
elif any([state == "done" for state in pstates]):
picking_status = "partially_delivered"
elif all(
[
state in ("confirmed", "assigned", "waiting", "cancel")
for state in pstates
]
):
picking_status = "to_deliver"
order.picking_status = picking_status
4 changes: 4 additions & 0 deletions epa_sale_stock_custom/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* `Escodoo <https://www.escodoo.com.br>`_:

* Marcel Savegnago <marcel.savegnago@escodoo.com.br>
* Wesley Oliveira <wesley.oliveira@escodoo.com.br>
1 change: 1 addition & 0 deletions epa_sale_stock_custom/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module includes the "Picking Status" computed field inside `sale.order` model and adds new filters to the view.
Empty file.
Binary file added epa_sale_stock_custom/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d50d33c

Please sign in to comment.