Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
45d94c17
Commit
45d94c17
authored
Aug 08, 2013
by
Vik Paruchuri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add in next button, get rid of error with deleted peer grading module
parent
203b1176
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
53 additions
and
45 deletions
+53
-45
common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
+2
-2
common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
+40
-0
common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
+4
-9
common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
+0
-32
common/lib/xmodule/xmodule/peer_grading_module.py
+7
-2
No files found.
common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
View file @
45d94c17
...
...
@@ -297,8 +297,8 @@ class @CombinedOpenEnded
@
submit_button
.
unbind
(
'click'
)
@
submit_button
.
show
()
@
reset_button
.
hide
()
@
next_problem_button
.
hide
()
@
hide_file_upload
()
@
next_problem_button
.
hide
()
@
hint_area
.
attr
(
'disabled'
,
false
)
if
@
task_number
>
1
or
@
child_state
!=
'initial'
@
show_status_current
()
...
...
@@ -353,7 +353,7 @@ class @CombinedOpenEnded
if
@
child_type
==
"openended"
@
skip_button
.
hide
()
if
@
task_number
<
@
task_count
@
next_problem
()
@
next_problem
_button
.
show
()
else
if
@
task_number
==
1
and
@
task_count
==
1
@
show_combined_rubric_current
()
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
View file @
45d94c17
...
...
@@ -9,6 +9,7 @@ import self_assessment_module
import
open_ended_module
from
functools
import
partial
from
.combined_open_ended_rubric
import
CombinedOpenEndedRubric
,
GRADER_TYPE_IMAGE_DICT
,
HUMAN_GRADER_TYPE
,
LEGEND_LIST
from
peer_grading_service
import
PeerGradingService
,
MockPeerGradingService
log
=
logging
.
getLogger
(
"mitx.courseware"
)
...
...
@@ -116,6 +117,11 @@ class CombinedOpenEndedV1Module():
self
.
accept_file_upload
=
instance_state
.
get
(
'accept_file_upload'
,
ACCEPT_FILE_UPLOAD
)
in
TRUE_DICT
self
.
skip_basic_checks
=
instance_state
.
get
(
'skip_spelling_checks'
,
SKIP_BASIC_CHECKS
)
in
TRUE_DICT
if
system
.
open_ended_grading_interface
:
self
.
peer_gs
=
PeerGradingService
(
system
.
open_ended_grading_interface
,
system
)
else
:
self
.
peer_gs
=
MockPeerGradingService
()
due_date
=
instance_state
.
get
(
'due'
,
None
)
grace_period_string
=
instance_state
.
get
(
'graceperiod'
,
None
)
...
...
@@ -147,6 +153,8 @@ class CombinedOpenEndedV1Module():
self
.
location
=
location
self
.
setup_next_task
()
def
get_tag_name
(
self
,
xml
):
"""
Gets the tag name of a given xml block.
...
...
@@ -494,6 +502,34 @@ class CombinedOpenEndedV1Module():
pass
return
return_html
def
check_if_student_has_done_needed_grading
(
self
):
student_id
=
self
.
system
.
anonymous_student_id
success
=
False
allowed_to_submit
=
True
error_string
=
(
"You need to peer grade {0} more in order to make another submission. "
"You have graded {1}, and {2} are required. You have made {3} successful peer grading submissions."
)
try
:
response
=
self
.
peer_gs
.
get_data_for_location
(
self
.
location
,
student_id
)
count_graded
=
response
[
'count_graded'
]
count_required
=
response
[
'count_required'
]
student_sub_count
=
response
[
'student_sub_count'
]
success
=
True
except
:
# This is a dev_facing_error
log
.
error
(
"Could not contact external open ended graders for location {0} and student {1}"
.
format
(
self
.
location
,
student_id
))
# This is a student_facing_error
error_message
=
"Could not contact the graders. Please notify course staff."
return
success
,
allowed_to_submit
,
error_message
if
count_graded
>=
count_required
:
return
success
,
allowed_to_submit
,
""
else
:
allowed_to_submit
=
False
# This is a student_facing_error
error_message
=
error_string
.
format
(
count_required
-
count_graded
,
count_graded
,
count_required
,
student_sub_count
)
return
success
,
allowed_to_submit
,
error_message
def
get_rubric
(
self
,
_data
):
"""
Gets the results of a given grader via ajax.
...
...
@@ -501,6 +537,7 @@ class CombinedOpenEndedV1Module():
Output: Dictionary to be rendered via ajax that contains the result html.
"""
all_responses
=
[]
loop_up_to_task
=
self
.
current_task_number
+
1
contexts
=
[]
for
i
in
xrange
(
0
,
loop_up_to_task
):
...
...
@@ -546,6 +583,9 @@ class CombinedOpenEndedV1Module():
Output: Dictionary to be rendered via ajax that contains the result html.
"""
self
.
update_task_states
()
success
,
can_see_rubric
,
error
=
self
.
check_if_student_has_done_needed_grading
()
if
not
can_see_rubric
:
return
{
'html'
:
error
,
'success'
:
False
}
loop_up_to_task
=
self
.
current_task_number
+
1
all_responses
=
[]
for
i
in
xrange
(
0
,
loop_up_to_task
):
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
View file @
45d94c17
...
...
@@ -650,15 +650,10 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
# add new history element with answer and empty score and hint.
success
,
data
=
self
.
append_image_to_student_answer
(
data
)
if
success
:
success
,
allowed_to_submit
,
error_message
=
self
.
check_if_student_can_submit
()
if
allowed_to_submit
:
data
[
'student_answer'
]
=
OpenEndedModule
.
sanitize_html
(
data
[
'student_answer'
])
self
.
new_history_entry
(
data
[
'student_answer'
])
self
.
send_to_grader
(
data
[
'student_answer'
],
system
)
self
.
change_state
(
self
.
ASSESSING
)
else
:
# Error message already defined
success
=
False
data
[
'student_answer'
]
=
OpenEndedModule
.
sanitize_html
(
data
[
'student_answer'
])
self
.
new_history_entry
(
data
[
'student_answer'
])
self
.
send_to_grader
(
data
[
'student_answer'
],
system
)
self
.
change_state
(
self
.
ASSESSING
)
else
:
# This is a student_facing_error
error_message
=
"There was a problem saving the image in your submission. Please try a different image, or try pasting a link to an image into the answer box."
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
View file @
45d94c17
...
...
@@ -433,38 +433,6 @@ class OpenEndedChild(object):
return
success
,
string
def
check_if_student_can_submit
(
self
):
location
=
self
.
location_string
student_id
=
self
.
system
.
anonymous_student_id
success
=
False
allowed_to_submit
=
True
response
=
{}
# This is a student_facing_error
error_string
=
(
"You need to peer grade {0} more in order to make another submission. "
"You have graded {1}, and {2} are required. You have made {3} successful peer grading submissions."
)
try
:
response
=
self
.
peer_gs
.
get_data_for_location
(
self
.
location_string
,
student_id
)
count_graded
=
response
[
'count_graded'
]
count_required
=
response
[
'count_required'
]
student_sub_count
=
response
[
'student_sub_count'
]
success
=
True
except
:
# This is a dev_facing_error
log
.
error
(
"Could not contact external open ended graders for location {0} and student {1}"
.
format
(
self
.
location_string
,
student_id
))
# This is a student_facing_error
error_message
=
"Could not contact the graders. Please notify course staff."
return
success
,
allowed_to_submit
,
error_message
if
count_graded
>=
count_required
:
return
success
,
allowed_to_submit
,
""
else
:
allowed_to_submit
=
False
# This is a student_facing_error
error_message
=
error_string
.
format
(
count_required
-
count_graded
,
count_graded
,
count_required
,
student_sub_count
)
return
success
,
allowed_to_submit
,
error_message
def
get_eta
(
self
):
if
self
.
controller_qs
:
response
=
self
.
controller_qs
.
check_for_eta
(
self
.
location_string
)
...
...
common/lib/xmodule/xmodule/peer_grading_module.py
View file @
45d94c17
...
...
@@ -535,9 +535,13 @@ class PeerGradingModule(PeerGradingFields, XModule):
log
.
error
(
"Problem {0} does not exist in this course"
.
format
(
location
))
raise
good_problem_list
=
[]
for
problem
in
problem_list
:
problem_location
=
problem
[
'location'
]
descriptor
=
_find_corresponding_module_for_location
(
problem_location
)
try
:
descriptor
=
_find_corresponding_module_for_location
(
problem_location
)
except
:
continue
if
descriptor
:
problem
[
'due'
]
=
descriptor
.
_model_data
.
get
(
'due'
,
None
)
grace_period_string
=
descriptor
.
_model_data
.
get
(
'graceperiod'
,
None
)
...
...
@@ -554,13 +558,14 @@ class PeerGradingModule(PeerGradingFields, XModule):
# if we can't find the due date, assume that it doesn't have one
problem
[
'due'
]
=
None
problem
[
'closed'
]
=
False
good_problem_list
.
append
(
problem
)
ajax_url
=
self
.
ajax_url
html
=
self
.
system
.
render_template
(
'peer_grading/peer_grading.html'
,
{
'course_id'
:
self
.
system
.
course_id
,
'ajax_url'
:
ajax_url
,
'success'
:
success
,
'problem_list'
:
problem_list
,
'problem_list'
:
good_
problem_list
,
'error_text'
:
error_text
,
# Checked above
'staff_access'
:
False
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment