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

[16.0][MIG] account_invoice_validation_queued #1694

Open
wants to merge 24 commits into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
672a384
[ADD] account_invoice_validation_queued: Enqueue account invoice vali…
pedrobaeza Aug 29, 2019
4554a49
[IMP] *_queued: Remove `cancel` method + use same user
pedrobaeza Sep 9, 2019
8cd1506
[MIG] account_invoice_validation_queued: Migration to 12.0
pedrobaeza Nov 14, 2019
34eb99b
[IMP] : black, isort, prettier
pedrobaeza Apr 21, 2020
1c21452
[MIG] account_invoice_validation_queued: Migration to 13.0
Apr 21, 2020
dcca049
[UPD] Update account_invoice_validation_queued.pot
oca-travis May 4, 2020
ef78864
Update translation files
oca-transbot May 13, 2020
a66ed9b
Update translation files
oca-transbot Aug 16, 2020
2e2fe81
[IMP] account_invoice_validation_queued: Avoid m2m table collapse
pedrobaeza Sep 7, 2020
51ec51d
[FIX] account_invoice_validation_queued: Proper SQL column
pedrobaeza Sep 9, 2020
f4ded2c
Translated using Weblate (Spanish)
anasuarez1 Mar 10, 2021
f876a30
[14.0][MIG] account_invoice_validation_queued
iwkse Jan 25, 2022
ba4742b
[UPD] Update account_invoice_validation_queued.pot
oca-travis Jan 25, 2022
7fd38b9
[UPD] README.rst
OCA-git-bot Jan 25, 2022
db71bae
Added translation using Weblate (Catalan)
extrememicro Feb 3, 2022
093e87b
[IMP] account_invoice_validation_queued: black, isort, prettier
BT-jcolmeiro Aug 5, 2022
96c2071
[15.0][MIG] account_invoice_validation_queued: Migration to 15.0
BT-jcolmeiro Aug 5, 2022
fbf077a
[UPD] Update account_invoice_validation_queued.pot
Feb 7, 2023
fcb13e7
[UPD] README.rst
OCA-git-bot Feb 7, 2023
b406e58
Update translation files
weblate Feb 7, 2023
cf33ec0
[UPD] README.rst
OCA-git-bot Sep 3, 2023
b4e8e98
Translated using Weblate (Spanish)
Ivorra78 Oct 3, 2023
6719444
[IMP] account_invoice_validation_queued: pre-commit stuff
Saran440 Mar 28, 2024
e61d7ed
[MIG] account_invoice_validation_queued: Migration to 16.0
Saran440 Mar 28, 2024
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
118 changes: 118 additions & 0 deletions account_invoice_validation_queued/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
==================================
Enqueue account invoice validation
==================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:52e5a113d773cd9be743169e32d06e4a7e45ac6ff87b6262b2fb96ee70aa18d9
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |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%2Faccount--invoicing-lightgray.png?logo=github
:target: https://github.com/OCA/account-invoicing/tree/16.0/account_invoice_validation_queued
:alt: OCA/account-invoicing
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-account_invoice_validation_queued
: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-invoicing&target_branch=16.0
:alt: Try me on Runboat

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

This module allows to enqueue in several jobs the account validation process
to be executed in paralell on background, which is normally done serially and
on foreground.

Each invoice creates a job for performing the validation.

**Table of contents**

.. contents::
:local:

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

#. Jobs are enqueued in the channel ``root.account_invoice_validation_queued``,
so you must adjust your
`Odoo configuration <https://github.com/OCA/queue/tree/16.0/queue_job#configuration>`_
according this.
#. If you want to see queued jobs, you need "Job Queue / Job Queue Manager"
permission in your user.
#. Configure your invoice/refund sequences as "Standard" instead of "No gap",
or you'll have concurrent updates problems.

Usage
=====

#. Go to *Invoicing > Customers > Invoices* or
*Invoicing > Vendors > Bills*.
#. Mark at least one check on the left part of one draft invoice in the
list view.
#. Click on *Action > Post entries*.
#. On the dialog popup that appears, click on "Enqueue Validation".
#. Once enqueued, and having the "Job Queue Manager" permission, you can go to
the invoice, and see the tab "Validation Jobs". A list with all the jobs
related to that invoice can be found there.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-invoicing/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/account-invoicing/issues/new?body=module:%20account_invoice_validation_queued%0Aversion:%2016.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
~~~~~~~

