59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
|
|
from sql import Table
|
|
from sql.operators import Concat
|
|
|
|
from trytond import backend, config
|
|
from trytond.model import fields
|
|
from trytond.pool import PoolMeta
|
|
from trytond.pyson import Eval
|
|
from trytond.transaction import Transaction
|
|
|
|
|
|
class Email(metaclass=PoolMeta):
|
|
__name__ = 'ir.email'
|
|
|
|
dunning_level = fields.Many2One(
|
|
'account.dunning.level', "Level", readonly=True,
|
|
states={
|
|
'invisible': ~Eval('dunning_level'),
|
|
})
|
|
|
|
@classmethod
|
|
def __register__(cls, module):
|
|
table = cls.__table__()
|
|
log_name = 'account.dunning.email.log'
|
|
log_table_name = config.get(
|
|
'table', log_name, default=log_name.replace('.', '_'))
|
|
log = Table(log_table_name)
|
|
|
|
cursor = Transaction().connection.cursor()
|
|
|
|
super().__register__(module)
|
|
|
|
# Migration from 6.8: merge dunning email log with email
|
|
if backend.TableHandler.table_exist(log_table_name):
|
|
query = table.insert(
|
|
[table.create_uid, table.create_date,
|
|
table.write_uid, table.write_date,
|
|
table.recipients, table.recipients_secondary,
|
|
table.recipients_hidden,
|
|
table.resource,
|
|
table.dunning_level],
|
|
log.select(
|
|
log.create_uid, log.create_date,
|
|
log.write_uid, log.write_date,
|
|
log.recipients, log.recipients_secondary,
|
|
log.recipients_hidden,
|
|
Concat('account.dunning,', log.dunning),
|
|
log.level))
|
|
cursor.execute(*query)
|
|
backend.TableHandler.drop_table(log_name, log_table_name)
|
|
|
|
def get_user(self, name):
|
|
user = super().get_user(name)
|
|
if self.dunning_level:
|
|
user = None
|
|
return user
|