diff --git a/lms/djangoapps/support/static/support/jsx/errors_list.jsx b/lms/djangoapps/support/static/support/jsx/errors_list.jsx
index ac8b06f900..cf54911a21 100644
--- a/lms/djangoapps/support/static/support/jsx/errors_list.jsx
+++ b/lms/djangoapps/support/static/support/jsx/errors_list.jsx
@@ -6,7 +6,9 @@ import PropTypes from 'prop-types';
class ShowErrors extends React.Component {
render() {
- window.scrollTo(0, 0);
+ if (this.props.errorList.length > 0) {
+ window.scrollTo(0, 0);
+ }
return this.props.errorList.length > 0 &&
diff --git a/lms/djangoapps/support/static/support/jsx/single_support_form.jsx b/lms/djangoapps/support/static/support/jsx/single_support_form.jsx
index 4cdebde817..8b073e942b 100644
--- a/lms/djangoapps/support/static/support/jsx/single_support_form.jsx
+++ b/lms/djangoapps/support/static/support/jsx/single_support_form.jsx
@@ -42,6 +42,7 @@ class RenderForm extends React.Component {
body: $('#message').val(),
uploads: $.map($('.uploaded-files button'), n => n.id),
},
+ tags: this.props.context.zendeskTags,
};
let course;
diff --git a/lms/djangoapps/support/views/contact_us.py b/lms/djangoapps/support/views/contact_us.py
index 08dfb00b25..3c9b297375 100644
--- a/lms/djangoapps/support/views/contact_us.py
+++ b/lms/djangoapps/support/views/contact_us.py
@@ -6,7 +6,8 @@ from django.views.generic import View
from edxmako.shortcuts import render_to_response
from student.models import CourseEnrollment
-from openedx.core.djangoapps.site_configuration import helpers
+from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
+from openedx.features.enterprise_support import api as enterprise_api
class ContactUsView(View):
@@ -16,12 +17,27 @@ class ContactUsView(View):
def get(self, request):
context = {
- 'platform_name': helpers.get_value('platform_name', settings.PLATFORM_NAME),
+ 'platform_name': configuration_helpers.get_value('platform_name', settings.PLATFORM_NAME),
'zendesk_api_host': settings.ZENDESK_URL,
'access_token': settings.ZENDESK_OAUTH_ACCESS_TOKEN,
'custom_fields': settings.ZENDESK_CUSTOM_FIELDS
}
+
+ # Tag all issues with LMS to distinguish channel in Zendesk; requested by student support team
+ zendesk_tags = ['LMS']
+
+ # Per edX support, we would like to be able to route feedback items by site via tagging
+ current_site_name = configuration_helpers.get_value("SITE_NAME")
+ if current_site_name:
+ current_site_name = current_site_name.replace(".", "_")
+ zendesk_tags.append("site_name_{site}".format(site=current_site_name))
+
if request.user.is_authenticated():
context['user_enrollments'] = CourseEnrollment.enrollments_for_user(request.user)
+ enterprise_learner_data = enterprise_api.get_enterprise_learner_data(site=request.site, user=request.user)
+ if enterprise_learner_data:
+ zendesk_tags.append('enterprise_learner')
+
+ context['zendesk_tags'] = zendesk_tags
return render_to_response("support/contact_us.html", context)
diff --git a/lms/templates/support/contact_us.html b/lms/templates/support/contact_us.html
index 97c1d6166e..9befcafe38 100644
--- a/lms/templates/support/contact_us.html
+++ b/lms/templates/support/contact_us.html
@@ -4,7 +4,7 @@
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
-from openedx.core.djangolib.js_utils import js_escaped_string
+from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
%>
<%inherit file="../main.html"/>
@@ -33,9 +33,10 @@ from openedx.core.djangolib.js_utils import js_escaped_string
'loginQuery': "/login${login_query() | n, js_escaped_string}",
'dashboardUrl': "${reverse('dashboard') | n, js_escaped_string}",
'homepageUrl': "${marketing_link('ROOT') | n, js_escaped_string}",
- 'zendeskApiHost': "${zendeskApiHost | n, js_escaped_string}",
+ 'zendeskApiHost': "${zendesk_api_host | n, js_escaped_string}",
'accessToken': "${access_token | n, js_escaped_string}",
- 'customFields': "${custom_fields | n, js_escaped_string}",
+ 'customFields': ${custom_fields | n, dump_js_escaped_json},
+ 'zendeskTags': ${zendesk_tags | n, dump_js_escaped_json},
}
% if user.is_authenticated():