Skip to content

Commit

Permalink
[IMP] base_sequence_option: pre-commit auto fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
peluko00 committed Aug 6, 2024
1 parent 9ac4568 commit 5617226
Show file tree
Hide file tree
Showing 12 changed files with 105 additions and 77 deletions.
63 changes: 37 additions & 26 deletions base_sequence_option/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,35 @@ Base Sequence Option
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/16.0/base_sequence_option
:target: https://github.com/OCA/server-tools/tree/17.0/base_sequence_option
:alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-base_sequence_option
:target: https://translation.odoo-community.org/projects/server-tools-17-0/server-tools-17-0-base_sequence_option
: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/server-tools&target_branch=16.0
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=17.0
:alt: Try me on Runboat

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

This module allow user to add optional sequences to some document model.
On which sequence is used, is based on domain matching with document values
(and original sequence will be bypassed).
On which sequence is used, is based on domain matching with document
values (and original sequence will be bypassed).

For example, it is now possible to,

* Avoid using Odoo automatic sequence on invoice and vendor bill with old style sequence.
* Customer payment and vendor payment to run on different sequence.
* Assign different sales order sequence based on customer region.
- Avoid using Odoo automatic sequence on invoice and vendor bill with
old style sequence.
- Customer payment and vendor payment to run on different sequence.
- Assign different sales order sequence based on customer region.

This is a base module and does nothing by itself. Following are modules
that will allow managing sequence options for each type of documents, I.e.,
that will allow managing sequence options for each type of documents,
I.e.,

* Purchase Order: purchase_sequence_option
* Invoice / Bill / Refund / Payment: account_sequence_option
* Others: create a new module with few lines of code
- Purchase Order: purchase_sequence_option
- Invoice / Bill / Refund / Payment: account_sequence_option
- Others: create a new module with few lines of code

.. IMPORTANT::
This is an alpha version, the data model and design can change at any time without warning.
Expand All @@ -60,44 +62,53 @@ Usage

To use this module, you need to:

1. Go to *Settings > Technical > Sequences & Identifier > Manage Sequence Options*.
2. Based on extended module installed, different document types will be listed, i.e., Purchase Order.
3. Activite "Use sequence options" to use, if not, fall back to normal sequence.
1. Go to *Settings > Technical > Sequences & Identifier > Manage
Sequence Options*.

2. Based on extended module installed, different document types will be
listed, i.e., Purchase Order.

3. Activite "Use sequence options" to use, if not, fall back to normal
sequence.

4. For each option, provide,
* Name: i.e., Customer Invoice for Cust A., Customer Payment, etc.
* Apply On: a filter domain to test whether a document match this option.
* Sequence: select underlining sequence to perform

- Name: i.e., Customer Invoice for Cust A., Customer Payment, etc.
- Apply On: a filter domain to test whether a document match this
option.
- Sequence: select underlining sequence to perform

**Note:**

* If no options matches the document, fall back to normal sequence.
* If there are multiple sequence options that match same document, error will be raised.
- If no options matches the document, fall back to normal sequence.
- If there are multiple sequence options that match same document,
error will be raised.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/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/server-tools/issues/new?body=module:%20base_sequence_option%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20base_sequence_option%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
~~~~~~~
-------

* Ecosoft

Contributors
~~~~~~~~~~~~
------------

* Kitti U. <[email protected]>
- Kitti U. <[email protected]>

Maintainers
~~~~~~~~~~~
-----------

This module is maintained by the OCA.

Expand All @@ -117,6 +128,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-kittiu|

