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
d9f6f90c
Commit
d9f6f90c
authored
Dec 17, 2015
by
Bill DeRusha
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #11010 from edx/bderusha/auto-deadlines
Fix auto set deadlines on publish
parents
a5437699
1846353a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
11 deletions
+22
-11
common/djangoapps/course_modes/models.py
+3
-1
common/djangoapps/course_modes/tests/test_models.py
+9
-0
lms/djangoapps/verify_student/signals.py
+7
-7
lms/djangoapps/verify_student/tests/test_signals.py
+3
-3
No files found.
common/djangoapps/course_modes/models.py
View file @
d9f6f90c
...
@@ -159,7 +159,9 @@ class CourseMode(models.Model):
...
@@ -159,7 +159,9 @@ class CourseMode(models.Model):
@expiration_datetime.setter
@expiration_datetime.setter
def
expiration_datetime
(
self
,
new_datetime
):
def
expiration_datetime
(
self
,
new_datetime
):
""" Saves datetime to _expiration_datetime and sets the explicit flag. """
""" Saves datetime to _expiration_datetime and sets the explicit flag. """
self
.
expiration_datetime_is_explicit
=
True
# Only set explicit flag if we are setting an actual date.
if
new_datetime
is
not
None
:
self
.
expiration_datetime_is_explicit
=
True
self
.
_expiration_datetime
=
new_datetime
self
.
_expiration_datetime
=
new_datetime
@classmethod
@classmethod
...
...
common/djangoapps/course_modes/tests/test_models.py
View file @
d9f6f90c
...
@@ -421,3 +421,12 @@ class CourseModeModelTest(TestCase):
...
@@ -421,3 +421,12 @@ class CourseModeModelTest(TestCase):
self
.
assertFalse
(
verified_mode
.
expiration_datetime_is_explicit
)
self
.
assertFalse
(
verified_mode
.
expiration_datetime_is_explicit
)
self
.
assertEqual
(
verified_mode
.
expiration_datetime
,
now
)
self
.
assertEqual
(
verified_mode
.
expiration_datetime
,
now
)
def
test_expiration_datetime_explicitly_set_to_none
(
self
):
""" Verify that setting the _expiration_date property does not set the explicit flag. """
verified_mode
,
__
=
self
.
create_mode
(
'verified'
,
'Verified Certificate'
)
self
.
assertFalse
(
verified_mode
.
expiration_datetime_is_explicit
)
verified_mode
.
expiration_datetime
=
None
self
.
assertFalse
(
verified_mode
.
expiration_datetime_is_explicit
)
self
.
assertIsNone
(
verified_mode
.
expiration_datetime
)
lms/djangoapps/verify_student/signals.py
View file @
d9f6f90c
...
@@ -14,11 +14,11 @@ def _listen_for_course_publish(sender, course_key, **kwargs): # pylint: disable
...
@@ -14,11 +14,11 @@ def _listen_for_course_publish(sender, course_key, **kwargs): # pylint: disable
Catches the signal that a course has been published in Studio and
Catches the signal that a course has been published in Studio and
sets the verification deadline date to a default.
sets the verification deadline date to a default.
"""
"""
try
:
course
=
modulestore
()
.
get_course
(
course_key
)
deadline
=
VerificationDeadline
.
objects
.
get
(
course_key
=
course_key
)
if
course
:
if
deadline
and
not
deadline
.
deadline_is_explicit
:
try
:
course
=
modulestore
()
.
get_course
(
course_key
)
deadline
=
VerificationDeadline
.
objects
.
get
(
course_key
=
course_key
)
if
course
and
deadline
.
deadline
!=
course
.
end
:
if
not
deadline
.
deadline_is_explicit
and
deadline
.
deadline
!=
course
.
end
:
VerificationDeadline
.
set_deadline
(
course_key
,
course
.
end
)
VerificationDeadline
.
set_deadline
(
course_key
,
course
.
end
)
except
ObjectDoesNotExist
:
except
ObjectDoesNotExist
:
pass
VerificationDeadline
.
set_deadline
(
course_key
,
course
.
end
)
lms/djangoapps/verify_student/tests/test_signals.py
View file @
d9f6f90c
...
@@ -24,13 +24,13 @@ class VerificationDeadlineSignalTest(ModuleStoreTestCase):
...
@@ -24,13 +24,13 @@ class VerificationDeadlineSignalTest(ModuleStoreTestCase):
VerificationDeadline
.
objects
.
all
()
.
delete
()
VerificationDeadline
.
objects
.
all
()
.
delete
()
def
test_no_deadline
(
self
):
def
test_no_deadline
(
self
):
""" Verify the signal
does not raise error when no deadlines found.
"""
""" Verify the signal
sets deadline to course end when no deadline exists.
"""
_listen_for_course_publish
(
'store'
,
self
.
course
.
id
)
_listen_for_course_publish
(
'store'
,
self
.
course
.
id
)
self
.
assert
IsNone
(
_listen_for_course_publish
(
'store'
,
self
.
course
.
id
)
)
self
.
assert
Equal
(
VerificationDeadline
.
deadline_for_course
(
self
.
course
.
id
),
self
.
course
.
end
)
def
test_deadline
(
self
):
def
test_deadline
(
self
):
""" Verify deadline is set to course end date by signal. """
""" Verify deadline is set to course end date by signal
when changed
. """
deadline
=
datetime
.
now
(
tz
=
UTC
)
-
timedelta
(
days
=
7
)
deadline
=
datetime
.
now
(
tz
=
UTC
)
-
timedelta
(
days
=
7
)
VerificationDeadline
.
set_deadline
(
self
.
course
.
id
,
deadline
)
VerificationDeadline
.
set_deadline
(
self
.
course
.
id
,
deadline
)
...
...
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