Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
MOOC packages by hacklab
django-courses
Commits
fae69d2e
Commit
fae69d2e
authored
Dec 14, 2021
by
Matheus Miranda
Browse files
Add release_date timezone to lesson
parent
7159c6ea
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
1 deletion
+27
-1
courses/migrations/0038_lesson_release_date_timezone.py
courses/migrations/0038_lesson_release_date_timezone.py
+18
-0
courses/models.py
courses/models.py
+3
-0
courses/signals.py
courses/signals.py
+5
-0
courses/views.py
courses/views.py
+1
-1
No files found.
courses/migrations/0038_lesson_release_date_timezone.py
0 → 100644
View file @
fae69d2e
This diff is collapsed.
Click to expand it.
courses/models.py
View file @
fae69d2e
...
...
@@ -27,6 +27,7 @@ from .classroom.models import Classroom, Event
from
.scheduling.models
import
ScheduledTask
import
re
import
pytz
class
CourseCategory
(
models
.
Model
):
...
...
@@ -903,6 +904,7 @@ class Lesson(PositionedModel):
(
'draft'
,
_
(
'Draft'
)),
(
'published'
,
_
(
'Published'
)),
)
TIMEZONE_CHOICES
=
zip
(
pytz
.
all_timezones
,
pytz
.
all_timezones
)
course
=
models
.
ForeignKey
(
Course
,
...
...
@@ -950,6 +952,7 @@ class Lesson(PositionedModel):
blank
=
True
,
default
=
None
,
)
release_date_timezone
=
models
.
CharField
(
max_length
=
255
,
default
=
'UTC'
,
blank
=
True
,
choices
=
TIMEZONE_CHOICES
)
scheduled_task
=
GenericRelation
(
ScheduledTask
,
related_query_name
=
'lesson'
)
collection_name
=
'course'
...
...
courses/signals.py
View file @
fae69d2e
...
...
@@ -38,6 +38,11 @@ def pre_lesson_created_or_updated(sender, instance: Lesson, **kwargs):
previous_lesson
=
Lesson
.
objects
.
get
(
id
=
instance
.
id
)
previous_release_date
=
previous_lesson
.
release_date
if
instance
.
release_date
and
instance
.
release_date_timezone
:
import
pytz
tz
=
pytz
.
timezone
(
instance
.
release_date_timezone
)
instance
.
release_date
=
instance
.
release_date
.
replace
(
tzinfo
=
tz
)
new_release_date
=
instance
.
release_date
if
new_release_date
:
...
...
courses/views.py
View file @
fae69d2e
...
...
@@ -343,6 +343,6 @@ class TimezonesView(views.APIView):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
import
pytz
import
json
timezones
=
json
.
dumps
({
"timezones"
:
pytz
.
common
_timezones
})
timezones
=
json
.
dumps
({
"timezones"
:
pytz
.
all
_timezones
})
return
HttpResponse
(
timezones
,
content_type
=
"application/json"
)
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