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

[MIG] sale_exception: Migration to 16.0 #2344

Merged
merged 55 commits into from
Feb 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
54ae331
[ADD] sale_exception
atchuthan Mar 16, 2016
dffe199
[FIX] sale_exception: README
pedrobaeza Apr 12, 2016
9161a02
[FIX] sale_exception: configuration menu
atchuthan May 12, 2016
faf2bf4
[IMP] Rename `action_cancel` to `action_draft` to reset the flag
atchuthan Oct 7, 2016
92b2e3d
[FIX] sale_exception: count stock from selected warehouse
TheCloneMaster Nov 22, 2016
050aff9
sale_*: Fix parent menu
pedrobaeza Dec 29, 2016
3d11acd
[FIX] add dependency to server-tools/base_exception
mourad-ehm Mar 9, 2017
ca2476c
[FIX] sale_exception misc
mourad-ehm Mar 13, 2017
4b1c56d
[FIX] sale_exception constraint
yvaucher May 30, 2017
c0de66e
[11.0][MIG] sale_exception
simahawk Nov 28, 2017
6d83b65
sale_exception: recover translations from v10
simahawk Jan 12, 2018
784721a
[FIX] sale_exception: Menu location (#719)
ivantodorovich Oct 25, 2018
3f63edd
Sale Exception to v12
ljimenezsidoo Mar 14, 2019
87607dd
[MIG] sale_exception: Migration to 12.0
sebalix Apr 25, 2019
7f6698b
[IMP] sale_exception: format XML file 'views/sale_view.xml'
sebalix May 10, 2019
9c5420a
Adapt sale_exception to base_exception simplification
florian-dacosta May 28, 2019
df1a1a8
Add test and fix apple and orange mixing error between sale order and…
florian-dacosta Jun 12, 2019
3f5d38a
sale_exception: Remove side effect from api.constrains
guewen Aug 13, 2019
6a6e29b
[FIX] sale_exception: remove obsolete base_sale_multi_channel referen…
zeroheure Oct 12, 2019
e315637
[IMP] sale exception (#878)
ivantodorovich Oct 14, 2019
23663cb
[FIX] sale_exception: Disable failing test
pedrobaeza Oct 24, 2019
46d575d
[FIX] sale_exception: Avoid W0101 pylint error
pedrobaeza Oct 24, 2019
ac7af3d
[FIX] sale_exception: Disable test via __init__
pedrobaeza Oct 24, 2019
5aa82a2
[MIG] sale_exception: Migration to 13.0
jaredkipe Jan 20, 2020
cea287d
sale_exception: apply pre-commit
guewen Jul 14, 2020
18f9d57
sale_exception: fix test class
simahawk Dec 15, 2020
637ff79
sale_exception: drop backward compat code
simahawk Dec 15, 2020
a892cdc
sale_exception: fix warning
simahawk Dec 15, 2020
47a524f
[UPD] Update sale_exception.pot
oca-travis Dec 16, 2020
be850cb
[UPD] README.rst
OCA-git-bot Dec 16, 2020
15c40c8
sale_exception: keep detail of exceptions on lines
guewen Jul 14, 2020
caed266
sale_exception: restore multi record tests, fix base class
simahawk Dec 16, 2020
a9b0b6c
[UPD] Update sale_exception.pot
oca-travis Dec 16, 2020
79ca913
sale_exception 13.0.1.1.0
OCA-git-bot Dec 16, 2020
be0fec6
Update translation files
oca-transbot Dec 16, 2020
080c356
[MIG] sale_exception: Migration to 14.0
sebastienbeau Dec 21, 2020
ac5f1f9
fix sale_exception datas
damdam-s Apr 30, 2021
5661fc4
[UPD] Update sale_exception.pot
oca-travis May 20, 2021
61a514a
[UPD] README.rst
OCA-git-bot May 20, 2021
a236824
sale_exception 14.0.1.0.1
OCA-git-bot May 20, 2021
660a181
Translated using Weblate (Spanish)
ValentinVinagre May 25, 2021
04b9375
Translated using Weblate (German)
marylla Jul 9, 2021
86a9570
[13.0][FIX] sale_exception ignore after confirm
TDu Apr 12, 2021
771518c
[IMP] sale_exception: Add Customer sale warning + product warning exc…
victoralmau Aug 9, 2021
a111de1
[UPD] Update sale_exception.pot
oca-travis Dec 2, 2021
7bee9b4
[UPD] README.rst
OCA-git-bot Dec 2, 2021
7411e5b
sale_exception 14.0.1.1.0
OCA-git-bot Dec 2, 2021
5126142
Update translation files
oca-transbot Dec 2, 2021
859d746
[MIG] sale_exception: Migration to 15.0
damdam-s Mar 23, 2022
f064fb1
[UPD] Update sale_exception.pot
Sep 21, 2022
ae5e27a
[UPD] README.rst
OCA-git-bot Sep 21, 2022
1df77fa
[IMP] sale_exception: pre-commit stuff
matiasperalta1 Nov 16, 2022
4be9ab6
[MIG] sale_exception: Migration to 16.0
matiasperalta1 Nov 17, 2022
ae6a959
[16.0][MIG] - finalize sale_exception migration
sbejaoui Jan 25, 2023
5a6c9d9
[FIX] - sale_exception: fix unit tests
sbejaoui Jan 25, 2023
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
143 changes: 143 additions & 0 deletions sale_exception/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
==============
Sale Exception
==============

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/15.0/sale_exception
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-15-0/sale-workflow-15-0-sale_exception
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/167/15.0
:alt: Try me on Runbot

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

This module allows you attach several customizable exceptions to your
sale order in a way that you can filter orders by exceptions type and fix them.

This is especially useful in an scenario for mass sales order import because
it's likely some orders have errors when you import them (like product not
found in Odoo, wrong line format etc.)

**Table of contents**

.. contents::
:local:

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

If you are going to use Customer sale warning and Product warning,
for setting corresponding information, you need to:

#. Go to *Settings > User & Companies > Users*.
#. Edit your user.
#. Check "A warning can be set on a product or a customer (Sale)" group.
#. Install sale_management addon.

Usage
=====

Not Enough Virtual Stock:
#. Go to *Sales > Products > Products*.
#. Create new storable product without stock available.
#. Go to *Sales > Orders > Quotations*
#. Create new quotation.
#. Add product without stock available.
#. An exception will be displayed.

No ZIP code on destination:
#. Go to *Contacts*.
#. Edit or create new contact.
#. Set empty zip code.
#. Go to *Sales > Orders > Quotations*
#. Create new quotation.
#. Set delivery address with no zip code.
#. An exception will be displayed.

Product warning:
#. Go to *Sales > Products > Products*.
#. Edit or create new product.
#. Go to *Sales* tab.
#. Set your desired warning option under the *Warning when Selling this Product* group.
#. Set some warning message.
#. Go to *Sales > Orders > Quotations*
#. Create new quotation.
#. Add product with warning message.
#. An exception will be displayed.

Partner warning:
#. Go to *Contacts*.
#. Edit or create new contact.
#. Go to *Internal notes* tab.
#. Set warning option according to *Warning on the Sales Order* group.
#. Set some warning message.
#. Go to *Sales > Orders > Quotations*
#. Create new quotation.
#. Set partner with warning message.
#. An exception will be displayed.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_exception%0Aversion:%2015.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
~~~~~~~

* Akretion
* Sodexis
* Camptocamp

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

* Raphaël Valyi <[email protected]>
* Renato Lima <[email protected]>
* Sébastien BEAU <[email protected]>
* Guewen Baconnier <[email protected]>
* Yannick Vaucher <[email protected]>
* Simone Orsi <[email protected]>
* SodexisTeam <[email protected]>
* Mourad EL HADJ MIMOUNE <[email protected]>
* Raphaël Reverdy <[email protected]>
* Florian da Costa <[email protected]>
* Iván Todorovich <[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/sale-workflow <https://github.com/OCA/sale-workflow/tree/15.0/sale_exception>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions sale_exception/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
from . import models
from . import wizard
24 changes: 24 additions & 0 deletions sale_exception/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2011 Akretion, Sodexis
# Copyright 2018 Akretion
# Copyright 2019 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Sale Exception",
"summary": "Custom exceptions on sale order",
"version": "16.0.1.0.0",
"category": "Generic Modules/Sale",
"author": "Akretion, "
"Sodexis, "
"Camptocamp, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/sale-workflow",
"depends": ["sale", "base_exception"],
"license": "AGPL-3",
"data": [
"security/ir.model.access.csv",
"data/sale_exception_data.xml",
"wizard/sale_exception_confirm_view.xml",
"views/sale_view.xml",
],
"demo": ["demo/sale_exception_demo.xml"],
}
50 changes: 50 additions & 0 deletions sale_exception/data/sale_exception_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo noupdate="1">
<record forcecreate="True" id="ir_cron_test_orders" model="ir.cron">
<field name="name">Test Draft Orders</field>
<field name="active" eval="False" />
<field name="user_id" ref="base.user_root" />
<field name="interval_number">20</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall" />
<field name="model_id" ref="sale.model_sale_order" />
<field name="state">code</field>
<field name="code">model.test_all_draft_orders()</field>
</record>
<record id="excep_no_zip" model="exception.rule">
<field name="name">No ZIP code on destination</field>
<field name="description">No ZIP code on destination</field>
<field name="sequence">50</field>
<field name="model">sale.order</field>
<field name="code">failed=not self.partner_shipping_id.zip</field>
<field name="active" eval="False" />
</record>
<record id="excep_no_stock" model="exception.rule">
<field name="name">Not Enough Virtual Stock</field>
<field name="description">Not Enough Virtual Stock</field>
<field name="sequence">50</field>
<field name="model">sale.order.line</field>
<field
name="code"
>failed=self.product_id and self.product_id.type == 'product' and self.virtual_available_at_date &lt; self.product_uom_qty</field>
<field name="active" eval="False" />
</record>
<record id="exception_partner_sale_warning" model="exception.rule">
<field name="name">Customer sale warning</field>
<field name="description">The customer has a sale warning in his form</field>
<field name="sequence">40</field>
<field name="model">sale.order</field>
<field name="code">failed=self.partner_id.sale_warn == "warning"</field>
<field name="active" eval="False" />
</record>
<record id="exception_product_sale_warning" model="exception.rule">
<field name="name">Product warning</field>
<field name="description">The product has a warning in his form</field>
<field name="sequence">40</field>
<field name="model">sale.order.line</field>
<field name="code">failed=self.product_id.sale_line_warn == "warning"</field>
<field name="active" eval="False" />
</record>
</odoo>
33 changes: 33 additions & 0 deletions sale_exception/demo/sale_exception_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="excep_no_sol" model="exception.rule">
<field name="name">No order lines</field>
<field
name="description"
>At least one order line should be present in the sale</field>
<field name="sequence">50</field>
<field name="model">sale.order</field>
<field name="exception_type">by_domain</field>
<field name="domain">[('order_line', '=', False)]</field>
<field name="active" eval="False" />
</record>
<record id="excep_no_free" model="exception.rule">
<field name="name">No free order</field>
<field name="description">The total can't be 0</field>
<field name="sequence">50</field>
<field name="model">sale.order</field>
<field name="exception_type">by_domain</field>
<field name="domain">[('amount_total', '=', 0)]</field>
<field name="active" eval="False" />
</record>
<record id="excep_no_dumping" model="exception.rule">
<field name="name">No dumping</field>
<field name="description">A product is sold cheaper than his cost.</field>
<field name="sequence">50</field>
<field name="model">sale.order.line</field>
<field
name="code"
>failed = obj.product_id.standard_price != 0 and obj.product_id.standard_price &gt; obj.price_unit</field>
<field name="active" eval="False" />
</record>
</odoo>
Loading