diff --git a/customer_outstanding_statement/README.rst b/customer_outstanding_statement/README.rst
index 4455e4bf..ba373f5f 100644
--- a/customer_outstanding_statement/README.rst
+++ b/customer_outstanding_statement/README.rst
@@ -1,5 +1,5 @@
-.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
- :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
====================================
@@ -19,21 +19,28 @@ Configuration
Users willing to access to this report should have proper Accounting & Finance rights:
#. Go to *Settings / Users* and edit your user to add the corresponding access rights as follows.
-#. In *Application / Accounting & Finance*, select *Accountant* or *Adviser* options.
+#. In *Application / Accounting & Finance*, select *Billing* or *Billing Manager*
+#. In *Technical Setting* mark *Show Full Accounting Features* options.
Usage
=====
To use this module, you need to:
-#. Go to Customers and select one or more
+#. Go to Invoicing > Sales > Master Data > Customers and select one or more
#. Press 'Action > Customer Outstanding Statement'
#. Indicate if you want to display aging buckets
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/91/10.0
+ :target: https://runbot.odoo-community.org/runbot/91/11.0
+
+Roadmap
+=======
+
+Have an action that prints specific report for all partners that have due amounts,
+at a specific date.
Bug Tracker
===========
@@ -49,7 +56,7 @@ Credits
Images
------
-* Odoo Community Association: `Icon `_.
+* Odoo Community Association: `Icon `_.
Contributors
------------
diff --git a/customer_outstanding_statement/__init__.py b/customer_outstanding_statement/__init__.py
index 7e6f294d..88ee80ef 100644
--- a/customer_outstanding_statement/__init__.py
+++ b/customer_outstanding_statement/__init__.py
@@ -1,7 +1,5 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
-# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import report
from . import wizard
+from . import tests
diff --git a/customer_outstanding_statement/__manifest__.py b/customer_outstanding_statement/__manifest__.py
index f20458f2..759d4b80 100644
--- a/customer_outstanding_statement/__manifest__.py
+++ b/customer_outstanding_statement/__manifest__.py
@@ -1,18 +1,17 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
+# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
'name': 'Customer Outstanding Statement',
- 'version': '10.0.1.0.0',
+ 'version': '11.0.1.0.0',
'category': 'Accounting & Finance',
'summary': 'OCA Financial Reports',
'author': "Eficent, Odoo Community Association (OCA)",
'website': 'https://github.com/OCA/account-financial-reporting',
'license': 'AGPL-3',
'depends': [
- 'account',
+ 'account_invoicing',
],
'data': [
'views/statement.xml',
diff --git a/customer_outstanding_statement/report/__init__.py b/customer_outstanding_statement/report/__init__.py
index eca82e78..82153818 100644
--- a/customer_outstanding_statement/report/__init__.py
+++ b/customer_outstanding_statement/report/__init__.py
@@ -1,6 +1,3 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
-# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import customer_outstanding_statement
diff --git a/customer_outstanding_statement/report/customer_outstanding_statement.py b/customer_outstanding_statement/report/customer_outstanding_statement.py
index 107a3d08..e37c77f9 100644
--- a/customer_outstanding_statement/report/customer_outstanding_statement.py
+++ b/customer_outstanding_statement/report/customer_outstanding_statement.py
@@ -1,5 +1,4 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
+# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
@@ -91,6 +90,7 @@ class CustomerOutstandingStatement(models.AbstractModel):
partners = ', '.join([str(i) for i in partner_ids])
date_end = datetime.strptime(
date_end, DEFAULT_SERVER_DATE_FORMAT).date()
+ # pylint: disable=E8103
self.env.cr.execute("""WITH Q1 AS (%s), Q2 AS (%s), Q3 AS (%s)
SELECT partner_id, currency_id, move_id, date, date_maturity, debit,
credit, amount, open_amount, name, ref, blocked
@@ -142,6 +142,7 @@ class CustomerOutstandingStatement(models.AbstractModel):
def _show_buckets_sql_q2(self, today, minus_30, minus_60, minus_90,
minus_120):
+ # pylint: disable=E8103
return """
SELECT partner_id, currency_id, date_maturity, open_due,
open_due_currency, move_id, company_id,
@@ -234,6 +235,7 @@ class CustomerOutstandingStatement(models.AbstractModel):
partners = ', '.join([str(i) for i in partner_ids])
date_end = datetime.strptime(
date_end, DEFAULT_SERVER_DATE_FORMAT).date()
+ # pylint: disable=E8103
self.env.cr.execute("""WITH Q1 AS (%s), Q2 AS (%s),
Q3 AS (%s), Q4 AS (%s)
SELECT partner_id, currency_id, current, b_1_30, b_30_60, b_60_90,
@@ -257,7 +259,7 @@ class CustomerOutstandingStatement(models.AbstractModel):
return res
@api.multi
- def render_html(self, docids, data):
+ def get_report_values(self, docids, data):
company_id = data['company_id']
partner_ids = data['partner_ids']
date_end = data['date_end']
@@ -305,7 +307,7 @@ class CustomerOutstandingStatement(models.AbstractModel):
buckets_to_display[partner_id][currency] = []
buckets_to_display[partner_id][currency] = line
- docargs = {
+ return {
'doc_ids': partner_ids,
'doc_model': 'res.partner',
'docs': self.env['res.partner'].browse(partner_ids),
@@ -318,5 +320,3 @@ class CustomerOutstandingStatement(models.AbstractModel):
'Date_end': date_end_display,
'Date': today_display,
}
- return self.env['report'].render(
- 'customer_outstanding_statement.statement', values=docargs)
diff --git a/customer_outstanding_statement/static/description/index.html b/customer_outstanding_statement/static/description/index.html
index 9c3d2c94..83e221e8 100644
--- a/customer_outstanding_statement/static/description/index.html
+++ b/customer_outstanding_statement/static/description/index.html
@@ -27,7 +27,8 @@ due, ...), so the customer can review how much is open, due or overdue.
To configure this module, you need to:
- Go to
Settings / Users
and edit your user to add the corresponding access rights as follows.
- - In
Application / Accounting & Finance
, select Accountant
or Adviser
options.
+ - In
Application / Accounting & Finance
, select Billing
or Billing Manager
options.
+ - In
Technical Setting
mark Show Full Accounting Features
options.
@@ -42,7 +43,7 @@ due, ...), so the customer can review how much is open, due or overdue.
To use this module, you need to:
- - Go to
Customers
and select one or more
+ - Go to
Invoicing > Sales > Master Data > Customers
and select one or more
- Press '
Action > Customer Outstanding Statement
'
- Indicate if you want to display aging buckets
diff --git a/customer_outstanding_statement/tests/__init__.py b/customer_outstanding_statement/tests/__init__.py
index 8e6a88de..c90a2674 100644
--- a/customer_outstanding_statement/tests/__init__.py
+++ b/customer_outstanding_statement/tests/__init__.py
@@ -1,6 +1,3 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
-# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import test_customer_outstanding_statement
diff --git a/customer_outstanding_statement/tests/test_customer_outstanding_statement.py b/customer_outstanding_statement/tests/test_customer_outstanding_statement.py
index dade9546..e1fd2786 100644
--- a/customer_outstanding_statement/tests/test_customer_outstanding_statement.py
+++ b/customer_outstanding_statement/tests/test_customer_outstanding_statement.py
@@ -1,5 +1,4 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
+# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
@@ -15,8 +14,8 @@ class TestCustomerOutstandingStatement(TransactionCase):
self.res_users_model = self.env['res.users']
self.company = self.env.ref('base.main_company')
- self.partner1 = self.env.ref('base.res_partner_1')
- self.partner2 = self.env.ref('base.res_partner_2')
+ self.partner1 = self.env.ref('base.res_partner_2')
+ self.partner2 = self.env.ref('base.res_partner_3')
self.g_account_user = self.env.ref('account.group_account_user')
self.user = self._create_user('user_1', [self.g_account_user],
@@ -51,7 +50,7 @@ class TestCustomerOutstandingStatement(TransactionCase):
self.assertDictContainsSubset(
{
- 'type': 'ir.actions.report.xml',
+ 'type': 'ir.actions.report',
'report_name': self.report_name,
'report_type': 'qweb-pdf',
},
@@ -61,8 +60,9 @@ class TestCustomerOutstandingStatement(TransactionCase):
data = wiz_id._prepare_outstanding_statement()
docids = data['partner_ids']
- report = self.statement_model.render_html(docids, data)
- self.assertIsInstance(report, str,
+ report = self.statement_model.get_report_values(docids, data)
+ self.assertIsInstance(report,
+ dict,
"There was an error while compiling the report.")
- self.assertIn("", report,
+ self.assertIn("Show_Buckets", report,
"There was an error while compiling the report.")
diff --git a/customer_outstanding_statement/views/statement.xml b/customer_outstanding_statement/views/statement.xml
index cb0d19e3..b83596d9 100644
--- a/customer_outstanding_statement/views/statement.xml
+++ b/customer_outstanding_statement/views/statement.xml
@@ -1,7 +1,9 @@
+
-
+
@@ -99,16 +101,16 @@
- |
+ |
|
- |
+ |
Ending Balance
|
- |
- |
+ |
+ |
|
@@ -184,7 +186,7 @@
-
+
diff --git a/customer_outstanding_statement/wizard/__init__.py b/customer_outstanding_statement/wizard/__init__.py
index 1044a1d8..23f71889 100644
--- a/customer_outstanding_statement/wizard/__init__.py
+++ b/customer_outstanding_statement/wizard/__init__.py
@@ -1,6 +1,3 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
-# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import customer_outstanding_statement_wizard
diff --git a/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.py b/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.py
index 5fd8f468..6c6ac200 100644
--- a/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.py
+++ b/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.py
@@ -1,5 +1,4 @@
-# -*- coding: utf-8 -*-
-# Copyright 2017 Eficent Business and IT Consulting Services S.L.
+# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
@@ -47,5 +46,7 @@ class CustomerOutstandingStatementWizard(models.TransientModel):
def _export(self):
"""Export to PDF."""
data = self._prepare_outstanding_statement()
- return self.env['report'].with_context(landscape=True).get_action(
- self, 'customer_outstanding_statement.statement', data=data)
+ return self.env.ref(
+ 'customer_outstanding_statement'
+ '.action_print_customer_outstanding_statement').report_action(
+ self, data=data)
diff --git a/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.xml b/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.xml
index aac6bc8f..5ba0df89 100644
--- a/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.xml
+++ b/customer_outstanding_statement/wizard/customer_outstanding_statement_wizard.xml
@@ -1,4 +1,6 @@
+