Skip to content

Commit

Permalink
Merge PR #1840 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Dec 1, 2024
2 parents a12a318 + dfa322e commit 6920dc3
Show file tree
Hide file tree
Showing 18 changed files with 272 additions and 222 deletions.
4 changes: 3 additions & 1 deletion .copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ odoo_test_flavor: Both
odoo_version: 16.0
org_name: Odoo Community Association (OCA)
org_slug: OCA
rebel_module_groups: []
rebel_module_groups:
- account_invoice_triple_discount
- account_invoice_fixed_discount
repo_description: 'TODO: add repo description.'
repo_name: account-invoicing
repo_slug: account-invoicing
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,24 @@ jobs:
matrix:
include:
- container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest
include: "account_invoice_triple_discount"
name: test with Odoo
- container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest
include: "account_invoice_triple_discount"
name: test with OCB
makepot: "true"
- container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest
include: "account_invoice_fixed_discount"
name: test with Odoo
- container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest
include: "account_invoice_fixed_discount"
name: test with OCB
makepot: "true"
- container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest
exclude: "account_invoice_triple_discount,account_invoice_fixed_discount"
name: test with Odoo
- container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest
exclude: "account_invoice_triple_discount,account_invoice_fixed_discount"
name: test with OCB
makepot: "true"
services:
Expand All @@ -49,6 +65,9 @@ jobs:
POSTGRES_DB: odoo
ports:
- 5432:5432
env:
INCLUDE: "${{ matrix.include }}"
EXCLUDE: "${{ matrix.exclude }}"
steps:
- uses: actions/checkout@v3
with:
Expand Down
7 changes: 6 additions & 1 deletion account_global_discount/tests/test_global_discount.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,12 @@ def test_01_global_invoice_succesive_discounts(self):
# The global discounts amount is then 160 - 56 = 104
with Form(self.invoice) as invoice_form:
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount = 20
# Make the test compatible if account_invoice_triple_discount
# is installed
if "discount1" in line_form._model._fields:
line_form.discount1 = 20
else:
line_form.discount = 20
self.assertEqual(len(self.invoice.invoice_global_discount_ids), 2)
invoice_tax_line = self.invoice.line_ids.filtered("tax_line_id")
self.assertAlmostEqual(invoice_tax_line.tax_base_amount, 56.0)
Expand Down
1 change: 1 addition & 0 deletions account_invoice_fixed_discount/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"application": False,
"installable": True,
"depends": ["account"],
"excludes": ["account_invoice_triple_discount"],
"data": [
"security/res_groups.xml",
"views/account_move_view.xml",
Expand Down
11 changes: 7 additions & 4 deletions account_invoice_fixed_discount/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@

/*
:Author: David Goodger ([email protected])
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.

Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.

See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
Expand Down Expand Up @@ -274,7 +275,7 @@
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: grey; } /* line numbers */
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
Expand All @@ -300,7 +301,7 @@
span.pre {
white-space: pre }

span.problematic {
span.problematic, pre.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -429,7 +430,9 @@ <h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
Expand Down
3 changes: 3 additions & 0 deletions account_invoice_triple_discount/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ Authors

* QubiQ
* Tecnativa
* GRAP

Contributors
~~~~~~~~~~~~
Expand All @@ -84,7 +85,9 @@ Contributors
* `Aion Tech <https://aiontech.company/>`_:

* Simone Rubino <[email protected]>

* Laurent Mignon <[email protected]>
* Akim Juillerat <[email protected]>

Maintainers
~~~~~~~~~~~
Expand Down
1 change: 1 addition & 0 deletions account_invoice_triple_discount/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
from . import models
from .hooks import post_init_hook
6 changes: 4 additions & 2 deletions account_invoice_triple_discount/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Account Invoice Triple Discount",
"version": "16.0.1.0.3",
"version": "16.0.2.0.0",
"category": "Accounting & Finance",
"author": "QubiQ, Tecnativa, Odoo Community Association (OCA)",
"author": "QubiQ, Tecnativa, GRAP, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-invoicing",
"license": "AGPL-3",
"summary": "Manage triple discount on invoice lines",
"depends": ["account"],
"excludes": ["account_invoice_fixed_discount"],
"post_init_hook": "post_init_hook",
"data": ["report/invoice.xml", "views/account_move.xml"],
"installable": True,
}
17 changes: 17 additions & 0 deletions account_invoice_triple_discount/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024-Today - Sylvain Le GAL (GRAP)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

import logging

_logger = logging.getLogger(__name__)


def post_init_hook(cr, registry):
_logger.info("Initializing column discount1 on table account_move_line")
cr.execute(
"""
UPDATE account_move_line
SET discount1 = discount
WHERE discount != 0
"""
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Copyright 2024 Camptocamp SA
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
from openupgradelib import openupgrade


def migrate_discount_to_discount1(env):
openupgrade.add_fields(
env,
[
(
"discount1",
"account.move.line",
"account_move_line",
"float",
"numeric",
"account_invoice_triple_discount",
0.0,
)
],
)
openupgrade.logged_query(
env.cr,
"""
UPDATE account_move_line
SET discount1 = discount;
""",
)
# if discounts are : 10% - 20% - 30% main discount is : 49.6 %
# if discounts are : 05% - 09% - 13% main discount is : 24.7885 %
openupgrade.logged_query(
env.cr,
"""
UPDATE account_move_line
SET discount = 100 * (
1 - (
(100 - COALESCE(discount1, 0.0)) / 100
* (100 - COALESCE(discount2, 0.0)) / 100
* (100 - COALESCE(discount3, 0.0)) / 100
)
);
""",
)


@openupgrade.migrate()
def migrate(env, version):
migrate_discount_to_discount1(env)
1 change: 0 additions & 1 deletion account_invoice_triple_discount/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
from . import account_move_line
from . import account_move
43 changes: 0 additions & 43 deletions account_invoice_triple_discount/models/account_move.py

This file was deleted.

Loading

0 comments on commit 6920dc3

Please sign in to comment.