mirror of
https://github.com/bringout/oca-ocb-mail.git
synced 2026-04-21 12:22:03 +02:00
19.0 vanilla
This commit is contained in:
parent
5df8c07b59
commit
daa394e8b0
2114 changed files with 564841 additions and 299642 deletions
|
|
@ -1,6 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import ir_qweb
|
||||
from . import mailing_models
|
||||
from . import mailing_models_utm
|
||||
from . import mailing_models_cornercase
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from odoo import models
|
||||
|
||||
|
||||
class IrQweb(models.AbstractModel):
|
||||
_inherit = "ir.qweb"
|
||||
|
||||
def _get_bundles_to_pregenarate(self):
|
||||
js_assets, css_assets = super()._get_bundles_to_pregenarate()
|
||||
assets = {'mass_mailing.assets_iframe_style'}
|
||||
return (js_assets | assets, css_assets | assets)
|
||||
|
|
@ -4,11 +4,11 @@
|
|||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class MailingCustomer(models.Model):
|
||||
class MailingTestCustomer(models.Model):
|
||||
""" A model inheriting from mail.thread with a partner field, to test
|
||||
mass mailing flows involving checking partner email. """
|
||||
_description = 'Mailing with partner'
|
||||
_name = 'mailing.test.customer'
|
||||
_description = 'Mailing with partner'
|
||||
_inherit = ['mail.thread']
|
||||
|
||||
name = fields.Char()
|
||||
|
|
@ -20,25 +20,15 @@ class MailingCustomer(models.Model):
|
|||
for mailing in self.filtered(lambda rec: not rec.email_from and rec.customer_id):
|
||||
mailing.email_from = mailing.customer_id.email
|
||||
|
||||
def _message_get_default_recipients(self):
|
||||
""" Default recipient checks for 'partner_id', here the field is named
|
||||
'customer_id'. """
|
||||
default_recipients = super()._message_get_default_recipients()
|
||||
for record in self:
|
||||
if record.customer_id:
|
||||
default_recipients[record.id] = {
|
||||
'email_cc': False,
|
||||
'email_to': False,
|
||||
'partner_ids': record.customer_id.ids,
|
||||
}
|
||||
return default_recipients
|
||||
def _mail_get_partner_fields(self, introspect_fields=False):
|
||||
return ['customer_id']
|
||||
|
||||
|
||||
class MailingSimple(models.Model):
|
||||
class MailingTestSimple(models.Model):
|
||||
""" Model only inheriting from mail.thread to test base mailing features and
|
||||
performances. """
|
||||
_description = 'Simple Mailing'
|
||||
_name = 'mailing.test.simple'
|
||||
_description = 'Simple Mailing'
|
||||
_inherit = ['mail.thread']
|
||||
_primary_email = 'email_from'
|
||||
|
||||
|
|
@ -46,21 +36,22 @@ class MailingSimple(models.Model):
|
|||
email_from = fields.Char()
|
||||
|
||||
|
||||
class MailingUTM(models.Model):
|
||||
class MailingTestUtm(models.Model):
|
||||
""" Model inheriting from mail.thread and utm.mixin for checking utm of mailing
|
||||
is caught and set on reply """
|
||||
_description = 'Mailing: UTM enabled to test UTM sync with mailing'
|
||||
_name = 'mailing.test.utm'
|
||||
_description = 'Mailing: UTM enabled to test UTM sync with mailing'
|
||||
_inherit = ['mail.thread', 'utm.mixin']
|
||||
|
||||
name = fields.Char()
|
||||
|
||||
|
||||
class MailingBLacklist(models.Model):
|
||||
class MailingTestBlacklist(models.Model):
|
||||
""" Model using blacklist mechanism for mass mailing features. """
|
||||
_description = 'Mailing Blacklist Enabled'
|
||||
_name = 'mailing.test.blacklist'
|
||||
_description = 'Mailing Blacklist Enabled'
|
||||
_inherit = ['mail.thread.blacklist']
|
||||
_order = 'name ASC, id DESC'
|
||||
_primary_email = 'email_from'
|
||||
|
||||
name = fields.Char()
|
||||
|
|
@ -68,25 +59,15 @@ class MailingBLacklist(models.Model):
|
|||
customer_id = fields.Many2one('res.partner', 'Customer', tracking=True)
|
||||
user_id = fields.Many2one('res.users', 'Responsible', tracking=True)
|
||||
|
||||
def _message_get_default_recipients(self):
|
||||
""" Default recipient checks for 'partner_id', here the field is named
|
||||
'customer_id'. """
|
||||
default_recipients = super()._message_get_default_recipients()
|
||||
for record in self:
|
||||
if record.customer_id:
|
||||
default_recipients[record.id] = {
|
||||
'email_cc': False,
|
||||
'email_to': False,
|
||||
'partner_ids': record.customer_id.ids,
|
||||
}
|
||||
return default_recipients
|
||||
def _mail_get_partner_fields(self, introspect_fields=False):
|
||||
return ['customer_id']
|
||||
|
||||
|
||||
class MailingOptOut(models.Model):
|
||||
class MailingTestOptout(models.Model):
|
||||
""" Model using blacklist mechanism and a hijacked opt-out mechanism for
|
||||
mass mailing features. """
|
||||
_description = 'Mailing Blacklist / Optout Enabled'
|
||||
_name = 'mailing.test.optout'
|
||||
_description = 'Mailing Blacklist / Optout Enabled'
|
||||
_inherit = ['mail.thread.blacklist']
|
||||
_primary_email = 'email_from'
|
||||
|
||||
|
|
@ -96,6 +77,9 @@ class MailingOptOut(models.Model):
|
|||
customer_id = fields.Many2one('res.partner', 'Customer', tracking=True)
|
||||
user_id = fields.Many2one('res.users', 'Responsible', tracking=True)
|
||||
|
||||
def _mail_get_partner_fields(self, introspect_fields=False):
|
||||
return ['customer_id']
|
||||
|
||||
def _mailing_get_opt_out_list(self, mailing):
|
||||
res_ids = mailing._get_recipients()
|
||||
opt_out_contacts = set(self.search([
|
||||
|
|
@ -104,22 +88,10 @@ class MailingOptOut(models.Model):
|
|||
]).mapped('email_normalized'))
|
||||
return opt_out_contacts
|
||||
|
||||
def _message_get_default_recipients(self):
|
||||
""" Default recipient checks for 'partner_id', here the field is named
|
||||
'customer_id'. """
|
||||
default_recipients = super()._message_get_default_recipients()
|
||||
for record in self:
|
||||
if record.customer_id:
|
||||
default_recipients[record.id] = {
|
||||
'email_cc': False,
|
||||
'email_to': False,
|
||||
'partner_ids': record.customer_id.ids,
|
||||
}
|
||||
return default_recipients
|
||||
|
||||
class MailingTestPartner(models.Model):
|
||||
_description = 'Mailing Model with partner_id'
|
||||
_name = 'mailing.test.partner'
|
||||
_description = 'Mailing Model with partner_id'
|
||||
_inherit = ['mail.thread.blacklist']
|
||||
_primary_email = 'email_from'
|
||||
|
||||
|
|
@ -139,7 +111,7 @@ class MailingPerformance(models.Model):
|
|||
email_from = fields.Char()
|
||||
|
||||
|
||||
class MailingPerformanceBL(models.Model):
|
||||
class MailingPerformanceBlacklist(models.Model):
|
||||
""" Model using blacklist mechanism for mass mailing performance. """
|
||||
_name = 'mailing.performance.blacklist'
|
||||
_description = 'Mailing: blacklist performance'
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ from odoo import api, fields, models
|
|||
|
||||
class MailingTestPartnerUnstored(models.Model):
|
||||
""" Check mailing with unstored fields """
|
||||
_description = 'Mailing Model without stored partner_id'
|
||||
_name = 'mailing.test.partner.unstored'
|
||||
_description = 'Mailing Model without stored partner_id'
|
||||
_inherit = ['mail.thread.blacklist']
|
||||
_primary_email = 'email_from'
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ from odoo import fields, models
|
|||
|
||||
class UtmTestSourceMixin(models.Model):
|
||||
""" Test utm.source.mixin """
|
||||
_name = 'utm.test.source.mixin'
|
||||
_description = "UTM Source Mixin Test Model"
|
||||
_name = "utm.test.source.mixin"
|
||||
_order = "id DESC"
|
||||
_rec_name = "title"
|
||||
_inherit = [
|
||||
|
|
@ -20,8 +20,8 @@ class UtmTestSourceMixin(models.Model):
|
|||
class UtmTestSourceMixinOther(models.Model):
|
||||
""" Test utm.source.mixin, similar to the other one, allowing also to test
|
||||
cross model uniqueness check """
|
||||
_name = 'utm.test.source.mixin.other'
|
||||
_description = "UTM Source Mixin Test Model (another)"
|
||||
_name = "utm.test.source.mixin.other"
|
||||
_order = "id DESC"
|
||||
_rec_name = "title"
|
||||
_inherit = [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue