Commit 9c4ff9ba by Jason Bau

Add setting on combinedopenended to allow peergrading of finished submissions

parent 57fb306c
......@@ -26,6 +26,7 @@ V1_SETTINGS_ATTRIBUTES = [
"max_to_calibrate",
"peer_grader_count",
"required_peer_grading",
"peer_grade_finished_submissions_when_none_pending",
]
V1_STUDENT_ATTRIBUTES = [
......@@ -303,6 +304,13 @@ class CombinedOpenEndedFields(object):
scope=Scope.settings,
values={"min": 1, "step": "1", "max": 5}
)
peer_grade_finished_submissions_when_none_pending = Boolean(
display_name="New Peer Graders can Receive 'Fully-Graded' Submissions",
help=("Allow students to peer grade submissions that already have the requisite number of graders, "
"but ONLY WHEN all submissions they are eligible to grade already have enough graders."),
default=False,
scope=Scope.settings,
)
markdown = String(
help="Markdown source of this module",
default=textwrap.dedent("""\
......
......@@ -127,6 +127,9 @@ class CombinedOpenEndedV1Module():
self.peer_grader_count = instance_state.get('peer_grader_count', 3)
self.min_to_calibrate = instance_state.get('min_to_calibrate', 3)
self.max_to_calibrate = instance_state.get('max_to_calibrate', 6)
self.peer_grade_finished_submissions_when_none_pending = instance_state.get(
'peer_grade_finished_submissions_when_none_pending', False
)
due_date = instance_state.get('due', None)
......@@ -158,6 +161,9 @@ class CombinedOpenEndedV1Module():
'peer_grader_count': self.peer_grader_count,
'min_to_calibrate': self.min_to_calibrate,
'max_to_calibrate': self.max_to_calibrate,
'peer_grade_finished_submissions_when_none_pending': (
self.peer_grade_finished_submissions_when_none_pending
),
}
}
......
......@@ -74,6 +74,7 @@ class OpenEndedChildTest(unittest.TestCase):
'peer_grader_count': 1,
'min_to_calibrate': 3,
'max_to_calibrate': 6,
'peer_grade_finished_submissions_when_none_pending': False,
}
}
definition = Mock()
......@@ -197,6 +198,7 @@ class OpenEndedModuleTest(unittest.TestCase):
'peer_grader_count': 1,
'min_to_calibrate': 3,
'max_to_calibrate': 6,
'peer_grade_finished_submissions_when_none_pending': False,
}
}
......
......@@ -55,6 +55,7 @@ class SelfAssessmentTest(unittest.TestCase):
'peer_grader_count': 1,
'min_to_calibrate': 3,
'max_to_calibrate': 6,
'peer_grade_finished_submissions_when_none_pending': False,
}
}
......
<%! from django.utils.translation import ugettext as _ %>
<%
nothing_to_grade_message = _(
"""
{p_tag}You currently do not having any peer grading to do. In order to have peer grading to do:
{ul_tag}
{li_tag}You need to have submitted a response to a peer grading problem.{end_li_tag}
{li_tag}The instructor needs to score the essays that are used to help you better understand the grading
criteria.{end_li_tag}
{li_tag}There must be submissions that are waiting for grading.{end_li_tag}
{end_ul_tag}
{end_p_tag}
""").format(p_tag="<p>", end_p_tag="</p>", ul_tag="<ul>", end_ul_tag="</ul>", li_tag="<li>", end_li_tag="</li>")
%>
<section class="container peer-grading-container">
<div class="peer-grading" data-ajax-url="${ajax_url}" data-use-single-location="${use_single_location}">
<div class="error-container">${error_text}</div>
......@@ -9,7 +22,7 @@
% if success:
% if len(problem_list) == 0:
<div class="message-container">
${_("You currently do not having any peer grading to do. In order to have peer grading to do, you need to have submitted a response to a peer grading problem. The instructor also needs to score the essays that are used to help you better understand the grading criteria.")}
${nothing_to_grade_message}
</div>
%else:
<div class="problem-list-container">
......
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