* Tecnativa

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

* `Tecnativa <https://www.tecnativa.com>`__:

* Pedro M. Baeza
* Manuel Calero

* Saran Lim. <saranl@ecosoft.co.th>

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.

.. |maintainer-pedrobaeza| image:: https://github.com/pedrobaeza.png?size=40px
:target: https://github.com/pedrobaeza
:alt: pedrobaeza

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-pedrobaeza|

This module is part of the `OCA/account-invoicing <https://github.com/OCA/account-invoicing/tree/16.0/account_invoice_validation_queued>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions account_invoice_validation_queued/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
from . import wizards
22 changes: 22 additions & 0 deletions account_invoice_validation_queued/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2019-2020 Tecnativa - Pedro M. Baeza
# Copyright 2020 Tecnativa - Manuel Calero
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Enqueue account invoice validation",
"version": "16.0.1.0.0",
"category": "Accounting",
"license": "AGPL-3",
"author": "Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-invoicing",
"depends": ["account", "queue_job"],
"data": [
"data/queue_job.xml",
"views/queue_job_views.xml",
"views/account_invoice_views.xml",
"wizards/validate_account_move_view.xml",
],
"installable": True,
"development_status": "Production/Stable",
"maintainers": ["pedrobaeza"],
}
15 changes: 15 additions & 0 deletions account_invoice_validation_queued/data/queue_job.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- Queue Job Channel -->
<record id="invoice_open_job" model="queue.job.channel">
<field name="name">Invoice Open Job</field>
<field name="parent_id" ref="queue_job.channel_root" />
</record>

<!-- Queue Job Function -->
<record id="job_function_generate_invoice_open_job" model="queue.job.function">
<field name="model_id" ref="account.model_account_move" />
<field name="method">action_invoice_open_job</field>
<field name="channel_id" ref="invoice_open_job" />
</record>
</odoo>
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_validation_queued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_queue_job_account_invoice_validation
msgid "Cancel"
msgstr ""

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.validate_account_move_view
msgid "Enqueue Validation"
msgstr ""

#. module: account_invoice_validation_queued
#: model:ir.model,name:account_invoice_validation_queued.model_account_move
msgid "Journal Entry"
msgstr ""

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_queue_job_account_invoice_validation
msgid "Requeue"
msgstr ""

#. module: account_invoice_validation_queued
#: model:ir.model,name:account_invoice_validation_queued.model_validate_account_move
msgid "Validate Account Move"
msgstr ""

#. module: account_invoice_validation_queued
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_bank_statement_line__validation_job_ids
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_move__validation_job_ids
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_payment__validation_job_ids
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_move_form
msgid "Validation Jobs"
msgstr ""

#. module: account_invoice_validation_queued
#: code:addons/account_invoice_validation_queued/wizards/validate_account_move.py:0
#, python-format
msgid "You can't enqueue invoices with different dates."
msgstr ""
54 changes: 54 additions & 0 deletions account_invoice_validation_queued/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_validation_queued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_queue_job_account_invoice_validation
msgid "Cancel"
msgstr ""

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.validate_account_move_view
msgid "Enqueue Validation"
msgstr ""

#. module: account_invoice_validation_queued
#: model:ir.model,name:account_invoice_validation_queued.model_account_move
msgid "Journal Entry"
msgstr ""

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_queue_job_account_invoice_validation
msgid "Requeue"
msgstr ""

#. module: account_invoice_validation_queued
#: model:ir.model,name:account_invoice_validation_queued.model_validate_account_move
msgid "Validate Account Move"
msgstr ""

#. module: account_invoice_validation_queued
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_bank_statement_line__validation_job_ids
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_move__validation_job_ids
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_payment__validation_job_ids
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_move_form
msgid "Validation Jobs"
msgstr ""

#. module: account_invoice_validation_queued
#: code:addons/account_invoice_validation_queued/wizards/validate_account_move.py:0
#, python-format
msgid "You can't enqueue invoices with different dates."
msgstr ""
79 changes: 79 additions & 0 deletions account_invoice_validation_queued/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_validation_queued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-08-29 23:11+0000\n"
"PO-Revision-Date: 2023-10-09 07:44+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_queue_job_account_invoice_validation
msgid "Cancel"
msgstr "Cancelar"

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.validate_account_move_view
msgid "Enqueue Validation"
msgstr "Encolar validación"

#. module: account_invoice_validation_queued
#: model:ir.model,name:account_invoice_validation_queued.model_account_move
msgid "Journal Entry"
msgstr "Entrada diaria"

#. module: account_invoice_validation_queued
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_queue_job_account_invoice_validation
msgid "Requeue"
msgstr "Volver a poner en cola"

#. module: account_invoice_validation_queued
#: model:ir.model,name:account_invoice_validation_queued.model_validate_account_move
msgid "Validate Account Move"
msgstr "Validar movimientos contables"

#. module: account_invoice_validation_queued
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_bank_statement_line__validation_job_ids
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_move__validation_job_ids
#: model:ir.model.fields,field_description:account_invoice_validation_queued.field_account_payment__validation_job_ids
#: model_terms:ir.ui.view,arch_db:account_invoice_validation_queued.view_move_form
msgid "Validation Jobs"
msgstr "Trabajos de validación"

#. module: account_invoice_validation_queued
#: code:addons/account_invoice_validation_queued/wizards/validate_account_move.py:0
#, python-format
msgid "You can't enqueue invoices with different dates."
msgstr "No puede encolar facturas de diferentes fechas."

#~ msgid "Journal Entries"
#~ msgstr "Asientos contables"

#~ msgid "Confirm the selected invoices"
#~ msgstr "Confirmar las facturas seleccionadas"

#~ msgid "Invoice"
#~ msgstr "Factura"

#~ msgid ""
#~ "There's already an enqueued job for validating the invoice #%s. Please "
#~ "wait until it's finished or remove it from the selection."
#~ msgstr ""
#~ "Ya hay un trabajo encolado para validar la factura #%s. Por favor espere "
#~ "hasta que haya finalizado o elimine la factura de la selección."

#~ msgid "Queue Job"
#~ msgstr "Trabajo en cola"

#~ msgid "Quotation"
#~ msgstr "Presupuesto"
3 changes: 3 additions & 0 deletions account_invoice_validation_queued/models/__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 account_move
24 changes: 24 additions & 0 deletions account_invoice_validation_queued/models/account_move.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2019-2020 Tecnativa - Pedro M. Baeza
# Copyright 2020 Tecnativa - Manuel Calero
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from odoo import fields, models


class AccountMove(models.Model):
_inherit = "account.move"

validation_job_ids = fields.Many2many(
comodel_name="queue.job",
column1="invoice_id",
column2="job_id",
string="Validation Jobs",
relation="account_move_validation_job_rel",
copy=False,
)

def action_invoice_open_job(self):
self.ensure_one()
if self.state != "draft":
return

Check warning on line 23 in account_invoice_validation_queued/models/account_move.py

View check run for this annotation

Codecov / codecov/patch

account_invoice_validation_queued/models/account_move.py#L23

Added line #L23 was not covered by tests
return self._post()
8 changes: 8 additions & 0 deletions account_invoice_validation_queued/readme/CONFIGURE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#. Jobs are enqueued in the channel ``root.account_invoice_validation_queued``,
so you must adjust your
`Odoo configuration <https://github.com/OCA/queue/tree/16.0/queue_job#configuration>`_
according this.
#. If you want to see queued jobs, you need "Job Queue / Job Queue Manager"
permission in your user.
#. Configure your invoice/refund sequences as "Standard" instead of "No gap",
or you'll have concurrent updates problems.
6 changes: 6 additions & 0 deletions account_invoice_validation_queued/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* `Tecnativa <https://www.tecnativa.com>`__:

* Pedro M. Baeza
* Manuel Calero

* Saran Lim. <saranl@ecosoft.co.th>
Loading
Loading