diff --git a/account_invoice_start_end_dates/README.rst b/account_invoice_start_end_dates/README.rst
index 62d920461ad..f9412fdbc3b 100644
--- a/account_invoice_start_end_dates/README.rst
+++ b/account_invoice_start_end_dates/README.rst
@@ -17,13 +17,13 @@ Account Invoice Start End Dates
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--closing-lightgray.png?logo=github
- :target: https://github.com/OCA/account-closing/tree/17.0/account_invoice_start_end_dates
+ :target: https://github.com/OCA/account-closing/tree/18.0/account_invoice_start_end_dates
:alt: OCA/account-closing
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/account-closing-17-0/account-closing-17-0-account_invoice_start_end_dates
+ :target: https://translation.odoo-community.org/projects/account-closing-18-0/account-closing-18-0-account_invoice_start_end_dates
: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/account-closing&target_branch=17.0
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/account-closing&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -61,7 +61,7 @@ Bug Tracker
Bugs are tracked on `GitHub 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 `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -77,16 +77,22 @@ Contributors
------------
- Alexis de Lattre
+
- Jeroen Evens
+
+- Frederic Grall
+
- `Trobz `__:
- Thao Le thaolt@trobz.com
+ - Do Anh Duy duyda@trobz.com
Other credits
-------------
The migration of this module from 16.0 to 17.0 was financially supported
-by Camptocamp.
+by Camptocamp. The migration of this module from 17.0 to 18.0 was
+financially supported by Camptocamp.
Maintainers
-----------
@@ -109,6 +115,6 @@ Current `maintainer `__:
|maintainer-alexis-via|
-This module is part of the `OCA/account-closing `_ project on GitHub.
+This module is part of the `OCA/account-closing `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/account_invoice_start_end_dates/__manifest__.py b/account_invoice_start_end_dates/__manifest__.py
index 49118dbe058..4b579c964c0 100644
--- a/account_invoice_start_end_dates/__manifest__.py
+++ b/account_invoice_start_end_dates/__manifest__.py
@@ -5,7 +5,7 @@
{
"name": "Account Invoice Start End Dates",
- "version": "17.0.1.1.0",
+ "version": "18.0.1.0.0",
"category": "Accounting & Finance",
"license": "AGPL-3",
"summary": "Adds start/end dates on invoice/move lines",
diff --git a/account_invoice_start_end_dates/models/account_move.py b/account_invoice_start_end_dates/models/account_move.py
index bbf4fdfa049..204dcf6f5b4 100644
--- a/account_invoice_start_end_dates/models/account_move.py
+++ b/account_invoice_start_end_dates/models/account_move.py
@@ -2,7 +2,7 @@
# @author: Alexis de Lattre
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo import _, models
+from odoo import models
from odoo.exceptions import UserError
@@ -11,18 +11,18 @@ class AccountMove(models.Model):
def _post(self, soft=True):
for move in self:
- for line in move.line_ids:
- if (
- line.product_id
- and line.product_id.must_have_dates
- and (not line.start_date or not line.end_date)
- ):
- raise UserError(
- _(
- "Missing Start Date and End Date for invoice "
- "line with Product '%s' which has the "
- "property 'Must Have Start/End Dates'."
- )
- % (line.product_id.display_name)
- )
+ missing_date_lines = move.line_ids.filtered(
+ lambda line: line.product_id
+ and line.must_have_dates
+ and (not line.start_date or not line.end_date)
+ )
+ if missing_date_lines:
+ product_name = missing_date_lines[0].product_id.display_name
+ raise UserError(
+ self.env._(
+ "Missing Start Date and End Date for invoice "
+ "line with Product '{product_name}' which has the "
+ "property 'Must Have Start/End Dates'.",
+ ).format(product_name=product_name)
+ )
return super()._post(soft=soft)
diff --git a/account_invoice_start_end_dates/models/account_move_line.py b/account_invoice_start_end_dates/models/account_move_line.py
index e8ad5c24d2e..a79576f7210 100644
--- a/account_invoice_start_end_dates/models/account_move_line.py
+++ b/account_invoice_start_end_dates/models/account_move_line.py
@@ -2,7 +2,7 @@
# @author: Alexis de Lattre
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo import _, api, fields, models
+from odoo import api, fields, models
from odoo.exceptions import ValidationError
from odoo.tools.misc import format_date
@@ -19,11 +19,13 @@ def _check_start_end_dates(self):
for moveline in self:
if moveline.start_date and not moveline.end_date:
raise ValidationError(
- _("Missing End Date for line '%s'.") % (moveline.display_name)
+ self.env._(f"Missing End Date for line '{moveline.display_name}'.")
)
if moveline.end_date and not moveline.start_date:
raise ValidationError(
- _("Missing Start Date for line '%s'.") % (moveline.display_name)
+ self.env._(
+ f"Missing Start Date for line '{moveline.display_name}'."
+ )
)
if (
moveline.end_date
@@ -31,13 +33,12 @@ def _check_start_end_dates(self):
and moveline.start_date > moveline.end_date
):
raise ValidationError(
- _(
+ self.env._(
"Start Date (%(start_date)s) should be before End Date "
"(%(end_date)s) for line '%(name)s'."
+ ).format(
+ start_date=format_date(self.env, moveline.start_date),
+ end_date=format_date(self.env, moveline.end_date),
+ name=moveline.display_name,
)
- % {
- "start_date": format_date(self.env, moveline.start_date),
- "end_date": format_date(self.env, moveline.end_date),
- "name": moveline.display_name,
- }
)
diff --git a/account_invoice_start_end_dates/readme/CONTRIBUTORS.md b/account_invoice_start_end_dates/readme/CONTRIBUTORS.md
index d2c14584fc6..e0d73519b18 100644
--- a/account_invoice_start_end_dates/readme/CONTRIBUTORS.md
+++ b/account_invoice_start_end_dates/readme/CONTRIBUTORS.md
@@ -1,4 +1,7 @@
- Alexis de Lattre \<\>
- Jeroen Evens \<\>
-- [Trobz](https://trobz.com):
+- Frederic Grall \<>
+
+- [Trobz](https://trobz.com):
- Thao Le
+ - Do Anh Duy
diff --git a/account_invoice_start_end_dates/readme/CREDITS.md b/account_invoice_start_end_dates/readme/CREDITS.md
index 8add88a2ebc..6982d247b01 100644
--- a/account_invoice_start_end_dates/readme/CREDITS.md
+++ b/account_invoice_start_end_dates/readme/CREDITS.md
@@ -1 +1,2 @@
The migration of this module from 16.0 to 17.0 was financially supported by Camptocamp.
+The migration of this module from 17.0 to 18.0 was financially supported by Camptocamp.
diff --git a/account_invoice_start_end_dates/static/description/index.html b/account_invoice_start_end_dates/static/description/index.html
index 91900d8f1f4..eee3602445f 100644
--- a/account_invoice_start_end_dates/static/description/index.html
+++ b/account_invoice_start_end_dates/static/description/index.html
@@ -8,10 +8,11 @@
/*
:Author: David Goodger (goodger@python.org)
-: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.
@@ -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 }
@@ -300,7 +301,7 @@
span.pre {
white-space: pre }
-span.problematic {
+span.problematic, pre.problematic {
color: red }
span.section-subtitle {
@@ -368,7 +369,7 @@ Account Invoice Start End Dates
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:fd8f3cbe2bc320dc37d284f33eefb6bb6366c3bd033d31d96e9710a863257ca2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module adds the fields Start Date and End Date on invoice/move
lines.
It also adds an option Must Have Start/End Dates on the product form
@@ -407,7 +408,7 @@
Bugs are tracked on GitHub 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.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -423,8 +424,10 @@
@@ -432,18 +435,21 @@
The migration of this module from 16.0 to 17.0 was financially supported
-by Camptocamp.
+by Camptocamp. The migration of this module from 17.0 to 18.0 was
+financially supported by Camptocamp.
This module is maintained by the OCA.
-
+
+
+
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.
Current maintainer:
-
This module is part of the OCA/account-closing project on GitHub.
+
This module is part of the OCA/account-closing project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/account_invoice_start_end_dates/views/account_move.xml b/account_invoice_start_end_dates/views/account_move.xml
index d571698fecc..0b06fb453fd 100644
--- a/account_invoice_start_end_dates/views/account_move.xml
+++ b/account_invoice_start_end_dates/views/account_move.xml
@@ -11,7 +11,6 @@
-
@@ -23,7 +22,6 @@
-
@@ -35,10 +33,9 @@
-
@@ -46,12 +43,11 @@
expr="//field[@name='invoice_line_ids']/form//field[@name='quantity']"
position="before"
>
-
-
-
+
+