[MIG] account_financial_report: Finalize migration to 12.0
* Move back to CSS and FIX NameError: variable @odoo-view-background-color is undefined in - on line 99, column 23: 98 .o_account_financial_reports_page { 99 background-color: @odoo-view-background-color; 100 color: @odoo-main-text-color; * Porting: parent_left does not exist anymore. Using parent_path + account code to sort report lines * FIX js error with date object not converted to string while clicking on initial balance amount See https://user-images.githubusercontent.com/1033131/58337566-5d525c80-7e46-11e9-913a-3c3e0115fb3e.gif * IMP style and metadata * FIX tests about new date format and partner_id computed field of account.move * FIX errors like 2019-06-03 16:11:51,406 17857 ERROR dev_12_account_financial_report odoo.sql_db: bad query: b"\nDELETE FROM 'report_vat_report_tax'\nWHERE COALESCE(\n write_date, create_date, (now() at time zone 'UTC'))::timestamp\n < ((now() at time zone 'UTC') - interval '3600.0 seconds')\n" ERROR: syntax error at or near "'report_vat_report_tax'" LINE 2: DELETE FROM 'report_vat_report_tax' ^ * IMP translation template and IMP Italian translation * Remove useless comments * Use AsIs to avoid SQL injection * Use fields.Date methods * Remove useless data from tests * Improve comments * Fix wizard.multi.charts.accounts * Move _get_partner_ids_domain to abstract wizard * Refactor default partners in wizard to use recordsets * Improve js stylepull/559/head
parent
91361ef042
commit
910d62e8e6
|
@ -14,13 +14,13 @@ Account Financial Reports
|
|||
: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--financial--reporting-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/account-financial-reporting/tree/11.0/account_financial_report
|
||||
:target: https://github.com/OCA/account-financial-reporting/tree/12.0/account_financial_report
|
||||
:alt: OCA/account-financial-reporting
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/account-financial-reporting-11-0/account-financial-reporting-11-0-account_financial_report
|
||||
:target: https://translation.odoo-community.org/projects/account-financial-reporting-12-0/account-financial-reporting-12-0-account_financial_report
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
|
||||
:target: https://runbot.odoo-community.org/runbot/91/11.0
|
||||
:target: https://runbot.odoo-community.org/runbot/91/12.0
|
||||
:alt: Try me on Runbot
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
@ -76,7 +76,7 @@ Bug Tracker
|
|||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-financial-reporting/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/account-financial-reporting/issues/new?body=module:%20account_financial_report%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
`feedback <https://github.com/OCA/account-financial-reporting/issues/new?body=module:%20account_financial_report%0Aversion:%2012.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.
|
||||
|
||||
|
@ -105,7 +105,7 @@ Contributors
|
|||
* Robert Rottermann <robert@redcor.ch>
|
||||
* Ciro Urselli <c.urselli@apuliasoftware.it>
|
||||
* Francesco Apruzzese <opencode@e-ware.org>
|
||||
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
|
||||
* Lorenzo Battistini <https://github.com/eLBati>
|
||||
* Julien Coux <julien.coux@camptocamp.com>
|
||||
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||
* Alexis de Lattre <alexis@via.ecp.fr>
|
||||
|
@ -128,6 +128,6 @@ 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.
|
||||
|
||||
This module is part of the `OCA/account-financial-reporting <https://github.com/OCA/account-financial-reporting/tree/11.0/account_financial_report>`_ project on GitHub.
|
||||
This module is part of the `OCA/account-financial-reporting <https://github.com/OCA/account-financial-reporting/tree/12.0/account_financial_report>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -50,53 +50,4 @@
|
|||
sequence="50"
|
||||
/>
|
||||
|
||||
<!-- Hide odoo PDF reports menu -->
|
||||
<menuitem
|
||||
id="account.menu_finance_legal_statement"
|
||||
name="PDF Reports"
|
||||
parent="account.menu_finance_reports"
|
||||
groups="base.group_erp_manager"
|
||||
/>
|
||||
|
||||
<!--
|
||||
<menuitem
|
||||
id="account.menu_general_ledger"
|
||||
name="General Ledger"
|
||||
parent="account.menu_finance_legal_statement"
|
||||
action="account.action_account_general_ledger_menu"
|
||||
groups="base.group_erp_manager"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="account.menu_general_Balance_report"
|
||||
name="Trial Balance"
|
||||
parent="account.menu_finance_legal_statement"
|
||||
action="account.action_account_balance_menu"
|
||||
groups="base.group_erp_manager"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="account.menu_account_report_bs"
|
||||
name="Balance Sheet"
|
||||
action="account.action_account_report_bs"
|
||||
parent="account.menu_finance_legal_statement"
|
||||
groups="base.group_erp_manager"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="account.menu_account_report_pl"
|
||||
name="Profit and Loss"
|
||||
action="account.action_account_report_pl"
|
||||
parent="account.menu_finance_legal_statement"
|
||||
groups="base.group_erp_manager"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="account.menu_aged_trial_balance"
|
||||
name="Aged Partner Balance"
|
||||
action="account.action_account_aged_balance_view"
|
||||
parent="account.menu_finance_legal_statement"
|
||||
groups="base.group_erp_manager"
|
||||
/>-->
|
||||
|
||||
</odoo>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
* Robert Rottermann <robert@redcor.ch>
|
||||
* Ciro Urselli <c.urselli@apuliasoftware.it>
|
||||
* Francesco Apruzzese <opencode@e-ware.org>
|
||||
* Lorenzo Battistini <lorenzo.battistini@agilebg.com>
|
||||
* Lorenzo Battistini <https://github.com/eLBati>
|
||||
* Julien Coux <julien.coux@camptocamp.com>
|
||||
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||
* Alexis de Lattre <alexis@via.ecp.fr>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import models
|
||||
from psycopg2.extensions import AsIs
|
||||
|
||||
|
||||
class AbstractReport(models.AbstractModel):
|
||||
|
@ -13,10 +14,10 @@ class AbstractReport(models.AbstractModel):
|
|||
"Model %s is not transient, it cannot be vacuumed!" % self._name
|
||||
# Never delete rows used in last 5 minutes
|
||||
seconds = max(seconds, 300)
|
||||
query = """
|
||||
DELETE FROM %s
|
||||
WHERE COALESCE(
|
||||
write_date, create_date, (now() at time zone 'UTC'))::timestamp
|
||||
< ((now() at time zone 'UTC') - interval %s)
|
||||
"""
|
||||
self.env.cr.execute(query, (self._table, "%s seconds" % seconds,))
|
||||
query = (
|
||||
"DELETE FROM %s"
|
||||
" WHERE COALESCE("
|
||||
"write_date, create_date, (now() at time zone 'UTC'))"
|
||||
"::timestamp < ((now() at time zone 'UTC') - interval %s)"
|
||||
)
|
||||
self.env.cr.execute(query, (AsIs(self._table), "%s seconds" % seconds))
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
# Author: Julien Coux
|
||||
# Copyright 2016 Camptocamp SA
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from odoo import models
|
||||
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT
|
||||
from odoo import models, fields
|
||||
import datetime
|
||||
|
||||
|
||||
|
@ -191,7 +190,7 @@ class AbstractReportXslx(models.AbstractModel):
|
|||
for col_pos, column in self.columns.items():
|
||||
value = getattr(line_object, column['field'])
|
||||
if isinstance(value, datetime.date):
|
||||
value = datetime.datetime.strftime(value, DEFAULT_SERVER_DATE_FORMAT)
|
||||
value = fields.Date.to_string(value)
|
||||
cell_type = column.get('type', 'string')
|
||||
if cell_type == 'many2one':
|
||||
self.sheet.write_string(
|
||||
|
|
|
@ -224,7 +224,8 @@ class GeneralLedgerReportCompute(models.TransientModel):
|
|||
'report_general_ledger_qweb'
|
||||
return self.env['ir.actions.report'].search(
|
||||
[('report_name', '=', report_name),
|
||||
('report_type', '=', report_type)], limit=1).report_action(self, config=False)
|
||||
('report_type', '=', report_type)],
|
||||
limit=1).report_action(self, config=False)
|
||||
|
||||
def _get_html(self):
|
||||
result = {}
|
||||
|
|
|
@ -594,7 +594,8 @@ class ReportJournalLedger(models.TransientModel):
|
|||
'report_journal_ledger_qweb'
|
||||
return self.env['ir.actions.report'].search(
|
||||
[('report_name', '=', report_name),
|
||||
('report_type', '=', report_type)], limit=1).report_action(self, config=False)
|
||||
('report_type', '=', report_type)],
|
||||
limit=1).report_action(self, config=False)
|
||||
|
||||
def _get_html(self):
|
||||
result = {}
|
||||
|
|
|
@ -160,7 +160,8 @@ class OpenItemsReportCompute(models.TransientModel):
|
|||
'report_open_items_qweb'
|
||||
return self.env['ir.actions.report'].search(
|
||||
[('report_name', '=', report_name),
|
||||
('report_type', '=', report_type)], limit=1).report_action(self, config=False)
|
||||
('report_type', '=', report_type)],
|
||||
limit=1).report_action(self, config=False)
|
||||
|
||||
def _get_html(self):
|
||||
result = {}
|
||||
|
@ -638,21 +639,6 @@ ORDER BY
|
|||
self._compute_account_cumul()
|
||||
|
||||
def _compute_partner_cumul(self):
|
||||
# pylint: disable=sql-injection
|
||||
where_condition_partner_by_account = """
|
||||
WHERE
|
||||
id IN
|
||||
(
|
||||
SELECT
|
||||
rp.id
|
||||
FROM
|
||||
report_open_items_account ra
|
||||
INNER JOIN
|
||||
report_open_items_partner rp
|
||||
ON ra.id = rp.report_account_id
|
||||
WHERE
|
||||
ra.report_id = %s
|
||||
)"""
|
||||
query_computer_partner_residual_cumul = """
|
||||
UPDATE
|
||||
report_open_items_partner
|
||||
|
@ -666,7 +652,20 @@ SET
|
|||
WHERE
|
||||
rml.report_partner_id = report_open_items_partner.id
|
||||
)
|
||||
""" + where_condition_partner_by_account
|
||||
WHERE
|
||||
id IN
|
||||
(
|
||||
SELECT
|
||||
rp.id
|
||||
FROM
|
||||
report_open_items_account ra
|
||||
INNER JOIN
|
||||
report_open_items_partner rp
|
||||
ON ra.id = rp.report_account_id
|
||||
WHERE
|
||||
ra.report_id = %s
|
||||
)
|
||||
"""
|
||||
params_compute_partners_residual_cumul = (self.id,)
|
||||
self.env.cr.execute(query_computer_partner_residual_cumul,
|
||||
params_compute_partners_residual_cumul)
|
||||
|
@ -684,13 +683,6 @@ SET
|
|||
WHERE
|
||||
rml.report_partner_id = report_open_items_partner.id
|
||||
)
|
||||
""" + where_condition_partner_by_account
|
||||
params_compute_partner_due_cumul = (self.id,)
|
||||
self.env.cr.execute(query_compute_partners_due_cumul,
|
||||
params_compute_partner_due_cumul)
|
||||
|
||||
# Manage currency in partner
|
||||
where_condition_partner_by_account_cur = """
|
||||
WHERE
|
||||
id IN
|
||||
(
|
||||
|
@ -702,9 +694,14 @@ WHERE
|
|||
report_open_items_partner rp
|
||||
ON ra.id = rp.report_account_id
|
||||
WHERE
|
||||
ra.report_id = %s AND ra.currency_id IS NOT NULL
|
||||
ra.report_id = %s
|
||||
)
|
||||
"""
|
||||
"""
|
||||
params_compute_partner_due_cumul = (self.id,)
|
||||
self.env.cr.execute(query_compute_partners_due_cumul,
|
||||
params_compute_partner_due_cumul)
|
||||
|
||||
# Manage currency in partner
|
||||
query_compute_partners_cur_id_cumul = """
|
||||
UPDATE
|
||||
report_open_items_partner
|
||||
|
@ -718,7 +715,20 @@ SET
|
|||
WHERE
|
||||
rml.report_partner_id = report_open_items_partner.id
|
||||
)
|
||||
""" + where_condition_partner_by_account_cur
|
||||
WHERE
|
||||
id IN
|
||||
(
|
||||
SELECT
|
||||
rp.id
|
||||
FROM
|
||||
report_open_items_account ra
|
||||
INNER JOIN
|
||||
report_open_items_partner rp
|
||||
ON ra.id = rp.report_account_id
|
||||
WHERE
|
||||
ra.report_id = %s AND ra.currency_id IS NOT NULL
|
||||
)
|
||||
"""
|
||||
params_compute_partners_cur_id_cumul = (self.id,)
|
||||
self.env.cr.execute(query_compute_partners_cur_id_cumul,
|
||||
params_compute_partners_cur_id_cumul)
|
||||
|
@ -737,7 +747,20 @@ SET
|
|||
WHERE
|
||||
rml.report_partner_id = report_open_items_partner.id
|
||||
)
|
||||
""" + where_condition_partner_by_account_cur
|
||||
WHERE
|
||||
id IN
|
||||
(
|
||||
SELECT
|
||||
rp.id
|
||||
FROM
|
||||
report_open_items_account ra
|
||||
INNER JOIN
|
||||
report_open_items_partner rp
|
||||
ON ra.id = rp.report_account_id
|
||||
WHERE
|
||||
ra.report_id = %s AND ra.currency_id IS NOT NULL
|
||||
)
|
||||
"""
|
||||
params_compute_partners_cur_residual_cumul = (self.id,)
|
||||
self.env.cr.execute(query_compute_partners_cur_residual_cumul,
|
||||
params_compute_partners_cur_residual_cumul)
|
||||
|
@ -756,7 +779,20 @@ SET
|
|||
WHERE
|
||||
rml.report_partner_id = report_open_items_partner.id
|
||||
)
|
||||
""" + where_condition_partner_by_account_cur
|
||||
WHERE
|
||||
id IN
|
||||
(
|
||||
SELECT
|
||||
rp.id
|
||||
FROM
|
||||
report_open_items_account ra
|
||||
INNER JOIN
|
||||
report_open_items_partner rp
|
||||
ON ra.id = rp.report_account_id
|
||||
WHERE
|
||||
ra.report_id = %s AND ra.currency_id IS NOT NULL
|
||||
)
|
||||
"""
|
||||
params_compute_partners_cur_due_cumul = (self.id,)
|
||||
self.env.cr.execute(query_compute_partners_cur_due_cumul,
|
||||
params_compute_partners_cur_due_cumul)
|
||||
|
|
|
@ -189,7 +189,7 @@
|
|||
<t t-if="type == 'account_type'">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account_or_partner_object.account_id.id),
|
||||
('date', '<', o.date_from),
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d')),
|
||||
('debit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -203,7 +203,7 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account_or_partner_object.report_account_id.account_id.id),
|
||||
('partner_id', '=', account_or_partner_object.partner_id.id),
|
||||
('date', '<', o.date_from),
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d')),
|
||||
('debit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -219,7 +219,7 @@
|
|||
<t t-if="type == 'account_type'">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account_or_partner_object.account_id.id),
|
||||
('date', '<', o.date_from),
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d')),
|
||||
('credit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -233,7 +233,7 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account_or_partner_object.report_account_id.account_id.id),
|
||||
('partner_id', '=', account_or_partner_object.partner_id.id),
|
||||
('date', '<', o.date_from),
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d')),
|
||||
('credit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -249,7 +249,7 @@
|
|||
<t t-if="type == 'account_type'">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account_or_partner_object.account_id.id),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -262,7 +262,7 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account_or_partner_object.report_account_id.account_id.id),
|
||||
('partner_id', '=', account_or_partner_object.partner_id.id),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
|
|
@ -246,7 +246,7 @@
|
|||
<t t-if="line.account_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.account_id.id),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -258,7 +258,7 @@
|
|||
<t t-if="line.account_group_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', 'in', line.compute_account_ids.ids),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -272,7 +272,7 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.report_account_id.account_id.id),
|
||||
('partner_id', '=', line.partner_id.id),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -288,8 +288,8 @@
|
|||
<t t-if="line.account_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.account_id.id),
|
||||
('date', '>=', line.report_id.date_from),
|
||||
('date', '<=', line.report_id.date_to),
|
||||
('date', '>=', line.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('debit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -302,8 +302,8 @@
|
|||
<t t-if="line.account_group_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', 'in', line.compute_account_ids.ids),
|
||||
('date', '>=', line.report_id.date_from),
|
||||
('date', '<=', line.report_id.date_to),
|
||||
('date', '>=', line.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('debit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -318,8 +318,8 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.report_account_id.account_id.id),
|
||||
('partner_id', '=', line.partner_id.id),
|
||||
('date', '>=', line.report_account_id.report_id.date_from),
|
||||
('date', '<=', line.report_account_id.report_id.date_to),
|
||||
('date', '>=', line.report_account_id.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_account_id.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('debit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -336,8 +336,8 @@
|
|||
<t t-if="line.account_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.account_id.id),
|
||||
('date', '>=', line.report_id.date_from),
|
||||
('date', '<=', line.report_id.date_to),
|
||||
('date', '>=', line.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('credit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -350,8 +350,8 @@
|
|||
<t t-if="line.account_group_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', 'in', line.compute_account_ids.ids),
|
||||
('date', '>=', line.report_id.date_from),
|
||||
('date', '<=', line.report_id.date_to),
|
||||
('date', '>=', line.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('credit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -366,8 +366,8 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.report_account_id.account_id.id),
|
||||
('partner_id', '=', line.partner_id.id),
|
||||
('date', '>=', line.report_account_id.report_id.date_from),
|
||||
('date', '<=', line.report_account_id.report_id.date_to),
|
||||
('date', '>=', line.report_account_id.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_account_id.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('credit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -384,8 +384,8 @@
|
|||
<t t-if="line.account_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.account_id.id),
|
||||
('date', '>=', line.report_id.date_from),
|
||||
('date', '<=', line.report_id.date_to)]"/>
|
||||
('date', '>=', line.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_id.date_to.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -397,8 +397,8 @@
|
|||
<t t-if="line.account_group_id">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', 'in', line.compute_account_ids.ids),
|
||||
('date', '>=', line.report_id.date_from),
|
||||
('date', '<=', line.report_id.date_to)]"/>
|
||||
('date', '>=', line.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_id.date_to.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -412,8 +412,8 @@
|
|||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', line.report_account_id.account_id.id),
|
||||
('partner_id', '=', line.partner_id.id),
|
||||
('date', '>=', line.report_account_id.report_id.date_from),
|
||||
('date', '<=', line.report_account_id.report_id.date_to)]"/>
|
||||
('date', '>=', line.report_account_id.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', line.report_account_id.report_id.date_to.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -576,7 +576,7 @@
|
|||
<div class="act_as_cell amount" style="width: 9.64%;">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account.account_id.id),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
@ -589,8 +589,8 @@
|
|||
<div class="act_as_cell amount" style="width: 9.64%;">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account.account_id.id),
|
||||
('date', '>=', account.report_id.date_from),
|
||||
('date', '<=', account.report_id.date_to),
|
||||
('date', '>=', account.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', account.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('debit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -604,8 +604,8 @@
|
|||
<div class="act_as_cell amount" style="width: 9.64%;">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account.account_id.id),
|
||||
('date', '>=', account.report_id.date_from),
|
||||
('date', '<=', account.report_id.date_to),
|
||||
('date', '>=', account.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', account.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('credit', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -619,8 +619,8 @@
|
|||
<div class="act_as_cell amount" style="width: 9.64%;">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account.account_id.id),
|
||||
('date', '>=', account.report_id.date_from),
|
||||
('date', '<=', account.report_id.date_to),
|
||||
('date', '>=', account.report_id.date_from.strftime('%Y-%m-%d')),
|
||||
('date', '<=', account.report_id.date_to.strftime('%Y-%m-%d')),
|
||||
('period_balance', '<>', 0)]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
|
@ -654,7 +654,7 @@
|
|||
<div class="act_as_cell amount" style="width: 8.86%;">
|
||||
<t t-set="domain"
|
||||
t-value="[('account_id', '=', account.account_id.id),
|
||||
('date', '<', o.date_from)]"/>
|
||||
('date', '<', o.date_from.strftime('%Y-%m-%d'))]"/>
|
||||
<span>
|
||||
<a t-att-data-domain="domain"
|
||||
t-att-data-res-model="'account.move.line'"
|
||||
|
|
|
@ -74,8 +74,10 @@ class TrialBalanceReportAccount(models.TransientModel):
|
|||
index=True
|
||||
)
|
||||
hide_line = fields.Boolean(compute='_compute_hide_line')
|
||||
# Data fields, used to keep link with real object
|
||||
sequence = fields.Integer(index=True, default=1)
|
||||
# Data fields, used to keep link with real object.
|
||||
# Sequence is a Char later built with 'parent_path' for groups
|
||||
# and parent_path + account code for accounts
|
||||
sequence = fields.Char(index=True, default='1')
|
||||
level = fields.Integer(index=True, default=1)
|
||||
|
||||
# Data fields, used to keep link with real object
|
||||
|
@ -209,7 +211,8 @@ class TrialBalanceReportCompute(models.TransientModel):
|
|||
'report_trial_balance_qweb'
|
||||
return self.env['ir.actions.report'].search(
|
||||
[('report_name', '=', report_name),
|
||||
('report_type', '=', report_type)], limit=1).report_action(self, config=False)
|
||||
('report_type', '=', report_type)],
|
||||
limit=1).report_action(self, config=False)
|
||||
|
||||
def _get_html(self):
|
||||
result = {}
|
||||
|
@ -410,7 +413,7 @@ SELECT
|
|||
accgroup.parent_id,
|
||||
coalesce(accgroup.code_prefix, accgroup.name),
|
||||
accgroup.name,
|
||||
accgroup.id * 100000,
|
||||
accgroup.parent_path,
|
||||
accgroup.level
|
||||
FROM
|
||||
account_group accgroup"""
|
||||
|
@ -557,7 +560,7 @@ WHERE report_trial_balance_account.account_group_id = accgroup.id
|
|||
"""Compute sequence, level for report_trial_balance_account account."""
|
||||
query_update_account_group = """
|
||||
UPDATE report_trial_balance_account
|
||||
SET sequence = newline.sequence + 1,
|
||||
SET sequence = CONCAT(newline.sequence, newline.code),
|
||||
level = newline.level + 1
|
||||
FROM report_trial_balance_account as newline
|
||||
WHERE newline.account_group_id = report_trial_balance_account.parent_id
|
||||
|
|
|
@ -367,7 +367,7 @@ ul.auto-toc {
|
|||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/account-financial-reporting/tree/11.0/account_financial_report"><img alt="OCA/account-financial-reporting" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--reporting-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/account-financial-reporting-11-0/account-financial-reporting-11-0-account_financial_report"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/91/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/account-financial-reporting/tree/12.0/account_financial_report"><img alt="OCA/account-financial-reporting" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--reporting-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/account-financial-reporting-12-0/account-financial-reporting-12-0-account_financial_report"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/91/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
|
||||
<p>This module adds a set of financial reports. They are accessible under
|
||||
Accounting / Reporting / OCA Reports.</p>
|
||||
<ul class="simple">
|
||||
|
@ -431,7 +431,7 @@ currency balances are not available.</p>
|
|||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-financial-reporting/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 smashing it by providing a detailed and welcomed
|
||||
<a class="reference external" href="https://github.com/OCA/account-financial-reporting/issues/new?body=module:%20account_financial_report%0Aversion:%2011.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/account-financial-reporting/issues/new?body=module:%20account_financial_report%0Aversion:%2012.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">
|
||||
|
@ -459,7 +459,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||
<li>Robert Rottermann <<a class="reference external" href="mailto:robert@redcor.ch">robert@redcor.ch</a>></li>
|
||||
<li>Ciro Urselli <<a class="reference external" href="mailto:c.urselli@apuliasoftware.it">c.urselli@apuliasoftware.it</a>></li>
|
||||
<li>Francesco Apruzzese <<a class="reference external" href="mailto:opencode@e-ware.org">opencode@e-ware.org</a>></li>
|
||||
<li>Lorenzo Battistini <<a class="reference external" href="mailto:lorenzo.battistini@agilebg.com">lorenzo.battistini@agilebg.com</a>></li>
|
||||
<li>Lorenzo Battistini <<a class="reference external" href="https://github.com/eLBati">https://github.com/eLBati</a>></li>
|
||||
<li>Julien Coux <<a class="reference external" href="mailto:julien.coux@camptocamp.com">julien.coux@camptocamp.com</a>></li>
|
||||
<li>Akim Juillerat <<a class="reference external" href="mailto:akim.juillerat@camptocamp.com">akim.juillerat@camptocamp.com</a>></li>
|
||||
<li>Alexis de Lattre <<a class="reference external" href="mailto:alexis@via.ecp.fr">alexis@via.ecp.fr</a>></li>
|
||||
|
@ -476,7 +476,7 @@ April 2016.</p>
|
|||
<p>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.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-financial-reporting/tree/11.0/account_financial_report">OCA/account-financial-reporting</a> project on GitHub.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-financial-reporting/tree/12.0/account_financial_report">OCA/account-financial-reporting</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>
|
||||
|
|
|
@ -95,8 +95,6 @@
|
|||
}
|
||||
|
||||
.o_account_financial_reports_page {
|
||||
background-color: @odoo-view-background-color;
|
||||
color: @odoo-main-text-color;
|
||||
padding-top: 10px;
|
||||
width: 90%;
|
||||
margin-right: auto;
|
|
@ -6,7 +6,7 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
var ControlPanelMixin = require('web.ControlPanelMixin');
|
||||
var ReportWidget = require(
|
||||
'account_financial_report.account_financial_report_widget'
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
var report_backend = Widget.extend(ControlPanelMixin, {
|
||||
|
@ -27,7 +27,7 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
action.params.active_id;
|
||||
this.given_context.model = action.context.active_model || false;
|
||||
this.given_context.ttype = action.context.ttype || false;
|
||||
return this._super.apply (this, arguments);
|
||||
return this._super.apply(this, arguments);
|
||||
},
|
||||
willStart: function () {
|
||||
return $.when(this.get_html());
|
||||
|
@ -43,12 +43,13 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
self.report_widget.$el.html(self.html);
|
||||
});
|
||||
},
|
||||
start: function() {
|
||||
start: function () {
|
||||
this.set_html();
|
||||
return this._super();
|
||||
},
|
||||
// Fetches the html and is previous report.context if any, else create it
|
||||
get_html: function() {
|
||||
// Fetches the html and is previous report.context if any,
|
||||
// else create it
|
||||
get_html: function () {
|
||||
var self = this;
|
||||
var defs = [];
|
||||
return this._rpc({
|
||||
|
@ -63,31 +64,6 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
return $.when.apply($, defs);
|
||||
});
|
||||
},
|
||||
// Updates the control panel and render the elements that have yet to be rendered
|
||||
update_cp: function() {
|
||||
if (this.$buttons) {
|
||||
var status = {
|
||||
breadcrumbs: this.actionManager.get_breadcrumbs(),
|
||||
cp_content: {$buttons: this.$buttons},
|
||||
};
|
||||
return this.update_control_panel(status);
|
||||
}
|
||||
},
|
||||
do_show: function() {
|
||||
this._super();
|
||||
this.update_cp();
|
||||
},
|
||||
print: function() {
|
||||
var self = this;
|
||||
this._rpc({
|
||||
model: this.given_context.model,
|
||||
method: 'print_report',
|
||||
args: [this.given_context.active_id, 'qweb-pdf'],
|
||||
context: self.odoo_context,
|
||||
}).then(function(result){
|
||||
self.do_action(result);
|
||||
});
|
||||
},
|
||||
// Updates the control panel and render the elements that have yet
|
||||
// to be rendered
|
||||
update_cp: function () {
|
||||
|
@ -110,7 +86,7 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
method: 'print_report',
|
||||
args: [this.given_context.active_id, 'qweb-pdf'],
|
||||
context: self.odoo_context,
|
||||
}).then(function(result){
|
||||
}).then(function (result) {
|
||||
self.do_action(result);
|
||||
});
|
||||
},
|
||||
|
@ -121,8 +97,7 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
method: 'print_report',
|
||||
args: [this.given_context.active_id, 'xlsx'],
|
||||
context: self.odoo_context,
|
||||
})
|
||||
.then(function(result){
|
||||
}).then(function (result) {
|
||||
self.do_action(result);
|
||||
});
|
||||
},
|
||||
|
@ -134,6 +109,6 @@ odoo.define('account_financial_report.account_financial_report_backend', functio
|
|||
core.action_registry.add(
|
||||
"account_financial_report_backend",
|
||||
report_backend
|
||||
);
|
||||
);
|
||||
return report_backend;
|
||||
});
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
import time
|
||||
|
||||
from odoo.tests import common
|
||||
from datetime import date, datetime
|
||||
from odoo import fields
|
||||
from datetime import date
|
||||
from . import abstract_test_foreign_currency as a_t_f_c
|
||||
|
||||
|
||||
|
@ -88,11 +89,11 @@ class TestGeneralLedgerReport(common.TransactionCase):
|
|||
|
||||
def setUp(self):
|
||||
super(TestGeneralLedgerReport, self).setUp()
|
||||
self.before_previous_fy_year = datetime.strptime('2014-05-05', '%Y-%m-%d')
|
||||
self.previous_fy_date_start = datetime.strptime('2015-01-01', '%Y-%m-%d')
|
||||
self.previous_fy_date_end = datetime.strptime('2015-12-31', '%Y-%m-%d')
|
||||
self.fy_date_start = datetime.strptime('2016-01-01', '%Y-%m-%d')
|
||||
self.fy_date_end = datetime.strptime('2016-12-31', '%Y-%m-%d')
|
||||
self.before_previous_fy_year = fields.Date.from_string('2014-05-05')
|
||||
self.previous_fy_date_start = fields.Date.from_string('2015-01-01')
|
||||
self.previous_fy_date_end = fields.Date.from_string('2015-12-31')
|
||||
self.fy_date_start = fields.Date.from_string('2016-01-01')
|
||||
self.fy_date_end = fields.Date.from_string('2016-12-31')
|
||||
self.receivable_account = self.env['account.account'].search([
|
||||
('user_type_id.name', '=', 'Receivable')
|
||||
], limit=1)
|
||||
|
@ -121,7 +122,6 @@ class TestGeneralLedgerReport(common.TransactionCase):
|
|||
partner = self.env.ref('base.res_partner_12')
|
||||
move_vals = {
|
||||
'journal_id': journal.id,
|
||||
'partner_id': partner.id,
|
||||
'name': move_name,
|
||||
'date': date,
|
||||
'line_ids': [
|
||||
|
@ -129,17 +129,20 @@ class TestGeneralLedgerReport(common.TransactionCase):
|
|||
'name': move_name,
|
||||
'debit': receivable_debit,
|
||||
'credit': receivable_credit,
|
||||
'account_id': self.receivable_account.id}),
|
||||
'account_id': self.receivable_account.id,
|
||||
'partner_id': partner.id}),
|
||||
(0, 0, {
|
||||
'name': move_name,
|
||||
'debit': income_debit,
|
||||
'credit': income_credit,
|
||||
'account_id': self.income_account.id}),
|
||||
'account_id': self.income_account.id,
|
||||
'partner_id': partner.id}),
|
||||
(0, 0, {
|
||||
'name': move_name,
|
||||
'debit': unaffected_debit,
|
||||
'credit': unaffected_credit,
|
||||
'account_id': self.unaffected_account.id}),
|
||||
'account_id': self.unaffected_account.id,
|
||||
'partner_id': partner.id}),
|
||||
]}
|
||||
move = self.env['account.move'].create(move_vals)
|
||||
move.post()
|
||||
|
@ -546,5 +549,5 @@ class TestGeneralLedgerReport(common.TransactionCase):
|
|||
wizard = self.env["general.ledger.report.wizard"].create({
|
||||
'date_range_id': dr.id})
|
||||
wizard.onchange_date_range_id()
|
||||
self.assertEqual(wizard.date_from, '2018-01-01')
|
||||
self.assertEqual(wizard.date_to, '2018-12-31')
|
||||
self.assertEqual(wizard.date_from, date(2018, 1, 1))
|
||||
self.assertEqual(wizard.date_to, date(2018, 12, 31))
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# Copyright 2017 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
import time
|
||||
|
||||
from datetime import datetime, date
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
# Copyright 2016 Camptocamp SA
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import time
|
||||
from datetime import date
|
||||
from odoo.tests import common
|
||||
from . import abstract_test_foreign_currency as a_t_f_c
|
||||
|
@ -131,7 +130,6 @@ class TestTrialBalanceReport(common.TransactionCase):
|
|||
partner = self.env.ref('base.res_partner_12')
|
||||
move_vals = {
|
||||
'journal_id': journal.id,
|
||||
'partner_id': partner.id,
|
||||
'name': move_name,
|
||||
'date': date,
|
||||
'line_ids': [
|
||||
|
@ -139,26 +137,31 @@ class TestTrialBalanceReport(common.TransactionCase):
|
|||
'name': move_name,
|
||||
'debit': receivable_debit,
|
||||
'credit': receivable_credit,
|
||||
'partner_id': partner.id,
|
||||
'account_id': self.account100.id}),
|
||||
(0, 0, {
|
||||
'name': move_name,
|
||||
'debit': income_debit,
|
||||
'credit': income_credit,
|
||||
'partner_id': partner.id,
|
||||
'account_id': self.account200.id}),
|
||||
(0, 0, {
|
||||
'name': move_name,
|
||||
'debit': unaffected_debit,
|
||||
'credit': unaffected_credit,
|
||||
'partner_id': partner.id,
|
||||
'account_id': self.account110.id}),
|
||||
(0, 0, {
|
||||
'name': move_name,
|
||||
'debit': receivable_debit,
|
||||
'credit': receivable_credit,
|
||||
'partner_id': partner.id,
|
||||
'account_id': self.account300.id}),
|
||||
(0, 0, {
|
||||
'name': move_name,
|
||||
'debit': receivable_credit,
|
||||
'credit': receivable_debit,
|
||||
'partner_id': partner.id,
|
||||
'account_id': self.account301.id})
|
||||
]}
|
||||
move = self.env['account.move'].create(move_vals)
|
||||
|
|
|
@ -110,7 +110,7 @@ class TestVATReport(common.TransactionCase):
|
|||
'account_id': self.tax_account.id,
|
||||
'company_id': self.company.id,
|
||||
'refund_account_id': self.tax_account.id,
|
||||
'cash_basis_account': self.tax_account.id,
|
||||
'cash_basis_account_id': self.tax_account.id,
|
||||
'tax_group_id': self.tax_group_20.id,
|
||||
'tag_ids': [(6, 0, [self.tax_tag_02.id, self.tax_tag_03.id])]
|
||||
})
|
||||
|
@ -157,7 +157,8 @@ class TestVATReport(common.TransactionCase):
|
|||
|
||||
def _get_report_lines(self):
|
||||
self.cbinvoice.pay_and_reconcile(
|
||||
self.bank_journal.id, 300, date(date.today().year, date.today().month, 10))
|
||||
self.bank_journal.id, 300, date(
|
||||
date.today().year, date.today().month, 10))
|
||||
vat_report = self.env['report_vat_report'].create({
|
||||
'date_from': self.date_from,
|
||||
'date_to': self.date_to,
|
||||
|
@ -274,8 +275,10 @@ class TestVATReport(common.TransactionCase):
|
|||
'date_to': time.strftime('%Y-%m-01'),
|
||||
'tax_detail': True})
|
||||
wizard.onchange_date_range_id()
|
||||
self.assertEqual(wizard.date_from, date(date.today().year, 1, 1))
|
||||
self.assertEqual(wizard.date_to, date(date.today().year, date.today().month, 28))
|
||||
self.assertEqual(wizard.date_from, date(
|
||||
date.today().year, date.today().month, 1))
|
||||
self.assertEqual(wizard.date_to, date(
|
||||
date.today().year, date.today().month, 28))
|
||||
wizard._export('qweb-pdf')
|
||||
wizard.button_export_html()
|
||||
wizard.button_export_pdf()
|
||||
|
@ -287,8 +290,10 @@ class TestVATReport(common.TransactionCase):
|
|||
'based_on': 'taxgroups',
|
||||
'tax_detail': True})
|
||||
wizard.onchange_date_range_id()
|
||||
self.assertEqual(wizard.date_from, date(date.today().year, 1, 1))
|
||||
self.assertEqual(wizard.date_to, date(date.today().year, date.today().month, 28))
|
||||
self.assertEqual(wizard.date_from, date(
|
||||
date.today().year, date.today().month, 1))
|
||||
self.assertEqual(wizard.date_to, date(
|
||||
date.today().year, date.today().month, 28))
|
||||
wizard._export('qweb-pdf')
|
||||
wizard.button_export_html()
|
||||
wizard.button_export_pdf()
|
||||
|
|
|
@ -4,13 +4,14 @@
|
|||
<template id="account_financial_report_assets_backend"
|
||||
name="account_financial_report assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<link href="/account_financial_report/static/src/less/report.less" rel="stylesheet"/>
|
||||
<link href="/account_financial_report/static/src/css/report.css" rel="stylesheet"/>
|
||||
<script type="text/javascript"
|
||||
src="/account_financial_report/static/src/js/account_financial_report_backend.js"/>
|
||||
<script type="text/javascript"
|
||||
src="/account_financial_report/static/src/js/account_financial_report_widgets.js"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="report_buttons">
|
||||
<div class="button_row">
|
||||
<button class="o_account_financial_reports_print btn btn-sm oe_button"><span class="fa fa-print"/> Print</button>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from . import abstract_wizard
|
||||
from . import aged_partner_balance_wizard
|
||||
from . import general_ledger_wizard
|
||||
from . import journal_ledger_wizard
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
# Copyright 2019 Lorenzo Battistini @ TAKOBI
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class AbstractWizard(models.AbstractModel):
|
||||
_name = 'account_financial_report_abstract_wizard'
|
||||
_description = 'Abstract Wizard'
|
||||
|
||||
def _get_partner_ids_domain(self):
|
||||
return [
|
||||
'&',
|
||||
'|',
|
||||
('company_id', '=', self.company_id.id),
|
||||
('company_id', '=', False),
|
||||
'|',
|
||||
('parent_id', '=', False),
|
||||
('is_company', '=', True),
|
||||
]
|
||||
|
||||
def _default_partners(self):
|
||||
context = self.env.context
|
||||
if (
|
||||
context.get('active_ids') and
|
||||
context.get('active_model') == 'res.partner'
|
||||
):
|
||||
partners = self.env['res.partner'].browse(context['active_ids'])
|
||||
corp_partners = partners.filtered('parent_id')
|
||||
partners -= corp_partners
|
||||
partners |= corp_partners.mapped('commercial_partner_id')
|
||||
return partners.ids
|
|
@ -13,6 +13,7 @@ class AgedPartnerBalanceWizard(models.TransientModel):
|
|||
|
||||
_name = 'aged.partner.balance.wizard'
|
||||
_description = 'Aged Partner Balance Wizard'
|
||||
_inherit = 'account_financial_report_abstract_wizard'
|
||||
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company',
|
||||
|
@ -59,11 +60,7 @@ class AgedPartnerBalanceWizard(models.TransientModel):
|
|||
else:
|
||||
res['domain']['account_ids'] += [
|
||||
('company_id', '=', self.company_id.id)]
|
||||
res['domain']['partner_ids'] += [
|
||||
'&',
|
||||
'|', ('company_id', '=', self.company_id.id),
|
||||
('company_id', '=', False),
|
||||
('parent_id', '=', False)]
|
||||
res['domain']['partner_ids'] += self._get_partner_ids_domain()
|
||||
return res
|
||||
|
||||
@api.onchange('receivable_accounts_only', 'payable_accounts_only')
|
||||
|
|
|
@ -9,10 +9,9 @@
|
|||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.tools.safe_eval import safe_eval
|
||||
from odoo.tools import pycompat, DEFAULT_SERVER_DATE_FORMAT
|
||||
from odoo.tools import pycompat
|
||||
from odoo.exceptions import ValidationError
|
||||
import time
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class GeneralLedgerReportWizard(models.TransientModel):
|
||||
|
@ -20,6 +19,7 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|||
|
||||
_name = "general.ledger.report.wizard"
|
||||
_description = "General Ledger Report Wizard"
|
||||
_inherit = 'account_financial_report_abstract_wizard'
|
||||
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company',
|
||||
|
@ -104,25 +104,12 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|||
def _default_foreign_currency(self):
|
||||
return self.env.user.has_group('base.group_multi_currency')
|
||||
|
||||
def _default_partners(self):
|
||||
context = self.env.context
|
||||
|
||||
if context.get('active_ids') and context.get('active_model') \
|
||||
== 'res.partner':
|
||||
partner_ids = context['active_ids']
|
||||
corp_partners = self.env['res.partner'].browse(partner_ids). \
|
||||
filtered(lambda p: p.parent_id)
|
||||
|
||||
partner_ids = set(partner_ids) - set(corp_partners.ids)
|
||||
partner_ids |= set(corp_partners.mapped('parent_id.id'))
|
||||
return list(partner_ids)
|
||||
|
||||
@api.depends('date_from')
|
||||
def _compute_fy_start_date(self):
|
||||
for wiz in self.filtered('date_from'):
|
||||
date = fields.Datetime.from_string(wiz.date_from)
|
||||
res = self.company_id.compute_fiscalyear_dates(date)
|
||||
wiz.fy_start_date = datetime.strftime(res['date_from'], DEFAULT_SERVER_DATE_FORMAT)
|
||||
wiz.fy_start_date = fields.Date.to_string(res['date_from'])
|
||||
|
||||
@api.onchange('company_id')
|
||||
def onchange_company_id(self):
|
||||
|
@ -168,11 +155,7 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|||
('company_id', '=', self.company_id.id)]
|
||||
res['domain']['account_journal_ids'] += [
|
||||
('company_id', '=', self.company_id.id)]
|
||||
res['domain']['partner_ids'] += [
|
||||
'&',
|
||||
'|', ('company_id', '=', self.company_id.id),
|
||||
('company_id', '=', False),
|
||||
('parent_id', '=', False)]
|
||||
res['domain']['partner_ids'] += self._get_partner_ids_domain()
|
||||
res['domain']['cost_center_ids'] += [
|
||||
('company_id', '=', self.company_id.id)]
|
||||
res['domain']['date_range_id'] += [
|
||||
|
|
|
@ -13,6 +13,7 @@ class OpenItemsReportWizard(models.TransientModel):
|
|||
|
||||
_name = "open.items.report.wizard"
|
||||
_description = "Open Items Report Wizard"
|
||||
_inherit = 'account_financial_report_abstract_wizard'
|
||||
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company',
|
||||
|
@ -57,19 +58,6 @@ class OpenItemsReportWizard(models.TransientModel):
|
|||
def _default_foreign_currency(self):
|
||||
return self.env.user.has_group('base.group_multi_currency')
|
||||
|
||||
def _default_partners(self):
|
||||
context = self.env.context
|
||||
|
||||
if context.get('active_ids') and context.get('active_model') \
|
||||
== 'res.partner':
|
||||
partner_ids = context['active_ids']
|
||||
corp_partners = self.env['res.partner'].browse(partner_ids). \
|
||||
filtered(lambda p: p.parent_id)
|
||||
|
||||
partner_ids = set(partner_ids) - set(corp_partners.ids)
|
||||
partner_ids |= set(corp_partners.mapped('parent_id.id'))
|
||||
return list(partner_ids)
|
||||
|
||||
@api.onchange('company_id')
|
||||
def onchange_company_id(self):
|
||||
"""Handle company change."""
|
||||
|
@ -90,11 +78,7 @@ class OpenItemsReportWizard(models.TransientModel):
|
|||
else:
|
||||
res['domain']['account_ids'] += [
|
||||
('company_id', '=', self.company_id.id)]
|
||||
res['domain']['partner_ids'] += [
|
||||
'&',
|
||||
'|', ('company_id', '=', self.company_id.id),
|
||||
('company_id', '=', False),
|
||||
('parent_id', '=', False)]
|
||||
res['domain']['partner_ids'] += self._get_partner_ids_domain()
|
||||
return res
|
||||
|
||||
@api.onchange('receivable_accounts_only', 'payable_accounts_only')
|
||||
|
|
|
@ -6,15 +6,16 @@
|
|||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.tools.safe_eval import safe_eval
|
||||
from odoo.tools import pycompat, DEFAULT_SERVER_DATE_FORMAT
|
||||
from odoo.tools import pycompat
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class TrialBalanceReportWizard(models.TransientModel):
|
||||
"""Trial balance report wizard."""
|
||||
|
||||
_name = "trial.balance.report.wizard"
|
||||
_description = "Trial Balance Report Wizard"
|
||||
_inherit = 'account_financial_report_abstract_wizard'
|
||||
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company',
|
||||
|
@ -98,7 +99,7 @@ class TrialBalanceReportWizard(models.TransientModel):
|
|||
for wiz in self.filtered('date_from'):
|
||||
date = fields.Datetime.from_string(wiz.date_from)
|
||||
res = self.company_id.compute_fiscalyear_dates(date)
|
||||
wiz.fy_start_date = datetime.strftime(res['date_from'], DEFAULT_SERVER_DATE_FORMAT)
|
||||
wiz.fy_start_date = fields.Date.to_string(res['date_from'])
|
||||
|
||||
@api.onchange('company_id')
|
||||
def onchange_company_id(self):
|
||||
|
@ -137,11 +138,7 @@ class TrialBalanceReportWizard(models.TransientModel):
|
|||
else:
|
||||
res['domain']['account_ids'] += [
|
||||
('company_id', '=', self.company_id.id)]
|
||||
res['domain']['partner_ids'] += [
|
||||
'&',
|
||||
'|', ('company_id', '=', self.company_id.id),
|
||||
('company_id', '=', False),
|
||||
('parent_id', '=', False)]
|
||||
res['domain']['partner_ids'] += self._get_partner_ids_domain()
|
||||
res['domain']['date_range_id'] += [
|
||||
'|', ('company_id', '=', self.company_id.id),
|
||||
('company_id', '=', False)]
|
||||
|
|
Loading…
Reference in New Issue