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
fbc2d492
Commit
fbc2d492
authored
Feb 21, 2014
by
David Ormsbee
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More work to hook actual choices up instead of just point values.
parent
0a2e5efe
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
19 additions
and
59 deletions
+19
-59
apps/openassessment/peer/admin.py
+2
-1
apps/openassessment/xblock/peer_assessment_mixin.py
+5
-5
apps/openassessment/xblock/static/html/oa_peer_assessment.html
+3
-3
apps/openassessment/xblock/static/js/src/oa_assessment.js
+0
-48
apps/openassessment/xblock/static/js/src/oa_base.js
+9
-2
No files found.
apps/openassessment/peer/admin.py
View file @
fbc2d492
from
django.contrib
import
admin
from
django.contrib
import
admin
from
openassessment.peer.models
import
Assessment
from
openassessment.peer.models
import
Assessment
,
AssessmentPart
admin
.
site
.
register
(
Assessment
)
admin
.
site
.
register
(
Assessment
)
admin
.
site
.
register
(
AssessmentPart
)
apps/openassessment/xblock/peer_assessment_mixin.py
View file @
fbc2d492
...
@@ -10,9 +10,8 @@ class PeerAssessmentMixin(AssessmentMixin):
...
@@ -10,9 +10,8 @@ class PeerAssessmentMixin(AssessmentMixin):
def
assess
(
self
,
data
,
suffix
=
''
):
def
assess
(
self
,
data
,
suffix
=
''
):
"""Place an assessment into OpenAssessment system
"""Place an assessment into OpenAssessment system
"""
"""
# with self.get_assessment_module('peer-assessment') as assessment:
assessment_ui_model
=
self
.
get_assessment_module
(
'peer-assessment'
)
assessment_ui_model
=
self
.
get_assessment_module
(
'peer-assessment'
)
rubric_dict
=
{
rubric_dict
=
{
'criteria'
:
self
.
rubric_criteria
'criteria'
:
self
.
rubric_criteria
}
}
...
@@ -20,22 +19,23 @@ class PeerAssessmentMixin(AssessmentMixin):
...
@@ -20,22 +19,23 @@ class PeerAssessmentMixin(AssessmentMixin):
"points_earned"
:
map
(
int
,
data
[
"points_earned"
]),
"points_earned"
:
map
(
int
,
data
[
"points_earned"
]),
"points_possible"
:
sum
(
c
[
'total_value'
]
for
c
in
self
.
rubric_criteria
),
"points_possible"
:
sum
(
c
[
'total_value'
]
for
c
in
self
.
rubric_criteria
),
"feedback"
:
"Not yet implemented."
,
"feedback"
:
"Not yet implemented."
,
"options_selected"
:
{},
# Placeholder
"options_selected"
:
data
[
"options_selected"
],
}
}
assessment
=
peer_api
.
create_assessment
(
assessment
=
peer_api
.
create_assessment
(
data
[
"submission_uuid"
],
data
[
"submission_uuid"
],
self
.
get_student_item_dict
()[
"student_id"
],
self
.
get_student_item_dict
()[
"student_id"
],
int
(
assessment_ui_model
.
must_grade
),
int
(
assessment_ui_model
.
must_grade
),
int
(
assessment_ui_model
.
must_be_graded_by
),
int
(
assessment_ui_model
.
must_be_graded_by
),
assessment_dict
assessment_dict
,
rubric_dict
,
rubric_dict
,
)
}
# Temp kludge until we fix JSON serialization for datetime
# Temp kludge until we fix JSON serialization for datetime
assessment
[
"scored_at"
]
=
str
(
assessment
[
"scored_at"
])
assessment
[
"scored_at"
]
=
str
(
assessment
[
"scored_at"
])
return
assessment_ui_model
,
"Success"
return
assessment_ui_model
,
"Success"
@XBlock.handler
@XBlock.handler
def
render_peer_assessment
(
self
,
data
,
suffix
=
''
):
def
render_peer_assessment
(
self
,
data
,
suffix
=
''
):
with
self
.
get_assessment_module
(
'peer-assessment'
)
as
assessment
:
with
self
.
get_assessment_module
(
'peer-assessment'
)
as
assessment
:
...
...
apps/openassessment/xblock/static/html/oa_peer_assessment.html
View file @
fbc2d492
...
@@ -69,10 +69,10 @@
...
@@ -69,10 +69,10 @@
<li
class=
"answer"
>
<li
class=
"answer"
>
<div
class=
"wrapper--input"
>
<div
class=
"wrapper--input"
>
<input
type=
"radio"
<input
type=
"radio"
name=
"
assessment__rubric__question--
{{ criterion.name }}"
name=
"{{ criterion.name }}"
id=
"assessment__rubric__question--{{ criterion.name }}
--01
"
id=
"assessment__rubric__question--{{ criterion.name }}"
class=
"answer__value"
class=
"answer__value"
value=
"
answer--001__option--01 - Very Well
"
/>
value=
"
{{ option.name }}
"
/>
({{option.points}})
({{option.points}})
<label
for=
"assessment__rubric__question--001__option--01"
<label
for=
"assessment__rubric__question--001__option--01"
class=
"answer__label"
class=
"answer__label"
...
...
apps/openassessment/xblock/static/js/src/oa_assessment.js
deleted
100644 → 0
View file @
0a2e5efe
/* START Javascript for OpenassessmentComposeXBlock. */
function
OpenAssessmentBlock
(
runtime
,
element
)
{
var
handlerUrl
=
runtime
.
handlerUrl
(
element
,
'assess'
);
var
success_msg
=
'<p class="success">Thanks for your feedback!</p>'
;
var
failure_msg
=
'<p class="failure">An error occurred with your feedback</p>'
;
var
click_msg
=
'<p class="clickhere">(click here to dismiss this message)</p>'
;
/* Sample Debug Console: http://localhost:8000/submissions/Joe_Bloggs/TestCourse/u_3 */
function
prepare_assessment_post
(
element
)
{
var
selector
=
$
(
"input[type=radio]:checked"
,
element
);
var
values
=
[];
for
(
i
=
0
;
i
<
selector
.
length
;
i
++
)
{
values
[
i
]
=
selector
[
i
].
value
;
}
return
{
"submission_uuid"
:
$
(
"div#peer_submission_uuid"
)[
0
].
innerText
,
"points_earned"
:
values
};
}
function
displayStatus
(
result
)
{
var
status
=
result
[
0
];
var
error_msg
=
result
[
1
];
if
(
status
)
{
$
(
'.openassessment_response_status_block'
,
element
).
html
(
success_msg
.
concat
(
click_msg
));
}
else
{
$
(
'.openassessment_response_status_block'
,
element
).
html
(
failure_msg
.
concat
(
error_msg
).
concat
(
click_msg
));
}
$
(
'.openassessment_response_status_block'
,
element
).
css
(
'display'
,
'block'
);
}
$
(
'.openassessment_response_status_block'
,
element
).
click
(
function
(
eventObject
)
{
$
(
'.openassessment_response_status_block'
,
element
).
css
(
'display'
,
'none'
);
});
$
(
'.openassessment_submit'
,
element
).
click
(
function
(
eventObject
)
{
$
.
ajax
({
type
:
"POST"
,
url
:
handlerUrl
,
/* data: JSON.stringify({"submission": $('.openassessment_submission', element).val()}), */
data
:
JSON
.
stringify
(
prepare_assessment_post
(
element
)),
success
:
displayStatus
});
});
$
(
function
(
$
)
{
/* Here's where you'd do things on page load. */
$
(
element
).
css
(
'background-color'
,
'LightBlue'
)
});
}
/* END Javascript for OpenassessmentComposeXBlock. */
apps/openassessment/xblock/static/js/src/oa_base.js
View file @
fbc2d492
...
@@ -45,17 +45,24 @@ function OpenAssessmentBlock(runtime, element) {
...
@@ -45,17 +45,24 @@ function OpenAssessmentBlock(runtime, element) {
function
prepare_assessment_post
(
element
)
{
function
prepare_assessment_post
(
element
)
{
var
selector
=
$
(
"input[type=radio]:checked"
,
element
);
var
selector
=
$
(
"input[type=radio]:checked"
,
element
);
var
criteriaChoices
=
{};
var
values
=
[];
var
values
=
[];
for
(
var
i
=
0
;
i
<
selector
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
selector
.
length
;
i
++
)
{
values
[
i
]
=
selector
[
i
].
value
;
values
[
i
]
=
selector
[
i
].
value
;
criteriaChoices
[
selector
[
i
].
name
]
=
selector
[
i
].
value
}
}
return
{
"submission_uuid"
:
$
(
"div#peer_submission_uuid"
)[
0
].
innerText
,
"points_earned"
:
values
};
return
{
"submission_uuid"
:
$
(
"div#peer_submission_uuid"
)[
0
].
innerText
,
"points_earned"
:
values
,
"options_selected"
:
criteriaChoices
};
}
}
$
(
'#peer-assessment--001__assessment__submit'
,
element
).
click
(
function
(
eventObject
)
{
$
(
'#peer-assessment--001__assessment__submit'
,
element
).
click
(
function
(
eventObject
)
{
eventObject
.
preventDefault
();
$
.
ajax
({
$
.
ajax
({
type
:
"POST"
,
type
:
"POST"
,
url
:
handlerUrl
,
url
:
runtime
.
handlerUrl
(
element
,
'assess'
)
,
/* data: JSON.stringify({"submission": $('.openassessment_submission', element).val()}), */
/* data: JSON.stringify({"submission": $('.openassessment_submission', element).val()}), */
data
:
JSON
.
stringify
(
prepare_assessment_post
(
element
)),
data
:
JSON
.
stringify
(
prepare_assessment_post
(
element
)),
success
:
function
(
data
)
{
success
:
function
(
data
)
{
...
...
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