Commit d6957f3e by David Ormsbee

Merge pull request #1508 from…

Merge pull request #1508 from MITx/feature/ichuang/fix-save-button-messages-and-add-capa-survey-mode

Fix capa save button msgs & add simple capa survey mode
parents e1fcf4c3 fb705254
...@@ -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":
...@@ -630,11 +636,11 @@ class CapaModule(XModule): ...@@ -630,11 +636,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.
...@@ -642,13 +648,16 @@ class CapaModule(XModule): ...@@ -642,13 +648,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,9 +262,8 @@ class @Problem ...@@ -262,9 +262,8 @@ 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
refreshMath: (event, element) => refreshMath: (event, element) =>
......
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