[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 style
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from . import abstract_wizard
|
||||
from . import aged_partner_balance_wizard
|
||||
from . import general_ledger_wizard
|
||||
from . import journal_ledger_wizard
|
||||
|
||||
32
account_financial_report/wizard/abstract_wizard.py
Normal file
32
account_financial_report/wizard/abstract_wizard.py
Normal file
@@ -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)]
|
||||
|
||||
Reference in New Issue
Block a user