Commit e44b501c by Stephen Sanchez

Merge pull request #61 from edx/sanchez/render_security

Sanchez/render security
parents 69f75296 839c54a8
......@@ -22,6 +22,7 @@
<span class="wrapper--copy">
<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>
</h2>
......@@ -35,8 +36,8 @@
</span>
</span>
</span>
{% endblock %}
</header>
{% endblock %}
{% block body %}
<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 @@
<!-- CASE: default/not started -->
<li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment">
<header class="step__header">
{% block list_item %}
<li id="openassessment__self-assessment" class="openassessment__steps__step step--self-assessment is--expanded">
{% endblock %}
<header class="step__header ui-toggle-visibility__control">
<header class="step__header">
<h2 class="step__title">
<span class="step__counter"></span>
<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>
</h2>
{% block title %}
<span class="step__status">
<span class="step__status__label">This step's status:</span>
<span class="step__status__value">
<span class="copy">{{ step_status }}</span>
</span>
<span class="step_status_value">Incomplete</span>
<span class="step__status__label">This step's status:</span>
<span class="step_status_value">{{ step_status }}</span>
</span>
</header>
{% endblock %}
</header>
{% block body %}
<div class="step__content">
<div class="step--content">
<article class="self-assessment" id="self-assessment">
<header class="self-assessment__header">
<h3 class="self-assessment__title">Your Submitted Response</h3>
......
......@@ -2,7 +2,7 @@
<!-- CASE: not started and problem closed -->
{% 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 %}
{% block title %}
......
......@@ -72,13 +72,14 @@ class PeerAssessmentMixin(object):
"estimated_time": "20 minutes" # TODO: Need to configure this.
}
path = 'openassessmentblock/peer/oa_peer_waiting.html'
assessment = self.get_assessment_module('peer-assessment')
if assessment:
context_dict["must_grade"] = assessment["must_grade"]
student_item = self.get_student_item_dict()
student_submission = self.get_user_submission(student_item)
finished, count = peer_api.has_finished_required_evaluating(
student_item,
......@@ -87,7 +88,7 @@ class PeerAssessmentMixin(object):
context_dict["graded"] = count
if finished:
path = "openassessmentblock/peer/oa_peer_complete.html"
else:
elif student_submission:
peer_sub = self.get_peer_submission(student_item, assessment)
if peer_sub:
path = 'openassessmentblock/peer/oa_peer_assessment.html'
......@@ -98,12 +99,10 @@ class PeerAssessmentMixin(object):
else:
context_dict["submit_button_text"] = "Submit your assessment & move to response #{}".format(count + 1)
problem_open, date = self.is_open()
if not problem_open and date == "due" and not finished:
path = 'openassessmentblock/peer/oa_peer_closed.html'
return self.render_assessment(path, context_dict)
def get_peer_submission(self, student_item_dict, assessment):
......
......@@ -16,5 +16,17 @@ class SelfAssessmentMixin(object):
@XBlock.handler
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) {
url: renderPeerUrl,
dataType: "html",
success: function(data) {
render_peer_assessment(data)
render_peer_assessment(data);
}
});
}
......@@ -122,6 +122,22 @@ function OpenAssessmentBlock(runtime, element) {
$.ajax({
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,
success: function(data) {
$(peerListItem, element).replaceWith(data);
......
......@@ -47,7 +47,7 @@ class SubmissionMixin(object):
status_text = None
student_sub = data['submission']
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
if not prev_sub:
......@@ -87,7 +87,7 @@ class SubmissionMixin(object):
return scores[0] if scores else None
@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
Given a student item, return the most recent submission. If no
......@@ -134,7 +134,7 @@ class SubmissionMixin(object):
# TODO Check if Saved
student_item = self.get_student_item_dict()
# 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?
student_score = self._get_submission_score(student_item)
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