Commit 8587044e by ichuang

fix capa save button msgs, add simple capa survey mode

parent 3e23b9e1
...@@ -333,6 +333,12 @@ class CapaModule(XModule): ...@@ -333,6 +333,12 @@ class CapaModule(XModule):
reset_button = False reset_button = False
save_button = False save_button = False
# If attempts=0 then show just check and reset buttons; this is for survey questions using capa
if self.max_attempts==0:
check_button = False
reset_button = True
save_button = True
# User submitted a problem, and hasn't reset. We don't want # User submitted a problem, and hasn't reset. We don't want
# more submissions. # more submissions.
if self.lcp.done and self.rerandomize == "always": if self.lcp.done and self.rerandomize == "always":
...@@ -622,11 +628,11 @@ class CapaModule(XModule): ...@@ -622,11 +628,11 @@ class CapaModule(XModule):
event_info['answers'] = answers event_info['answers'] = answers
# Too late. Cannot submit # Too late. Cannot submit
if self.closed(): if self.closed() and not self.max_attempts==0:
event_info['failure'] = 'closed' event_info['failure'] = 'closed'
self.system.track_function('save_problem_fail', event_info) self.system.track_function('save_problem_fail', event_info)
return {'success': False, return {'success': False,
'error': "Problem is closed"} 'msg': "Problem is closed"}
# Problem submitted. Student should reset before saving # Problem submitted. Student should reset before saving
# again. # again.
...@@ -634,13 +640,16 @@ class CapaModule(XModule): ...@@ -634,13 +640,16 @@ class CapaModule(XModule):
event_info['failure'] = 'done' event_info['failure'] = 'done'
self.system.track_function('save_problem_fail', event_info) self.system.track_function('save_problem_fail', event_info)
return {'success': False, return {'success': False,
'error': "Problem needs to be reset prior to save."} 'msg': "Problem needs to be reset prior to save."}
self.lcp.student_answers = answers self.lcp.student_answers = answers
# TODO: should this be save_problem_fail? Looks like success to me... self.system.track_function('save_problem_success', event_info)
self.system.track_function('save_problem_fail', event_info) msg = "Your answers have been saved"
return {'success': True} if not self.max_attempts==0:
msg += " but not graded. Hit 'Check' to grade them."
return {'success': True,
'msg': msg}
def reset_problem(self, get): def reset_problem(self, get):
''' Changes problem state to unfinished -- removes student answers, ''' Changes problem state to unfinished -- removes student answers,
......
...@@ -262,8 +262,7 @@ class @Problem ...@@ -262,8 +262,7 @@ class @Problem
save: => save: =>
Logger.log 'problem_save', @answers Logger.log 'problem_save', @answers
$.postWithPrefix "#{@url}/problem_save", @answers, (response) => $.postWithPrefix "#{@url}/problem_save", @answers, (response) =>
if response.success saveMessage = response.msg
saveMessage = "Your answers have been saved but not graded. Hit 'Check' to grade them."
@gentle_alert saveMessage @gentle_alert saveMessage
@updateProgress response @updateProgress response
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment