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
16c1f57f
Commit
16c1f57f
authored
Mar 14, 2014
by
Joe Blaylock
Committed by
Stephen Sanchez
Mar 17, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TIM-231: Addressing feedback from @wedaly
* Improved error handling and reporting
parent
c51eb79c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
32 deletions
+52
-32
apps/openassessment/assessment/peer_api.py
+27
-13
apps/openassessment/xblock/grade_mixin.py
+25
-17
settings/dev.py
+0
-2
No files found.
apps/openassessment/assessment/peer_api.py
View file @
16c1f57f
...
...
@@ -934,18 +934,33 @@ def set_assessment_feedback(must_grade, feedback_dict):
Returns:
The modified or created feedback.
"""
feedback_model
=
AssessmentFeedback
.
objects
.
get
(
submission_uuid
=
feedback_dict
[
'submission_uuid'
]
)
submission
=
Submission
.
objects
.
get
(
uuid
=
feedback_dict
[
'submission_uuid'
])
feedback_dict
[
'assessments'
]
=
[
assessment
.
pk
for
assessment
in
Assessment
.
objects
.
filter
(
submission
=
submission
,
score_type
=
"PE"
)[:
must_grade
]
]
submission_uuid
=
feedback_dict
.
get
(
'submission_uuid'
,
''
)
if
not
submission_uuid
:
error_message
=
u"An error occurred creating assessment feedback: bad or missing submission_uuid."
logger
.
exception
(
error_message
)
raise
PeerAssessmentInternalError
(
error_message
)
try
:
feedback_model
=
AssessmentFeedback
.
objects
.
get_or_create
(
submission_uuid
=
submission_uuid
)
submission
=
Submission
.
objects
.
get
(
uuid
=
submission_uuid
)
assessments
=
Assessment
.
objects
.
filter
(
submission
=
submission
,
score_type
=
"PE"
)
except
DatabaseError
:
error_message
=
(
u"An error occurred getting database state to set assessment feedback for {}."
.
format
(
submission_uuid
)
)
logger
.
exception
(
error_message
)
raise
PeerAssessmentInternalError
(
error_message
)
feedback_dict
[
'assessments'
]
=
[
assessment
.
pk
for
assessment
in
assessments
[:
must_grade
]
]
feedback
=
AssessmentFeedbackSerializer
(
feedback_model
,
data
=
feedback_dict
)
if
not
feedback
.
is_valid
():
raise
PeerAssessmentRequestError
(
feedback
.
errors
)
feedback
.
save
()
return
feedback
.
data
\ No newline at end of file
try
:
feedback
.
save
()
except
DatabaseError
:
error_message
=
(
u"An error occurred saving assessment feedback for {}."
.
format
(
submission_uuid
)
)
logger
.
exception
(
error_message
)
raise
PeerAssessmentInternalError
(
error_message
)
return
feedback
.
data
apps/openassessment/xblock/grade_mixin.py
View file @
16c1f57f
...
...
@@ -17,11 +17,6 @@ class GradeMixin(object):
"""
def
__stackinfo
(
self
):
import
inspect
stack
=
inspect
.
stack
()
return
str
(
stack
[
0
][
1
])
+
':L'
+
str
(
stack
[
0
][
2
])
+
':'
+
str
(
stack
[
0
][
3
])
+
'()'
@XBlock.handler
def
render_grade
(
self
,
data
,
suffix
=
''
):
workflow
=
self
.
get_workflow_info
()
...
...
@@ -88,16 +83,29 @@ class GradeMixin(object):
'msg'
:
_
(
u"No feedback given, so none recorded"
)
}
peer_api
.
set_assessment_feedback
(
assessment_ui_model
.
get
(
'must_grade'
,
0
),
{
'submission_uuid'
:
self
.
submission_uuid
,
'feedback'
:
assessment_feedback
,
'helpfulness'
:
0
peer_assessment_error_message
=
''
try
:
peer_api
.
set_assessment_feedback
(
assessment_ui_model
.
get
(
'must_grade'
,
0
),
{
'submission_uuid'
:
self
.
submission_uuid
,
'feedback'
:
assessment_feedback
,
'helpfulness'
:
0
}
)
except
peer_api
.
PeerAssessmentInternalError
,
msg
:
peer_assessment_error_message
=
msg
except
peer_api
.
PeerAsessmentRequestError
,
msg
:
peer_assessment_error_message
=
msg
if
peer_assessment_error_message
:
return
{
'success'
:
False
,
'msg'
:
peer_assessment_error_message
,
}
else
:
# Success!
return
{
'success'
:
True
,
'msg'
:
_
(
u"Feedback saved!"
)
}
)
return
{
'success'
:
True
,
'msg'
:
_
(
u"Feedback saved!"
)
}
settings/dev.py
View file @
16c1f57f
...
...
@@ -16,5 +16,3 @@ MIDDLEWARE_CLASSES += (
)
INTERNAL_IPS
=
(
'127.0.0.1'
,)
LOGGING
[
'loggers'
][
'django.request'
][
'level'
]
=
'DEBUG'
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