Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-ora2
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-ora2
Commits
e44b501c
Commit
e44b501c
authored
Feb 28, 2014
by
Stephen Sanchez
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #61 from edx/sanchez/render_security
Sanchez/render security
parents
69f75296
839c54a8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
57 additions
and
20 deletions
+57
-20
apps/openassessment/templates/openassessmentblock/peer/oa_peer_assessment.html
+2
-1
apps/openassessment/templates/openassessmentblock/peer/oa_peer_assessment_collapsed.html
+6
-0
apps/openassessment/templates/openassessmentblock/self/oa_self_assessment.html
+11
-8
apps/openassessment/templates/openassessmentblock/self/oa_self_closed.html
+1
-1
apps/openassessment/xblock/peer_assessment_mixin.py
+3
-4
apps/openassessment/xblock/self_assessment_mixin.py
+14
-2
apps/openassessment/xblock/static/js/src/oa_base.js
+17
-1
apps/openassessment/xblock/submission_mixin.py
+3
-3
No files found.
apps/openassessment/templates/openassessmentblock/peer/oa_peer_assessment.html
View file @
e44b501c
...
...
@@ -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"
>
...
...
apps/openassessment/templates/openassessmentblock/peer/oa_peer_assessment_collapsed.html
0 → 100644
View file @
e44b501c
{% 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 %}
apps/openassessment/templates/openassessmentblock/self/oa_self_assessment.html
View file @
e44b501c
...
...
@@ -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>
...
...
apps/openassessment/templates/openassessmentblock/self/oa_self_closed.html
View file @
e44b501c
...
...
@@ -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 %}
...
...
apps/openassessment/xblock/peer_assessment_mixin.py
View file @
e44b501c
...
...
@@ -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"
el
se
:
el
if
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
):
...
...
apps/openassessment/xblock/self_assessment_mixin.py
View file @
e44b501c
...
...
@@ -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
)
apps/openassessment/xblock/static/js/src/oa_base.js
View file @
e44b501c
...
...
@@ -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
);
...
...
apps/openassessment/xblock/submission_mixin.py
View file @
e44b501c
...
...
@@ -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"
...
...
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