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
fcb215a6
Commit
fcb215a6
authored
Aug 07, 2013
by
Sef Kloninger
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #547 from edx/sef/peer-eval-xmodule-date-error-master
fix crash in peer eval xmodule
parents
8ae33416
02463398
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
18 deletions
+20
-18
common/lib/xmodule/xmodule/peer_grading_module.py
+9
-10
common/lib/xmodule/xmodule/timeinfo.py
+11
-8
No files found.
common/lib/xmodule/xmodule/peer_grading_module.py
View file @
fcb215a6
...
...
@@ -12,7 +12,7 @@ from xmodule.modulestore.django import modulestore
from
xmodule.modulestore.exceptions
import
ItemNotFoundError
from
.timeinfo
import
TimeInfo
from
xblock.core
import
Dict
,
String
,
Scope
,
Boolean
,
Integer
,
Float
from
xmodule.fields
import
Date
from
xmodule.fields
import
Date
,
Timedelta
from
xmodule.open_ended_grading_classes.peer_grading_service
import
PeerGradingService
,
GradingServiceError
,
MockPeerGradingService
from
open_ended_grading_classes
import
combined_open_ended_rubric
...
...
@@ -47,9 +47,8 @@ class PeerGradingFields(object):
help
=
"Due date that should be displayed."
,
default
=
None
,
scope
=
Scope
.
settings
)
grace
_period_string
=
String
(
grace
period
=
Timedelta
(
help
=
"Amount of grace to give on the due date."
,
default
=
None
,
scope
=
Scope
.
settings
)
student_data_for_location
=
Dict
(
...
...
@@ -105,12 +104,12 @@ class PeerGradingModule(PeerGradingFields, XModule):
log
.
error
(
"Linked location {0} for peer grading module {1} does not exist"
.
format
(
self
.
link_to_location
,
self
.
location
))
raise
due_date
=
self
.
linked_problem
.
_model_data
.
get
(
'due'
,
None
)
due_date
=
self
.
linked_problem
.
lms
.
due
if
due_date
:
self
.
_model_data
[
'due'
]
=
due_date
self
.
lms
.
due
=
due_date
try
:
self
.
timeinfo
=
TimeInfo
(
self
.
due
,
self
.
grace
_period_string
)
self
.
timeinfo
=
TimeInfo
(
self
.
due
,
self
.
grace
period
)
except
Exception
:
log
.
error
(
"Error parsing due date information in location {0}"
.
format
(
self
.
location
))
raise
...
...
@@ -533,10 +532,10 @@ class PeerGradingModule(PeerGradingFields, XModule):
problem_location
=
problem
[
'location'
]
descriptor
=
_find_corresponding_module_for_location
(
problem_location
)
if
descriptor
:
problem
[
'due'
]
=
descriptor
.
_model_data
.
get
(
'due'
,
None
)
grace_period
_string
=
descriptor
.
_model_data
.
get
(
'graceperiod'
,
None
)
problem
[
'due'
]
=
descriptor
.
lms
.
due
grace_period
=
descriptor
.
lms
.
graceperiod
try
:
problem_timeinfo
=
TimeInfo
(
problem
[
'due'
],
grace_period
_string
)
problem_timeinfo
=
TimeInfo
(
problem
[
'due'
],
grace_period
)
except
:
log
.
error
(
"Malformed due date or grace period string for location {0}"
.
format
(
problem_location
))
raise
...
...
@@ -629,5 +628,5 @@ class PeerGradingDescriptor(PeerGradingFields, RawDescriptor):
@property
def
non_editable_metadata_fields
(
self
):
non_editable_fields
=
super
(
PeerGradingDescriptor
,
self
)
.
non_editable_metadata_fields
non_editable_fields
.
extend
([
PeerGradingFields
.
due
,
PeerGradingFields
.
grace
_period_string
])
non_editable_fields
.
extend
([
PeerGradingFields
.
due
,
PeerGradingFields
.
grace
period
])
return
non_editable_fields
common/lib/xmodule/xmodule/timeinfo.py
View file @
fcb215a6
...
...
@@ -14,20 +14,23 @@ class TimeInfo(object):
"""
_delta_standin
=
Timedelta
()
def
__init__
(
self
,
due_date
,
grace_period_string
):
def
__init__
(
self
,
due_date
,
grace_period_string
_or_timedelta
):
if
due_date
is
not
None
:
self
.
display_due_date
=
due_date
else
:
self
.
display_due_date
=
None
if
grace_period_string
is
not
None
and
self
.
display_due_date
:
try
:
self
.
grace_period
=
TimeInfo
.
_delta_standin
.
from_json
(
grace_period_string
)
self
.
close_date
=
self
.
display_due_date
+
self
.
grace_period
except
:
log
.
error
(
"Error parsing the grace period {0}"
.
format
(
grace_period_string
))
raise
if
grace_period_string_or_timedelta
is
not
None
and
self
.
display_due_date
:
if
isinstance
(
grace_period_string_or_timedelta
,
basestring
):
try
:
self
.
grace_period
=
TimeInfo
.
_delta_standin
.
from_json
(
grace_period_string_or_timedelta
)
except
:
log
.
error
(
"Error parsing the grace period {0}"
.
format
(
grace_period_string_or_timedelta
))
raise
else
:
self
.
grace_period
=
grace_period_string_or_timedelta
self
.
close_date
=
self
.
display_due_date
+
self
.
grace_period
else
:
self
.
grace_period
=
None
self
.
close_date
=
self
.
display_due_date
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