fix: bring back email_marketing model momentarily and bump enterprise
Enterprise was still using email_marketing code. This will bump enterprise to a version that does not any more. And also temporarily put the email_marketing model back for blue/green deploy sanity.
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
Email Marketing
|
||||
===============
|
||||
|
||||
If you are reading this and the 'Maple' Open edX release is out, you can safely delete
|
||||
this whole djangoapp. It only exists to hold old model migrations and any post-Maple
|
||||
installation will no longer have any model in the database for this app.
|
||||
|
||||
But for some minor historical context, this djangoapp used to hold some integration
|
||||
with sailthru that we no longer needed.
|
||||
@@ -1,16 +0,0 @@
|
||||
# Generated by Django 2.2.20 on 2021-05-03 20:17
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('email_marketing', '0010_auto_20180425_0800'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='EmailMarketingConfiguration',
|
||||
),
|
||||
]
|
||||
173
lms/djangoapps/email_marketing/models.py
Normal file
173
lms/djangoapps/email_marketing/models.py
Normal file
@@ -0,0 +1,173 @@
|
||||
"""
|
||||
Email-marketing-related models.
|
||||
"""
|
||||
|
||||
|
||||
from config_models.models import ConfigurationModel
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class EmailMarketingConfiguration(ConfigurationModel):
|
||||
"""
|
||||
Email marketing configuration
|
||||
|
||||
.. no_pii:
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
app_label = "email_marketing"
|
||||
|
||||
sailthru_key = models.fields.CharField(
|
||||
max_length=32,
|
||||
help_text=_(
|
||||
"API key for accessing Sailthru. "
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_secret = models.fields.CharField(
|
||||
max_length=32,
|
||||
help_text=_(
|
||||
"API secret for accessing Sailthru. "
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_new_user_list = models.fields.CharField(
|
||||
max_length=48,
|
||||
help_text=_(
|
||||
"Sailthru list name to add new users to. "
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_retry_interval = models.fields.IntegerField(
|
||||
default=3600,
|
||||
help_text=_(
|
||||
"Sailthru connection retry interval (secs)."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_max_retries = models.fields.IntegerField(
|
||||
default=24,
|
||||
help_text=_(
|
||||
"Sailthru maximum retries."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_welcome_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru template to use on welcome send."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_abandoned_cart_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru template to use on abandoned cart reminder. Deprecated."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_abandoned_cart_delay = models.fields.IntegerField(
|
||||
default=60,
|
||||
help_text=_(
|
||||
"Sailthru minutes to wait before sending abandoned cart message. Deprecated."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_enroll_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru send template to use on enrolling for audit. "
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_verification_passed_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru send template to use on passed ID verification."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_verification_failed_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru send template to use on failed ID verification."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_upgrade_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru send template to use on upgrading a course. Deprecated "
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_purchase_template = models.fields.CharField(
|
||||
max_length=20,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Sailthru send template to use on purchasing a course seat. Deprecated "
|
||||
)
|
||||
)
|
||||
|
||||
# Sailthru purchases can be tagged with interest tags to provide information about the types of courses
|
||||
# users are interested in. The easiest way to get the tags currently is the Sailthru content API which
|
||||
# looks in the content library (the content library is populated daily with a script that pulls the data
|
||||
# from the course discovery API) This option should normally be on, but it does add overhead to processing
|
||||
# purchases and enrolls.
|
||||
sailthru_get_tags_from_sailthru = models.BooleanField(
|
||||
default=True,
|
||||
help_text=_('Use the Sailthru content API to fetch course tags.')
|
||||
)
|
||||
|
||||
sailthru_content_cache_age = models.fields.IntegerField(
|
||||
default=3600,
|
||||
help_text=_(
|
||||
"Number of seconds to cache course content retrieved from Sailthru."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_enroll_cost = models.fields.IntegerField(
|
||||
default=100,
|
||||
help_text=_(
|
||||
"Cost in cents to report to Sailthru for enrolls."
|
||||
)
|
||||
)
|
||||
|
||||
sailthru_lms_url_override = models.fields.CharField(
|
||||
max_length=80,
|
||||
blank=True,
|
||||
help_text=_(
|
||||
"Optional lms url scheme + host used to construct urls for content library, e.g. https://courses.edx.org."
|
||||
)
|
||||
)
|
||||
|
||||
# The number of seconds to delay for welcome emails sending. This is needed to acommendate those
|
||||
# learners who created user account during course enrollment so we can send a different message
|
||||
# in our welcome email.
|
||||
welcome_email_send_delay = models.fields.IntegerField(
|
||||
default=600,
|
||||
help_text=_(
|
||||
"Number of seconds to delay the sending of User Welcome email after user has been created"
|
||||
)
|
||||
)
|
||||
|
||||
# The number of seconds to delay/timeout wait to get cookie values from sailthru.
|
||||
user_registration_cookie_timeout_delay = models.fields.FloatField(
|
||||
default=3.0,
|
||||
help_text=_(
|
||||
"The number of seconds to delay/timeout wait to get cookie values from sailthru."
|
||||
)
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return "Email marketing configuration: New user list %s, Welcome template: %s" % \
|
||||
(self.sailthru_new_user_list, self.sailthru_welcome_template)
|
||||
@@ -36,7 +36,7 @@ django-storages<1.9
|
||||
# The team that owns this package will manually bump this package rather than having it pulled in automatically.
|
||||
# This is to allow them to better control its deployment and to do it in a process that works better
|
||||
# for them.
|
||||
edx-enterprise==3.22.10
|
||||
edx-enterprise==3.22.11
|
||||
|
||||
# Newer versions need a more recent version of python-dateutil
|
||||
freezegun==0.3.12
|
||||
|
||||
@@ -101,7 +101,7 @@ edx-django-release-util==1.0.0 # via -r requirements/edx/base.in
|
||||
edx-django-sites-extensions==3.0.0 # via -r requirements/edx/base.in
|
||||
edx-django-utils==4.0.0 # via -r requirements/edx/base.in, django-config-models, edx-drf-extensions, edx-enterprise, edx-rest-api-client, edx-toggles, edx-when, ora2, super-csv
|
||||
edx-drf-extensions==6.5.0 # via -r requirements/edx/base.in, edx-completion, edx-enterprise, edx-organizations, edx-proctoring, edx-rbac, edx-when, edxval
|
||||
edx-enterprise==3.22.10 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in
|
||||
edx-enterprise==3.22.11 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in
|
||||
edx-event-routing-backends==4.0.1 # via -r requirements/edx/base.in
|
||||
edx-i18n-tools==0.5.3 # via ora2
|
||||
edx-milestones==0.3.1 # via -r requirements/edx/base.in
|
||||
|
||||
@@ -111,7 +111,7 @@ edx-django-release-util==1.0.0 # via -r requirements/edx/testing.txt
|
||||
edx-django-sites-extensions==3.0.0 # via -r requirements/edx/testing.txt
|
||||
edx-django-utils==4.0.0 # via -r requirements/edx/testing.txt, django-config-models, edx-drf-extensions, edx-enterprise, edx-rest-api-client, edx-toggles, edx-when, ora2, super-csv
|
||||
edx-drf-extensions==6.5.0 # via -r requirements/edx/testing.txt, edx-completion, edx-enterprise, edx-organizations, edx-proctoring, edx-rbac, edx-when, edxval
|
||||
edx-enterprise==3.22.10 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
|
||||
edx-enterprise==3.22.11 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
|
||||
edx-event-routing-backends==4.0.1 # via -r requirements/edx/testing.txt
|
||||
edx-i18n-tools==0.5.3 # via -r requirements/edx/testing.txt, ora2
|
||||
edx-lint==5.0.0 # via -r requirements/edx/testing.txt
|
||||
|
||||
@@ -108,7 +108,7 @@ edx-django-release-util==1.0.0 # via -r requirements/edx/base.txt
|
||||
edx-django-sites-extensions==3.0.0 # via -r requirements/edx/base.txt
|
||||
edx-django-utils==4.0.0 # via -r requirements/edx/base.txt, django-config-models, edx-drf-extensions, edx-enterprise, edx-rest-api-client, edx-toggles, edx-when, ora2, super-csv
|
||||
edx-drf-extensions==6.5.0 # via -r requirements/edx/base.txt, edx-completion, edx-enterprise, edx-organizations, edx-proctoring, edx-rbac, edx-when, edxval
|
||||
edx-enterprise==3.22.10 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt
|
||||
edx-enterprise==3.22.11 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt
|
||||
edx-event-routing-backends==4.0.1 # via -r requirements/edx/base.txt
|
||||
edx-i18n-tools==0.5.3 # via -r requirements/edx/base.txt, -r requirements/edx/testing.in, ora2
|
||||
edx-lint==5.0.0 # via -r requirements/edx/testing.in
|
||||
|
||||
Reference in New Issue
Block a user