diff --git a/modules/marketing_campaign/CHANGELOG b/modules/marketing_campaign/CHANGELOG index ca61be95de..0ecbfa1c4c 100644 --- a/modules/marketing_campaign/CHANGELOG +++ b/modules/marketing_campaign/CHANGELOG @@ -1,3 +1,4 @@ +* Add UTM to email message * Add UTM parameters to shortened URL Version 7.0.0 - 2023-10-30 diff --git a/modules/marketing_campaign/__init__.py b/modules/marketing_campaign/__init__.py index e1091f3f81..8cabcf9575 100644 --- a/modules/marketing_campaign/__init__.py +++ b/modules/marketing_campaign/__init__.py @@ -45,6 +45,10 @@ def register(): Pool.register( web.ShortenedURL, module='marketing_campaign', type_='model', depends=['web_shortener']) + Pool.register( + marketing.EmailMessage, + module='marketing_campaign', type_='model', + depends=['marketing_email']) if SaleAbstract: Pool.register_mixin( sale_reporting.AbstractMarketingCampaign, SaleAbstract, diff --git a/modules/marketing_campaign/marketing.py b/modules/marketing_campaign/marketing.py index c68fd81812..a26367aa87 100644 --- a/modules/marketing_campaign/marketing.py +++ b/modules/marketing_campaign/marketing.py @@ -155,3 +155,7 @@ class MarketingCampaignMixin(Model): default.setdefault( fname + '.', {})['rec_name'] = target.rec_name return default + + +class EmailMessage(MarketingCampaignUTM, MarketingCampaignMixin): + __name__ = 'marketing.email.message' diff --git a/modules/marketing_campaign/marketing.xml b/modules/marketing_campaign/marketing.xml index 2eb20a7278..f98ea62bec 100644 --- a/modules/marketing_campaign/marketing.xml +++ b/modules/marketing_campaign/marketing.xml @@ -98,6 +98,12 @@ this repository contains the full copyright notices and license terms. --> action="act_source_form" sequence="50" id="menu_source_form"/> - + + + + marketing.email.message + + campaign_mixin_form + diff --git a/modules/marketing_campaign/setup.py b/modules/marketing_campaign/setup.py index 0c657bae69..d4475ad52f 100755 --- a/modules/marketing_campaign/setup.py +++ b/modules/marketing_campaign/setup.py @@ -52,6 +52,7 @@ requires.append(get_require_version('trytond')) tests_require = [ get_require_version('proteus'), + get_require_version('trytond_marketing_email'), get_require_version('trytond_sale'), get_require_version('trytond_sale_opportunity'), get_require_version('trytond_sale_point'), diff --git a/modules/marketing_campaign/tests/test_module.py b/modules/marketing_campaign/tests/test_module.py index 1ac33fdcda..54b3e55960 100644 --- a/modules/marketing_campaign/tests/test_module.py +++ b/modules/marketing_campaign/tests/test_module.py @@ -12,7 +12,9 @@ from trytond.tests.test_tryton import ModuleTestCase, with_transaction class MarketingCampaignTestCase(ModuleTestCase): "Test Marketing Campaign module" module = 'marketing_campaign' - extras = ['sale', 'sale_opportunity', 'sale_point', 'web_shortener'] + extras = [ + 'marketing_email', 'sale', 'sale_opportunity', 'sale_point', + 'web_shortener'] @with_transaction() def test_shortened_url_add_utm(self): diff --git a/modules/marketing_campaign/tryton.cfg b/modules/marketing_campaign/tryton.cfg index c29f49a9c0..a9f5ab2cf2 100644 --- a/modules/marketing_campaign/tryton.cfg +++ b/modules/marketing_campaign/tryton.cfg @@ -4,6 +4,7 @@ depends: ir marketing extras_depend: + marketing_email sale sale_opportunity sale_point