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
e002f970
Commit
e002f970
authored
Jul 01, 2021
by
Matheus Miranda
Browse files
Merge branch 'develop' into 'master'
Change language priority See merge request
!65
parents
723afc54
28c20c5b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
10 deletions
+38
-10
courses/certification/views.py
courses/certification/views.py
+10
-1
courses/migrations/0028_auto_20210629_1048.py
courses/migrations/0028_auto_20210629_1048.py
+19
-0
courses/models.py
courses/models.py
+7
-7
courses/serializers.py
courses/serializers.py
+1
-1
courses/views.py
courses/views.py
+1
-1
No files found.
courses/certification/views.py
View file @
e002f970
...
...
@@ -101,6 +101,15 @@ class CourseCertificationViewSet(viewsets.ModelViewSet):
if
not
self
.
request
.
GET
.
get
(
'user'
,
False
):
queryset
=
queryset
.
filter
(
course_student__user
=
self
.
request
.
user
)
cert
=
queryset
.
first
()
cs
=
cert
.
course_student
# Change receipt into certificate
if
cs
.
get_current_class
().
user_can_certificate
and
cs
.
course_finished
or
\
cs
.
get_current_class
().
user_can_certificate_even_without_progress
:
cert
.
type
=
'certificate'
cert
.
save
()
return
queryset
...
...
@@ -221,7 +230,7 @@ class CourseCertificationDetailView(DetailView):
certificate
.
course_student
.
finish_date
.
day
,
certificate
.
course_student
.
finish_date
.
month
,
certificate
.
course_student
.
finish_date
.
year
)
)
if
certificate
.
course_student
.
finish_date
else
'xx/xx/xxxx'
workspace
=
context
[
'cert_template'
].
workspace
w_name
=
workspace
.
name
if
workspace
else
''
...
...
courses/migrations/0028_auto_20210629_1048.py
0 → 100644
View file @
e002f970
# Generated by Django 2.2.24 on 2021-06-29 13:48
import
django.contrib.postgres.fields
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'courses'
,
'0027_auto_20210514_0809'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'course'
,
name
=
'lang'
,
field
=
django
.
contrib
.
postgres
.
fields
.
ArrayField
(
base_field
=
models
.
CharField
(
blank
=
True
,
choices
=
[(
'es'
,
'Spanish'
),
(
'pt-br'
,
'Portuguese'
),
(
'en'
,
'English'
)],
default
=
(
'es'
,
'Spanish'
),
max_length
=
64
),
blank
=
True
,
null
=
True
,
size
=
None
),
),
]
courses/models.py
View file @
e002f970
...
...
@@ -799,15 +799,9 @@ class ProfessorMessage(models.Model):
et
=
EmailTemplate
(
name
=
"professor-message"
,
subject
=
"{{subject}}"
,
template
=
"{{message|safe}}"
)
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
=
self
.
subject_en
or
self
.
subject
message_en
=
self
.
message_en
or
self
.
message
subject_en
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
subject_en
}))
message_en
=
Template
(
et
.
template
).
render
(
Context
({
'message'
:
message_en
}))
self
.
send_emails
(
bcc_en
,
message_en
,
subject_en
,
email_batch_size
)
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'
]
subject_es
=
self
.
subject_es
or
self
.
subject
message_es
=
self
.
message_es
or
self
.
message
...
...
@@ -820,6 +814,12 @@ class ProfessorMessage(models.Model):
subject_pt_br
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
subject_pt_br
}))
message_pt_br
=
Template
(
et
.
template
).
render
(
Context
({
'message'
:
message_pt_br
}))
self
.
send_emails
(
bcc_pt_br
,
message_pt_br
,
subject_pt_br
,
email_batch_size
)
subject_en
=
self
.
subject_en
or
self
.
subject
message_en
=
self
.
message_en
or
self
.
message
subject_en
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
subject_en
}))
message_en
=
Template
(
et
.
template
).
render
(
Context
({
'message'
:
message_en
}))
self
.
send_emails
(
bcc_en
,
message_en
,
subject_en
,
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
)]
subject
=
Template
(
et
.
subject
).
render
(
Context
({
'subject'
:
self
.
subject
}))
...
...
courses/serializers.py
View file @
e002f970
...
...
@@ -72,7 +72,7 @@ class CourseSerializer(serializers.ModelSerializer):
return
{}
def
get_ct_id
(
self
,
obj
):
ct
=
CertificateTemplate
.
objects
.
filter
(
course
=
obj
).
first
()
ct
=
CertificateTemplate
.
objects
.
filter
(
course
=
obj
,
document_type
=
'certificate'
).
first
()
if
ct
:
return
ct
.
id
return
None
...
...
courses/views.py
View file @
e002f970
...
...
@@ -70,7 +70,7 @@ class CourseViewSet(viewsets.ModelViewSet):
#)
from
django.utils.translation
import
get_language
current_language
=
get_language
()
query
=
Q
(
Q
(
status
=
'published'
,
lang__contains
=
[
current_language
])
|
Q
(
groups__in
=
self
.
request
.
user
.
groups
.
all
()))
query
=
Q
(
status
=
'published'
,
lang__contains
=
[
current_language
])
if
(
CourseProfessor
.
objects
.
filter
(
user
=
self
.
request
.
user
,
role
=
'coordinator'
).
exists
()):
query
.
add
(
Q
(
...
...
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