This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/16.0/base_sequence_option>`_ project on GitHub.
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/17.0/base_sequence_option>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 1 addition & 1 deletion base_sequence_option/models/ir_sequence_option.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ def get_sequence(self, record, options=False):
company = (
hasattr(record, "company_id") and record.company_id or self.env.company
)
options = options.filtered(lambda l: l.company_id == company)
options = options.filtered(lambda x: x.company_id == company)
sequence = self.env["ir.sequence"]
for option in options:
domain = safe_eval.safe_eval(option.filter_domain)
Expand Down
3 changes: 3 additions & 0 deletions base_sequence_option/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
1 change: 1 addition & 0 deletions base_sequence_option/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Kitti U. \<<[email protected]>\>
1 change: 0 additions & 1 deletion base_sequence_option/readme/CONTRIBUTORS.rst

This file was deleted.

18 changes: 18 additions & 0 deletions base_sequence_option/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
This module allow user to add optional sequences to some document model.
On which sequence is used, is based on domain matching with document
values (and original sequence will be bypassed).

For example, it is now possible to,

- Avoid using Odoo automatic sequence on invoice and vendor bill with
old style sequence.
- Customer payment and vendor payment to run on different sequence.
- Assign different sales order sequence based on customer region.

This is a base module and does nothing by itself. Following are modules
that will allow managing sequence options for each type of documents,
I.e.,

- Purchase Order: purchase_sequence_option
- Invoice / Bill / Refund / Payment: account_sequence_option
- Others: create a new module with few lines of code
16 changes: 0 additions & 16 deletions base_sequence_option/readme/DESCRIPTION.rst

This file was deleted.

22 changes: 22 additions & 0 deletions base_sequence_option/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
To use this module, you need to:

1. Go to *Settings \> Technical \> Sequences & Identifier \> Manage
Sequence Options*.

2. Based on extended module installed, different document types will be
listed, i.e., Purchase Order.

3. Activite "Use sequence options" to use, if not, fall back to normal
sequence.

4. For each option, provide,
- Name: i.e., Customer Invoice for Cust A., Customer Payment, etc.
- Apply On: a filter domain to test whether a document match this
option.
- Sequence: select underlining sequence to perform

**Note:**

- If no options matches the document, fall back to normal sequence.
- If there are multiple sequence options that match same document, error
will be raised.
14 changes: 0 additions & 14 deletions base_sequence_option/readme/USAGE.rst

This file was deleted.

37 changes: 20 additions & 17 deletions base_sequence_option/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -368,18 +368,20 @@ <h1 class="title">Base Sequence Option</h1>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e409091f81bde204304e68835c3f5ed9f5ae0eae0c7be7e797c1930ff5e63196
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-tools/tree/16.0/base_sequence_option"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-base_sequence_option"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-tools&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-tools/tree/17.0/base_sequence_option"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/server-tools-17-0/server-tools-17-0-base_sequence_option"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-tools&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allow user to add optional sequences to some document model.
On which sequence is used, is based on domain matching with document values
(and original sequence will be bypassed).</p>
On which sequence is used, is based on domain matching with document
values (and original sequence will be bypassed).</p>
<p>For example, it is now possible to,</p>
<ul class="simple">
<li>Avoid using Odoo automatic sequence on invoice and vendor bill with old style sequence.</li>
<li>Avoid using Odoo automatic sequence on invoice and vendor bill with
old style sequence.</li>
<li>Customer payment and vendor payment to run on different sequence.</li>
<li>Assign different sales order sequence based on customer region.</li>
</ul>
<p>This is a base module and does nothing by itself. Following are modules
that will allow managing sequence options for each type of documents, I.e.,</p>
that will allow managing sequence options for each type of documents,
I.e.,</p>
<ul class="simple">
<li>Purchase Order: purchase_sequence_option</li>
<li>Invoice / Bill / Refund / Payment: account_sequence_option</li>
Expand Down Expand Up @@ -408,32 +410,33 @@ <h1 class="title">Base Sequence Option</h1>
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<p>To use this module, you need to:</p>
<ol class="arabic simple">
<li>Go to <em>Settings &gt; Technical &gt; Sequences &amp; Identifier &gt; Manage Sequence Options</em>.</li>
<li>Based on extended module installed, different document types will be listed, i.e., Purchase Order.</li>
<li>Activite “Use sequence options” to use, if not, fall back to normal sequence.</li>
<li><dl class="first docutils">
<dt>For each option, provide,</dt>
<dd><ul class="first last">
<li>Go to <em>Settings &gt; Technical &gt; Sequences &amp; Identifier &gt; Manage
Sequence Options</em>.</li>
<li>Based on extended module installed, different document types will be
listed, i.e., Purchase Order.</li>
<li>Activite “Use sequence options” to use, if not, fall back to normal
sequence.</li>
<li>For each option, provide,<ul>
<li>Name: i.e., Customer Invoice for Cust A., Customer Payment, etc.</li>
<li>Apply On: a filter domain to test whether a document match this option.</li>
<li>Apply On: a filter domain to test whether a document match this
option.</li>
<li>Sequence: select underlining sequence to perform</li>
</ul>
</dd>
</dl>
</li>
</ol>
<p><strong>Note:</strong></p>
<ul class="simple">
<li>If no options matches the document, fall back to normal sequence.</li>
<li>If there are multiple sequence options that match same document, error will be raised.</li>
<li>If there are multiple sequence options that match same document,
error will be raised.</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20base_sequence_option%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20base_sequence_option%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
Expand All @@ -459,7 +462,7 @@ <h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/kittiu"><img alt="kittiu" src="https://github.com/kittiu.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/16.0/base_sequence_option">OCA/server-tools</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/17.0/base_sequence_option">OCA/server-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions base_sequence_option/tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
class CommonBaseSequenceOption(common.TransactionCase):
@classmethod
def setUpClass(cls):
super(CommonBaseSequenceOption, cls).setUpClass()
super().setUpClass()

cls.loader = FakeModelLoader(cls.env, cls.__module__)
cls.loader.backup_registry()
Expand Down Expand Up @@ -90,4 +90,4 @@ def setUpClass(cls):
@classmethod
def tearDownClass(cls):
cls.loader.restore_registry()
return super(CommonBaseSequenceOption, cls).tearDownClass()
return super().tearDownClass()
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
astor
dataclasses
mako
odoo_test_helper
odoorpc
openupgradelib
sentry_sdk<=1.9.0

0 comments on commit 5617226

Please sign in to comment.