diff --git a/cms/envs/common.py b/cms/envs/common.py
index a3e1e95034..ec64fa3c8f 100644
--- a/cms/envs/common.py
+++ b/cms/envs/common.py
@@ -502,6 +502,11 @@ REQUIRE_EXCLUDE = ("build.txt",)
# It can also be a path to a custom class that subclasses require.environments.Environment and defines some "args" function that returns a list with the command arguments to execute.
REQUIRE_ENVIRONMENT = "node"
+# If you want to enable Tender integration (http://tenderapp.com/),
+# put in the domain where Tender hosts tender_widget.js. For example,
+# TENDER_DOMAIN = "example.tenderapp.com"
+TENDER_DOMAIN = None
+
################################# CELERY ######################################
# Message configuration
diff --git a/cms/envs/test.py b/cms/envs/test.py
index 2d16ded81a..d88071ccd6 100644
--- a/cms/envs/test.py
+++ b/cms/envs/test.py
@@ -74,6 +74,8 @@ STATICFILES_STORAGE = 'pipeline.storage.NonPackagingPipelineStorage'
STATIC_URL = "/static/"
PIPELINE_ENABLED = False
+TENDER_DOMAIN = "help.edge.edx.org"
+
# Update module store settings per defaults for tests
update_module_store_settings(
MODULESTORE,
diff --git a/cms/static/coffee/spec/main.coffee b/cms/static/coffee/spec/main.coffee
index 3a7b2c046a..6054189275 100644
--- a/cms/static/coffee/spec/main.coffee
+++ b/cms/static/coffee/spec/main.coffee
@@ -49,7 +49,7 @@ requirejs.config({
"mathjax": "//cdn.mathjax.org/mathjax/2.2-latest/MathJax.js?config=TeX-MML-AM_HTMLorMML-full&delayStartupUntil=configured",
"youtube": "//www.youtube.com/player_api?noext",
- "tender": "//edxedge.tenderapp.com/tender_widget",
+ "tender": "//api.tenderapp.com/tender_widget",
"coffee/src/ajax_prefix": "xmodule_js/common_static/coffee/src/ajax_prefix",
"js/spec/test_utils": "js/spec/test_utils",
diff --git a/cms/static/coffee/spec/main_squire.coffee b/cms/static/coffee/spec/main_squire.coffee
index 24d855a75d..db206deab8 100644
--- a/cms/static/coffee/spec/main_squire.coffee
+++ b/cms/static/coffee/spec/main_squire.coffee
@@ -43,7 +43,7 @@ requirejs.config({
"mathjax": "//cdn.mathjax.org/mathjax/2.2-latest/MathJax.js?config=TeX-MML-AM_HTMLorMML-full&delayStartupUntil=configured",
"youtube": "//www.youtube.com/player_api?noext",
- "tender": "//edxedge.tenderapp.com/tender_widget.js"
+ "tender": "//api.tenderapp.com/tender_widget.js"
"coffee/src/ajax_prefix": "xmodule_js/common_static/coffee/src/ajax_prefix"
}
diff --git a/cms/static/require-config.js b/cms/static/require-config.js
index 0c5646d037..12b139fe93 100644
--- a/cms/static/require-config.js
+++ b/cms/static/require-config.js
@@ -67,7 +67,9 @@ require.config({
// externally hosted files
"tender": [
- "//edxedge.tenderapp.com/tender_widget",
+ // if TENDER_DOMAIN is defined, use that; otherwise, use a dummy value
+ // (the application JS will never `require(['tender'])` if it's not defined)
+ "//" + (typeof TENDER_DOMAIN === "string" ? TENDER_DOMAIN : "api.tenderapp.com") + "/tender_widget",
// if tender fails to load, fallback on a local file
// so that require doesn't fall over
"js/src/tender_fallback"
diff --git a/cms/templates/activation_invalid.html b/cms/templates/activation_invalid.html
index 585293e75b..b077d64bd7 100644
--- a/cms/templates/activation_invalid.html
+++ b/cms/templates/activation_invalid.html
@@ -26,9 +26,13 @@
${_("The Page You Requested Page Cannot be Found")}
${_("We're sorry. We couldn't find the {studio_name} page you're looking for. You may want to return to the {studio_name} Dashboard and try again. If you are still having problems accessing things, please feel free to {link_start}contact {studio_name} support{link_end} for further help.").format(
studio_name=settings.STUDIO_SHORT_NAME,
- link_start=''.format(title=_("Use our feedback tool, Tender, to share your feedback")),
- link_end='',
+ link_start=help_link_start,
+ link_end=help_link_end,
)}
% elif error == '500':
${_("The Server Encountered an Error")}
${_("We're sorry. There was a problem with the server while trying to process your last request. You may want to return to the {studio_name} Dashboard or try this request again. If you are still having problems accessing things, please feel free to {link_start}contact {studio_name} support{link_end} for further help.").format(
studio_name=settings.STUDIO_SHORT_NAME,
- link_start=''.format(title=_("Use our feedback tool, Tender, to share your feedback")),
- link_end='',
+ link_start=help_link_start,
+ link_end=help_link_end,
)}
${_("Your request to author courses in {studio_name} has been denied. Please {link_start}contact {platform_name} Staff with further questions{link_end}.").format(
studio_name=settings.STUDIO_NAME,
platform_name=settings.PLATFORM_NAME,
- link_start=''.format(
- url="http://help.edge.edx.org/discussion/new",
- ),
- link_end="",
+ link_start=help_link_start,
+ link_end=help_link_end,
)}
@@ -439,9 +453,13 @@
${_('Please check your Junk or Spam folders in case our email isn\'t in your INBOX. Still can\'t find the verification email? Request help via the link below.')}
${_("Enroll in edX101")}${_("How to use {studio_name} to build your course").format(studio_name=settings.STUDIO_NAME)}
@@ -40,6 +43,7 @@
+ % if settings.TENDER_DOMAIN:
${_("Request help with {studio_name}").format(studio_name=settings.STUDIO_NAME)}