mirror of
https://github.com/bringout/oca-ocb-mail.git
synced 2026-04-19 03:22:00 +02:00
Initial commit: Mail packages
This commit is contained in:
commit
4e53507711
1948 changed files with 751201 additions and 0 deletions
|
|
@ -0,0 +1,36 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import _, fields, models
|
||||
from odoo.tools.misc import format_date
|
||||
|
||||
|
||||
class IrMailServer(models.Model):
|
||||
_name = 'ir.mail_server'
|
||||
_inherit = ['ir.mail_server']
|
||||
|
||||
active_mailing_ids = fields.One2many(
|
||||
comodel_name='mailing.mailing',
|
||||
inverse_name='mail_server_id',
|
||||
string='Active mailing using this mail server',
|
||||
readonly=True,
|
||||
domain=[('state', '!=', 'done'), ('active', '=', True)])
|
||||
|
||||
def _active_usages_compute(self):
|
||||
def format_usage(mailing_id):
|
||||
base = _('Mass Mailing "%s"', mailing_id.display_name)
|
||||
if not mailing_id.schedule_date:
|
||||
return base
|
||||
details = _('(scheduled for %s)', format_date(self.env, mailing_id.schedule_date))
|
||||
return f'{base} {details}'
|
||||
|
||||
usages_super = super(IrMailServer, self)._active_usages_compute()
|
||||
default_mail_server_id = self.env['mailing.mailing']._get_default_mail_server_id()
|
||||
for record in self:
|
||||
usages = []
|
||||
if default_mail_server_id == record.id:
|
||||
usages.append(_('Email Marketing uses it as its default mail server to send mass mailings'))
|
||||
usages.extend(map(format_usage, record.active_mailing_ids))
|
||||
if usages:
|
||||
usages_super.setdefault(record.id, []).extend(usages)
|
||||
return usages_super
|
||||
Loading…
Add table
Add a link
Reference in a new issue