Enforce access rights on the email template record on marketing email
Closes #14907 (grafted from 856dea6dca76bd9cd7fa03a3dbe51f160b912e69) --HG-- branch : 8.0
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
* Enforce access rights on the email template record (issue14907)
|
||||
|
||||
Version 8.0.0 - 2026-04-20
|
||||
--------------------------
|
||||
|
||||
@@ -29,6 +29,11 @@ from trytond.transaction import Transaction, inactive_records
|
||||
from trytond.url import http_base
|
||||
from trytond.wizard import Button, StateTransition, StateView, Wizard
|
||||
|
||||
try:
|
||||
from trytond.model import ModelAccessProxy
|
||||
except ImportError:
|
||||
ModelAccessProxy = None
|
||||
|
||||
from .exceptions import EMailValidationError, TemplateError
|
||||
|
||||
|
||||
@@ -427,6 +432,7 @@ class Message(Workflow, ModelSQL, ModelView):
|
||||
def process(cls, messages=None, emails=None, smtpd_datamanager=None):
|
||||
pool = Pool()
|
||||
WebShortener = pool.get('web.shortened_url')
|
||||
ModelData = pool.get('ir.model.data')
|
||||
spy_pixel = config.getboolean(
|
||||
'marketing', 'email_spy_pixel', default=False)
|
||||
|
||||
@@ -480,6 +486,12 @@ class Message(Workflow, ModelSQL, ModelView):
|
||||
message=message.rec_name,
|
||||
exception=exception)) from exception
|
||||
for email in (emails or message.list_.emails):
|
||||
if ModelAccessProxy:
|
||||
email = ModelAccessProxy(
|
||||
email, {
|
||||
'_groups': [
|
||||
ModelData.get_id('marketing.group_marketing')],
|
||||
})
|
||||
content = (template
|
||||
.generate(
|
||||
email=email,
|
||||
|
||||
Reference in New Issue
Block a user