Commit e44b501c by Stephen Sanchez

Merge pull request #61 from edx/sanchez/render_security

Sanchez/render security
parents 69f75296 839c54a8
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<span class="wrapper--copy"> <span class="wrapper--copy">
<span class="step__label">Evaluate Peers' Responses</span> <span class="step__label">Evaluate Peers' Responses</span>
<span class="step__deadline">due <span class="date">{{ formatted_due_datetime }}</span></span> <span class="step__deadline">due <span class="date">{{ formatted_due_datetime }}</span></span>
<span class="step__deadline">due <span class="date">{{ formatted_due_datetime }}</span></span>
</span> </span>
</h2> </h2>
...@@ -35,8 +36,8 @@ ...@@ -35,8 +36,8 @@
</span> </span>
</span> </span>
</span> </span>
{% endblock %}
</header> </header>
{% endblock %}
{% block body %} {% block body %}
<div class="step__instruction"> <div class="step__instruction">
......
{% extends "openassessmentblock/peer/oa_peer_assessment.html" %}
{% block list_item %}
<li id="openassessment__peer-assessment" class="openassessment__steps__step step--peer-assessment is--collapsed ui-toggle-visibility">
{% endblock %}
{% block body %}
{% endblock %}
...@@ -11,30 +11,33 @@ ...@@ -11,30 +11,33 @@
<!-- CASE: default/not started --> <!-- CASE: default/not started -->
<li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment">
<header class="step__header">
{% block list_item %} {% block list_item %}
<li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment is--expanded"> <li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment is--expanded">
{% endblock %} {% endblock %}
<header class="step__header ui-toggle-visibility__control"> <header class="step__header">
<h2 class="step__title"> <h2 class="step__title">
<span class="step__counter"></span> <span class="step__counter"></span>
<span class="wrapper--copy"> <span class="wrapper--copy">
<span class="step__label">Evaluate Your Response</span> <span class="step__title__label">Evaluate Your Response</span>
<span class="step__title__deadline">due <span class="date">January 31, 2014</span> at <span class="time">15:00 UTC</span></span>
<span class="step__title__label">Evaluate Your Response</span>
<span class="step__deadline">due <span class="date">{{ formatted_due_datetime }}</span></span> <span class="step__deadline">due <span class="date">{{ formatted_due_datetime }}</span></span>
</span> </span>
</h2> </h2>
{% block title %}
{% block title %}
<span class="step__status"> <span class="step__status">
<span class="step__status__label">This step's status:</span> <span class="step__status__label">This step's status:</span>
<span class="step__status__value"> <span class="step_status_value">Incomplete</span>
<span class="copy">{{ step_status }}</span> <span class="step__status__label">This step's status:</span>
</span> <span class="step_status_value">{{ step_status }}</span>
</span> </span>
{% endblock %}
</header> </header>
{% endblock %}
</header>
{% block body %} {% block body %}
<div class="step__content"> <div class="step--content">
<article class="self-assessment" id="self-assessment"> <article class="self-assessment" id="self-assessment">
<header class="self-assessment__header"> <header class="self-assessment__header">
<h3 class="self-assessment__title">Your Submitted Response</h3> <h3 class="self-assessment__title">Your Submitted Response</h3>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!-- CASE: not started and problem closed --> <!-- CASE: not started and problem closed -->
{% block list_item %} {% block list_item %}
<li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment ui-toggle-visibility"> <li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment ui-toggle-visibility">
{% endblock %} {% endblock %}
{% block title %} {% block title %}
...@@ -15,4 +15,4 @@ ...@@ -15,4 +15,4 @@
</span> </span>
{% endblock %} {% endblock %}
{% block body %}{% endblock %} {% block body %}{% endblock %}
\ No newline at end of file
...@@ -72,13 +72,14 @@ class PeerAssessmentMixin(object): ...@@ -72,13 +72,14 @@ class PeerAssessmentMixin(object):
"estimated_time": "20 minutes" # TODO: Need to configure this. "estimated_time": "20 minutes" # TODO: Need to configure this.
} }
path = 'openassessmentblock/peer/oa_peer_waiting.html' path = 'openassessmentblock/peer/oa_peer_waiting.html'
assessment = self.get_assessment_module('peer-assessment') assessment = self.get_assessment_module('peer-assessment')
if assessment: if assessment:
context_dict["must_grade"] = assessment["must_grade"] context_dict["must_grade"] = assessment["must_grade"]
student_item = self.get_student_item_dict() student_item = self.get_student_item_dict()
student_submission = self.get_user_submission(student_item)
finished, count = peer_api.has_finished_required_evaluating( finished, count = peer_api.has_finished_required_evaluating(
student_item, student_item,
...@@ -87,7 +88,7 @@ class PeerAssessmentMixin(object): ...@@ -87,7 +88,7 @@ class PeerAssessmentMixin(object):
context_dict["graded"] = count context_dict["graded"] = count
if finished: if finished:
path = "openassessmentblock/peer/oa_peer_complete.html" path = "openassessmentblock/peer/oa_peer_complete.html"
else: elif student_submission:
peer_sub = self.get_peer_submission(student_item, assessment) peer_sub = self.get_peer_submission(student_item, assessment)
if peer_sub: if peer_sub:
path = 'openassessmentblock/peer/oa_peer_assessment.html' path = 'openassessmentblock/peer/oa_peer_assessment.html'
...@@ -98,12 +99,10 @@ class PeerAssessmentMixin(object): ...@@ -98,12 +99,10 @@ class PeerAssessmentMixin(object):
else: else:
context_dict["submit_button_text"] = "Submit your assessment & move to response #{}".format(count + 1) context_dict["submit_button_text"] = "Submit your assessment & move to response #{}".format(count + 1)
problem_open, date = self.is_open() problem_open, date = self.is_open()
if not problem_open and date == "due" and not finished: if not problem_open and date == "due" and not finished:
path = 'openassessmentblock/peer/oa_peer_closed.html' path = 'openassessmentblock/peer/oa_peer_closed.html'
return self.render_assessment(path, context_dict) return self.render_assessment(path, context_dict)
def get_peer_submission(self, student_item_dict, assessment): def get_peer_submission(self, student_item_dict, assessment):
......
...@@ -16,5 +16,17 @@ class SelfAssessmentMixin(object): ...@@ -16,5 +16,17 @@ class SelfAssessmentMixin(object):
@XBlock.handler @XBlock.handler
def render_self_assessment(self, data, suffix=''): def render_self_assessment(self, data, suffix=''):
return self.render_assessment('openassessmentblock/self/oa_self_assessment.html') path = 'openassessmentblock/self/oa_self_closed.html'
context_dict = {}
student_item = self.get_student_item_dict()
student_submission = self.get_user_submission(student_item)
if student_submission:
path = 'openassessmentblock/self/oa_self_assessment.html'
context_dict = {
"rubric_instructions": self.rubric_instructions,
"rubric_criteria": self.rubric_criteria,
"estimated_time": "20 minutes", # TODO: Need to configure this.
"self_submission": student_submission,
"step_status": "Grading"
}
return self.render_assessment(path, context_dict)
...@@ -101,7 +101,7 @@ function OpenAssessmentBlock(runtime, element) { ...@@ -101,7 +101,7 @@ function OpenAssessmentBlock(runtime, element) {
url: renderPeerUrl, url: renderPeerUrl,
dataType: "html", dataType: "html",
success: function(data) { success: function(data) {
render_peer_assessment(data) render_peer_assessment(data);
} }
}); });
} }
...@@ -122,6 +122,22 @@ function OpenAssessmentBlock(runtime, element) { ...@@ -122,6 +122,22 @@ function OpenAssessmentBlock(runtime, element) {
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: renderPeerCollapseUrl,
success: function(data) {
$('#openassessment__peer-assessment', element).replaceWith(data);
}
});
$.ajax({
type: "POST",
url: renderSelfCollapseUrl,
success: function(data) {
$('#openassessment__self-assessment', element).replaceWith(data);
}
});
$.ajax({
type: "POST",
url: renderPeerUrl, url: renderPeerUrl,
success: function(data) { success: function(data) {
$(peerListItem, element).replaceWith(data); $(peerListItem, element).replaceWith(data);
......
...@@ -47,7 +47,7 @@ class SubmissionMixin(object): ...@@ -47,7 +47,7 @@ class SubmissionMixin(object):
status_text = None status_text = None
student_sub = data['submission'] student_sub = data['submission']
student_item_dict = self.get_student_item_dict() student_item_dict = self.get_student_item_dict()
prev_sub = self._get_user_submission(student_item_dict) prev_sub = self.get_user_submission(student_item_dict)
status_tag = 'ENOMULTI' # It is an error to submit multiple times for the same item status_tag = 'ENOMULTI' # It is an error to submit multiple times for the same item
if not prev_sub: if not prev_sub:
...@@ -87,7 +87,7 @@ class SubmissionMixin(object): ...@@ -87,7 +87,7 @@ class SubmissionMixin(object):
return scores[0] if scores else None return scores[0] if scores else None
@staticmethod @staticmethod
def _get_user_submission(student_item_dict): def get_user_submission(student_item_dict):
"""Return the most recent submission by user in student_item_dict """Return the most recent submission by user in student_item_dict
Given a student item, return the most recent submission. If no Given a student item, return the most recent submission. If no
...@@ -134,7 +134,7 @@ class SubmissionMixin(object): ...@@ -134,7 +134,7 @@ class SubmissionMixin(object):
# TODO Check if Saved # TODO Check if Saved
student_item = self.get_student_item_dict() student_item = self.get_student_item_dict()
# Has the student submitted? # Has the student submitted?
student_submission = self._get_user_submission(student_item) student_submission = self.get_user_submission(student_item)
# Has it been graded yet? # Has it been graded yet?
student_score = self._get_submission_score(student_item) student_score = self._get_submission_score(student_item)
step_status = "Graded" if student_score else "Submitted" step_status = "Graded" if student_score else "Submitted"
......
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