diff --git a/common/djangoapps/student/models.py b/common/djangoapps/student/models.py
index 6d1cbb5afb..4a8de5f5ed 100644
--- a/common/djangoapps/student/models.py
+++ b/common/djangoapps/student/models.py
@@ -279,7 +279,8 @@ def replicate_enrollment_save(sender, **kwargs):
enrollment_obj = kwargs['instance']
log.debug("Replicating user because of new enrollment")
- replicate_user(enrollment_obj.user, enrollment_obj.course_id)
+ for course_db_name in db_names_to_replicate_to(enrollment_obj.user.id):
+ replicate_user(enrollment_obj.user, course_db_name)
log.debug("Replicating enrollment because of new enrollment")
replicate_model(CourseEnrollment.save, enrollment_obj, enrollment_obj.user_id)
diff --git a/common/lib/capa/capa/responsetypes.py b/common/lib/capa/capa/responsetypes.py
index d327b80c14..3a2e40f896 100644
--- a/common/lib/capa/capa/responsetypes.py
+++ b/common/lib/capa/capa/responsetypes.py
@@ -873,6 +873,7 @@ def sympy_check2():
msg = 'No answer entered!' if self.xml.get('empty_answer_err') else ''
return CorrectMap(idset[0], 'incorrect', msg=msg)
+ # NOTE: correct = 'unknown' could be dangerous. Inputtypes such as textline are not expecting 'unknown's
correct = ['unknown'] * len(idset)
messages = [''] * len(idset)
@@ -898,6 +899,7 @@ def sympy_check2():
if type(self.code) == str:
try:
exec self.code in self.context['global_context'], self.context
+ correct = self.context['correct']
except Exception as err:
print "oops in customresponse (code) error %s" % err
print "context = ", self.context
@@ -1271,7 +1273,7 @@ main()
def setup_response(self):
xml = self.xml
- self.url = xml.get('url') or "http://eecs1.mit.edu:8889/pyloncapa" # FIXME - hardcoded URL
+ self.url = xml.get('url') or "http://qisx.mit.edu:8889/pyloncapa" # FIXME - hardcoded URL
# answer = xml.xpath('//*[@id=$id]//answer',id=xml.get('id'))[0] # FIXME - catch errors
answer = xml.find('answer')
diff --git a/common/lib/capa/capa/templates/textinput.html b/common/lib/capa/capa/templates/textinput.html
index 7f2f563b81..08aa8379a7 100644
--- a/common/lib/capa/capa/templates/textinput.html
+++ b/common/lib/capa/capa/templates/textinput.html
@@ -38,5 +38,7 @@
% if msg:
${msg|n}
% endif
+% if state in ['unsubmitted', 'correct', 'incorrect', 'incomplete'] or hidden:
+% endif
diff --git a/lms/djangoapps/courseware/tests/tests.py b/lms/djangoapps/courseware/tests/tests.py
index 22a65267c9..da518f45b7 100644
--- a/lms/djangoapps/courseware/tests/tests.py
+++ b/lms/djangoapps/courseware/tests/tests.py
@@ -388,7 +388,11 @@ class TestViewAuth(PageLoader):
list of urls that students should be able to see only
after launch, but staff should see before
"""
- urls = reverse_urls(['info', 'book', 'courseware', 'profile'], course)
+ urls = reverse_urls(['info', 'courseware', 'profile'], course)
+ urls.extend([
+ reverse('book', kwargs={'course_id': course.id, 'book_index': book.title})
+ for book in course.textbooks
+ ])
return urls
def light_student_urls(course):
diff --git a/lms/templates/courseware.html b/lms/templates/courseware.html
index a14f35d154..92c6c9707c 100644
--- a/lms/templates/courseware.html
+++ b/lms/templates/courseware.html
@@ -8,6 +8,7 @@
%block>
<%block name="js_extra">
+
## codemirror