[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:
eLBati
2019-05-30 17:55:16 +02:00
committed by chaule97
parent 9f9211b6ea
commit 2360900be1
37 changed files with 11264 additions and 10946 deletions

View File

@@ -1,3 +1,4 @@
from . import abstract_wizard
from . import aged_partner_balance_wizard
from . import general_ledger_wizard
from . import journal_ledger_wizard

View 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

View File

@@ -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')

View File

@@ -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'] += [

View File

@@ -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')

View File

@@ -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)]