[9.0][IMP] Improve transient models cleaning (#441)
* [9.0][IMP] Improve transient models cleaningpull/643/head
parent
d8de3f5327
commit
902145a2aa
|
@ -5,7 +5,7 @@
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
{
|
{
|
||||||
'name': 'QWeb Financial Reports',
|
'name': 'QWeb Financial Reports',
|
||||||
'version': '9.0.1.0.3',
|
'version': '9.0.1.0.4',
|
||||||
'category': 'Reporting',
|
'category': 'Reporting',
|
||||||
'summary': 'OCA Financial Reports',
|
'summary': 'OCA Financial Reports',
|
||||||
'author': 'Camptocamp SA,'
|
'author': 'Camptocamp SA,'
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
import logging
|
import logging
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
from . import abstract_report
|
||||||
from . import aged_partner_balance
|
from . import aged_partner_balance
|
||||||
from . import general_ledger
|
from . import general_ledger
|
||||||
from . import open_items
|
from . import open_items
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Copyright 2018 Camptocamp SA
|
||||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
|
|
||||||
|
from openerp import models
|
||||||
|
|
||||||
|
|
||||||
|
class AbstractReport(models.AbstractModel):
|
||||||
|
_name = 'report_qweb_abstract'
|
||||||
|
|
||||||
|
def _transient_clean_rows_older_than(self, cr, seconds):
|
||||||
|
assert self._transient, \
|
||||||
|
"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 """ + self._table + """
|
||||||
|
WHERE
|
||||||
|
COALESCE(write_date, create_date, (now() at time zone 'UTC'))::timestamp
|
||||||
|
< ((now() at time zone 'UTC') - interval %s)
|
||||||
|
"""
|
||||||
|
cr.execute(query, ("%s seconds" % seconds,))
|
|
@ -19,6 +19,7 @@ class AgedPartnerBalanceReport(models.TransientModel):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_name = 'report_aged_partner_balance_qweb'
|
_name = 'report_aged_partner_balance_qweb'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
# Filters fields, used for data computation
|
# Filters fields, used for data computation
|
||||||
date_at = fields.Date()
|
date_at = fields.Date()
|
||||||
|
@ -41,6 +42,7 @@ class AgedPartnerBalanceReport(models.TransientModel):
|
||||||
class AgedPartnerBalanceReportAccount(models.TransientModel):
|
class AgedPartnerBalanceReportAccount(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_aged_partner_balance_qweb_account'
|
_name = 'report_aged_partner_balance_qweb_account'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
_order = 'code ASC'
|
_order = 'code ASC'
|
||||||
|
|
||||||
report_id = fields.Many2one(
|
report_id = fields.Many2one(
|
||||||
|
@ -84,6 +86,7 @@ class AgedPartnerBalanceReportAccount(models.TransientModel):
|
||||||
class AgedPartnerBalanceReportPartner(models.TransientModel):
|
class AgedPartnerBalanceReportPartner(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_aged_partner_balance_qweb_partner'
|
_name = 'report_aged_partner_balance_qweb_partner'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_account_id = fields.Many2one(
|
report_account_id = fields.Many2one(
|
||||||
comodel_name='report_aged_partner_balance_qweb_account',
|
comodel_name='report_aged_partner_balance_qweb_account',
|
||||||
|
@ -128,6 +131,7 @@ ORDER BY
|
||||||
class AgedPartnerBalanceReportLine(models.TransientModel):
|
class AgedPartnerBalanceReportLine(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_aged_partner_balance_qweb_line'
|
_name = 'report_aged_partner_balance_qweb_line'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_partner_id = fields.Many2one(
|
report_partner_id = fields.Many2one(
|
||||||
comodel_name='report_aged_partner_balance_qweb_partner',
|
comodel_name='report_aged_partner_balance_qweb_partner',
|
||||||
|
@ -149,6 +153,7 @@ class AgedPartnerBalanceReportLine(models.TransientModel):
|
||||||
class AgedPartnerBalanceReportMoveLine(models.TransientModel):
|
class AgedPartnerBalanceReportMoveLine(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_aged_partner_balance_qweb_move_line'
|
_name = 'report_aged_partner_balance_qweb_move_line'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_partner_id = fields.Many2one(
|
report_partner_id = fields.Many2one(
|
||||||
comodel_name='report_aged_partner_balance_qweb_partner',
|
comodel_name='report_aged_partner_balance_qweb_partner',
|
||||||
|
|
|
@ -22,6 +22,7 @@ class GeneralLedgerReport(models.TransientModel):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_name = 'report_general_ledger_qweb'
|
_name = 'report_general_ledger_qweb'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
# Filters fields, used for data computation
|
# Filters fields, used for data computation
|
||||||
date_from = fields.Date()
|
date_from = fields.Date()
|
||||||
|
@ -71,6 +72,7 @@ class GeneralLedgerReport(models.TransientModel):
|
||||||
class GeneralLedgerReportAccount(models.TransientModel):
|
class GeneralLedgerReportAccount(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_general_ledger_qweb_account'
|
_name = 'report_general_ledger_qweb_account'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
_order = 'code ASC'
|
_order = 'code ASC'
|
||||||
|
|
||||||
report_id = fields.Many2one(
|
report_id = fields.Many2one(
|
||||||
|
@ -112,6 +114,7 @@ class GeneralLedgerReportAccount(models.TransientModel):
|
||||||
class GeneralLedgerReportPartner(models.TransientModel):
|
class GeneralLedgerReportPartner(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_general_ledger_qweb_partner'
|
_name = 'report_general_ledger_qweb_partner'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_account_id = fields.Many2one(
|
report_account_id = fields.Many2one(
|
||||||
comodel_name='report_general_ledger_qweb_account',
|
comodel_name='report_general_ledger_qweb_account',
|
||||||
|
@ -157,6 +160,7 @@ ORDER BY
|
||||||
class GeneralLedgerReportMoveLine(models.TransientModel):
|
class GeneralLedgerReportMoveLine(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_general_ledger_qweb_move_line'
|
_name = 'report_general_ledger_qweb_move_line'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_account_id = fields.Many2one(
|
report_account_id = fields.Many2one(
|
||||||
comodel_name='report_general_ledger_qweb_account',
|
comodel_name='report_general_ledger_qweb_account',
|
||||||
|
|
|
@ -17,6 +17,7 @@ class OpenItemsReport(models.TransientModel):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_name = 'report_open_items_qweb'
|
_name = 'report_open_items_qweb'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
# Filters fields, used for data computation
|
# Filters fields, used for data computation
|
||||||
date_at = fields.Date()
|
date_at = fields.Date()
|
||||||
|
@ -39,6 +40,7 @@ class OpenItemsReport(models.TransientModel):
|
||||||
class OpenItemsReportAccount(models.TransientModel):
|
class OpenItemsReportAccount(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_open_items_qweb_account'
|
_name = 'report_open_items_qweb_account'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
_order = 'code ASC'
|
_order = 'code ASC'
|
||||||
|
|
||||||
report_id = fields.Many2one(
|
report_id = fields.Many2one(
|
||||||
|
@ -68,6 +70,7 @@ class OpenItemsReportAccount(models.TransientModel):
|
||||||
class OpenItemsReportPartner(models.TransientModel):
|
class OpenItemsReportPartner(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_open_items_qweb_partner'
|
_name = 'report_open_items_qweb_partner'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_account_id = fields.Many2one(
|
report_account_id = fields.Many2one(
|
||||||
comodel_name='report_open_items_qweb_account',
|
comodel_name='report_open_items_qweb_account',
|
||||||
|
@ -108,6 +111,7 @@ ORDER BY
|
||||||
class OpenItemsReportMoveLine(models.TransientModel):
|
class OpenItemsReportMoveLine(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_open_items_qweb_move_line'
|
_name = 'report_open_items_qweb_move_line'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_partner_id = fields.Many2one(
|
report_partner_id = fields.Many2one(
|
||||||
comodel_name='report_open_items_qweb_partner',
|
comodel_name='report_open_items_qweb_partner',
|
||||||
|
|
|
@ -17,6 +17,7 @@ class TrialBalanceReport(models.TransientModel):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_name = 'report_trial_balance_qweb'
|
_name = 'report_trial_balance_qweb'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
# Filters fields, used for data computation
|
# Filters fields, used for data computation
|
||||||
date_from = fields.Date()
|
date_from = fields.Date()
|
||||||
|
@ -45,6 +46,7 @@ class TrialBalanceReport(models.TransientModel):
|
||||||
class TrialBalanceReportAccount(models.TransientModel):
|
class TrialBalanceReportAccount(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_trial_balance_qweb_account'
|
_name = 'report_trial_balance_qweb_account'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
_order = 'code ASC'
|
_order = 'code ASC'
|
||||||
|
|
||||||
report_id = fields.Many2one(
|
report_id = fields.Many2one(
|
||||||
|
@ -78,6 +80,7 @@ class TrialBalanceReportAccount(models.TransientModel):
|
||||||
class TrialBalanceReportPartner(models.TransientModel):
|
class TrialBalanceReportPartner(models.TransientModel):
|
||||||
|
|
||||||
_name = 'report_trial_balance_qweb_partner'
|
_name = 'report_trial_balance_qweb_partner'
|
||||||
|
_inherit = 'report_qweb_abstract'
|
||||||
|
|
||||||
report_account_id = fields.Many2one(
|
report_account_id = fields.Many2one(
|
||||||
comodel_name='report_trial_balance_qweb_account',
|
comodel_name='report_trial_balance_qweb_account',
|
||||||
|
|
Loading…
Reference in New Issue