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
becffd4d
Commit
becffd4d
authored
Jan 03, 2013
by
Diana Huang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated html and javascript for new pages as well
as a fix for the peer grading service
parent
c0001597
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
135 additions
and
18 deletions
+135
-18
lms/djangoapps/open_ended_grading/peer_grading_service.py
+1
-0
lms/static/coffee/src/peer_grading/peer_grading_problem.coffee
+129
-17
lms/templates/peer_grading/peer_grading_problem.html
+5
-1
No files found.
lms/djangoapps/open_ended_grading/peer_grading_service.py
View file @
becffd4d
...
...
@@ -65,6 +65,7 @@ class PeerGradingService(GradingService):
return
response
_service
=
None
def
peer_grading_service
():
"""
Return a peer grading service instance--if settings.MOCK_PEER_GRADING is True,
...
...
lms/static/coffee/src/peer_grading/peer_grading_problem.coffee
View file @
becffd4d
...
...
@@ -18,14 +18,27 @@ class PeerGradingProblemBackend
success
:
true
calibrated
:
false
else
if
cmd
==
'show_calibration_essay'
#response =
# success: false
# error: "There was an error"
response
=
success
:
true
submission_id
:
1
submission_key
:
'abcd'
student_response
:
'I am a fake response'
student_response
:
'I am a fake
calibration
response'
prompt
:
'Answer this question'
rubric
:
'This is a rubric.'
max_score
:
4
else
if
cmd
==
'get_next_submission'
response
=
success
:
true
submission_id
:
1
submission_key
:
'abcd'
student_response
:
'I am a fake student response'
prompt
:
'Answer this question'
rubric
:
'This is a rubric.'
max_score
:
4
return
response
...
...
@@ -48,35 +61,51 @@ class PeerGradingProblem
@
submission_container
=
$
(
'.submission-container'
)
@
prompt_container
=
$
(
'.prompt-container'
)
@
rubric_container
=
$
(
'.rubric-container'
)
@
instructions_panel
=
$
(
'.instructions-panel'
)
@
content_panel
=
$
(
'.content-panel'
)
@
error_container
=
$
(
'.error-container'
)
@
submission_key_input
=
$
(
"input[name='submission-key']"
)
@
essay_id_input
=
$
(
"input[name='essay-id']"
)
@
score_selection_container
=
$
(
'.score-selection-container'
)
@
score
=
null
@
submit_button
=
$
(
'.submit-button'
)
@
action_button
=
$
(
'.action-button'
)
@
action_button
.
click
->
document
.
location
.
reload
(
true
)
@
is_calibrated_check
()
##########
#
# Ajax calls to the backend
#
##########
is_calibrated_check
:
()
=>
@
backend
.
post
(
'is_student_calibrated'
,
{},
@
calibration_check_callback
)
@
backend
.
post
(
'is_student_calibrated'
,
{
location
:
@
location
},
@
calibration_check_callback
)
fetch_calibration_essay
:
()
=>
fetch_calibration_essay
:
()
=>
@
backend
.
post
(
'show_calibration_essay'
,
{
location
:
@
location
},
@
render_calibration
)
render_calibration
:
(
response
)
=>
if
response
.
success
#TODO: fill this in
@
submission_container
.
html
(
"<h3>Calibration Essay</h3>"
)
@
submission_container
.
append
(
response
.
student_response
)
@
prompt_container
.
html
(
response
.
prompt
)
@
rubric_container
.
html
(
response
.
rubric
)
fetch_submission_essay
:
()
=>
@
backend
.
post
(
'get_next_submission'
,
{
location
:
@
location
},
@
render_submission
)
else
@
error_container
.
show
()
@
error_container
.
html
(
response
.
error
)
submit_calibration_essay
:
()
->
#TODO: onclick of the submit button. submits the calibration essay grade
render_submission
:
(
response
)
->
#TODO: fill this in
submit_grade
:
()
->
#TODO: onclick of the submit button. submits the grade
##########
#
# Callbacks for various events
#
##########
calibration_check_callback
:
(
response
)
=>
if
response
.
success
# check whether or not we're still calibrating
...
...
@@ -86,6 +115,89 @@ class PeerGradingProblem
else
@
fetch_calibration_essay
()
@
calibration
=
true
else
if
response
.
error
@
render_error
(
response
.
error
)
else
@
render_error
(
"Error contacting the grading service"
)
submission_callback
:
(
response
)
=>
if
response
.
success
@
is_calibrated_check
()
else
if
response
.
error
@
render_error
(
response
.
error
)
else
@
render_error
(
"Error occurred while submitting grade"
)
graded_callback
:
(
event
)
=>
@
score
=
event
.
target
.
value
@
show_submit_button
()
##########
#
# Rendering methods and helpers
#
##########
render_calibration
:
(
response
)
=>
if
response
.
success
# load in all the data
@
submission_container
.
html
(
"<h3>Calibration Essay</h3>"
)
@
render_submission_data
(
response
)
# TODO: indicate that we're in calibration mode
else
if
response
.
error
@
render_error
(
response
.
error
)
else
@
render_error
(
"An error occurred while contacting the grading server"
)
render_submission_data
:
(
response
)
=>
@
content_panel
.
show
()
@
submission_container
.
append
(
response
.
student_response
)
@
prompt_container
.
html
(
response
.
prompt
)
@
rubric_container
.
html
(
response
.
rubric
)
@
submission_key_input
.
val
(
response
.
submission_key
)
@
essay_id_input
.
val
(
response
.
submission_id
)
@
setup_score_selection
(
response
.
max_score
)
@
submit_button
.
hide
()
@
action_button
.
hide
()
render_submission
:
(
response
)
=>
#TODO: fill this in
@
submit_button
.
hide
()
@
render_submission_data
(
response
)
render_error
:
(
error_message
)
=>
@
error_container
.
show
()
@
error_container
.
html
(
error_message
)
@
content_panel
.
hide
()
show_submit_button
:
()
=>
@
submit_button
.
show
()
setup_score_selection
:
(
max_score
)
=>
# first, get rid of all the old inputs, if any.
@
score_selection_container
.
html
(
'Choose score: '
)
# Now create new labels and inputs for each possible score.
for
score
in
[
0
..
max_score
]
id
=
'score-'
+
score
label
=
"""<label for="
#{
id
}
">
#{
score
}
</label>"""
input
=
"""
<input type="radio" name="score-selection" id="
#{
id
}
" value="
#{
score
}
"/>
"""
# " fix broken parsing in emacs
@
score_selection_container
.
append
(
input
+
label
)
# And now hook up an event handler again
$
(
"input[name='score-selection']"
).
change
@
graded_callback
...
...
lms/templates/peer_grading/peer_grading_problem.html
View file @
becffd4d
...
...
@@ -21,6 +21,7 @@
<div
class=
"error-container"
></div>
<div
class=
"message-container"
></div>
<section
class=
"content-panel"
>
<div
class=
"instructions-panel"
>
<div
class=
"calibration-panel"
>
<h3>
Calibration
</h3>
...
...
@@ -68,7 +69,10 @@
<input
type=
"button"
value=
"Submit"
class=
"submit-button"
name=
"show"
/>
</div>
</div>
</div>
</section>
</section>
<input
type=
"button"
value=
"Reload page"
class=
"action-button"
name=
"reload"
/>
</div>
</section>
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