From 60b26ca0dcea82c76e492becf3648b03904b1d15 Mon Sep 17 00:00:00 2001 From: hveficent Date: Fri, 23 Feb 2018 09:42:34 +0100 Subject: [PATCH] [MIG] customer_outstanding_statement: Migration to 11.0 --- customer_outstanding_statement/README.rst | 19 +++++++++++++------ customer_outstanding_statement/__init__.py | 4 +--- .../__manifest__.py | 7 +++---- .../report/__init__.py | 3 --- .../report/customer_outstanding_statement.py | 12 ++++++------ .../static/description/index.html | 5 +++-- .../tests/__init__.py | 3 --- .../test_customer_outstanding_statement.py | 16 ++++++++-------- .../views/statement.xml | 14 ++++++++------ .../wizard/__init__.py | 3 --- .../customer_outstanding_statement_wizard.py | 9 +++++---- .../customer_outstanding_statement_wizard.xml | 2 ++ 12 files changed, 49 insertions(+), 48 deletions(-) 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 @@ +