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
d6940154
Commit
d6940154
authored
4 years ago
by
Matheus Miranda
Browse files
Options
Download
Plain Diff
Merge branch 'develop' into 'master'
Add support for i18n for slug and emails See merge request
!60
parents
d332f984
247c7fea
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
5 deletions
+17
-5
courses/classes/serializers.py
courses/classes/serializers.py
+1
-1
courses/models.py
courses/models.py
+4
-4
courses/views.py
courses/views.py
+12
-0
No files found.
courses/classes/serializers.py
View file @
d6940154
...
...
@@ -72,6 +72,6 @@ class ClassSerializer(WorkspaceBaseSerializerMixin, serializers.ModelSerializer)
return
updated_class
def
get_students_serializer
(
self
,
obj
):
serializer_context
=
{
'course_id'
:
obj
.
id
}
serializer_context
=
{
'course_id'
:
obj
.
course
.
id
}
serializer
=
ClassSimpleUserSerializer
(
obj
.
valid_students
,
many
=
True
,
read_only
=
True
,
context
=
serializer_context
)
return
serializer
.
data
This diff is collapsed.
Click to expand it.
courses/models.py
View file @
d6940154
...
...
@@ -798,24 +798,24 @@ class ProfessorMessage(models.Model):
except
EmailTemplate
.
DoesNotExist
:
et
=
EmailTemplate
(
name
=
"professor-message"
,
subject
=
"{{subject}}"
,
template
=
"{{message|safe}}"
)
if
settings
.
MULTILINGUAL_EMAIL_SEND
:
if
settings
.
I18N_SUPPORT
:
bcc_en
=
[
u
.
email
for
u
in
self
.
users
.
all
()
if
u
.
is_active
and
re
.
match
(
r
"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
,
u
.
email
)
and
u
.
preferred_language
==
'en'
]
bcc_es
=
[
u
.
email
for
u
in
self
.
users
.
all
()
if
u
.
is_active
and
re
.
match
(
r
"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
,
u
.
email
)
and
u
.
preferred_language
==
'es'
]
bcc_pt_br
=
[
u
.
email
for
u
in
self
.
users
.
all
()
if
u
.
is_active
and
re
.
match
(
r
"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
,
u
.
email
)
and
u
.
preferred_language
==
'pt-br'
]
subject_en
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
self
.
subject_en
}))
message_en
=
Template
(
et
.
template
).
render
(
Context
({
'message'
:
self
.
message_en
}))
if
subject_en
and
message_en
:
if
self
.
subject_en
and
self
.
message_en
:
self
.
send_emails
(
bcc_en
,
message_en
,
subject_en
,
email_batch_size
)
subject_es
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
self
.
subject_es
}))
message_es
=
Template
(
et
.
template
).
render
(
Context
({
'message'
:
self
.
message_es
}))
if
subject_es
and
message_es
:
if
self
.
subject_es
and
self
.
message_es
:
self
.
send_emails
(
bcc_es
,
message_es
,
subject_es
,
email_batch_size
)
subject_pt_br
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
self
.
subject_pt_br
}))
message_pt_br
=
Template
(
et
.
template
).
render
(
Context
({
'message'
:
self
.
message_pt_br
}))
if
subject_pt_br
and
message_pt_br
:
if
self
.
subject_pt_br
and
self
.
message_pt_br
:
self
.
send_emails
(
bcc_pt_br
,
message_pt_br
,
subject_pt_br
,
email_batch_size
)
else
:
bcc
=
[
u
.
email
for
u
in
self
.
users
.
all
()
if
u
.
is_active
and
re
.
match
(
r
"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
,
u
.
email
)]
...
...
This diff is collapsed.
Click to expand it.
courses/views.py
View file @
d6940154
...
...
@@ -86,6 +86,18 @@ class CourseViewSet(viewsets.ModelViewSet):
def
post
(
self
,
request
,
**
kwargs
):
course
=
self
.
get_object
()
from
django.conf
import
settings
if
settings
.
I18N_SUPPORT
:
update_slug
=
request
.
data
.
get
(
'slug'
,
''
)
if
not
course
.
slug_en
:
course
.
slug_en
=
update_slug
if
not
course
.
slug_es
:
course
.
slug_es
=
update_slug
if
not
course
.
slug_pt_br
:
course
.
slug_pt_br
=
update_slug
serializer
=
CourseSerializer
(
course
,
request
.
data
)
if
serializer
.
is_valid
():
...
...
This diff is collapsed.
Click to expand it.
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