Commit d6940154 authored by Matheus Miranda's avatar Matheus Miranda
Browse files

Merge branch 'develop' into 'master'

Add support for i18n for slug and emails

See merge request !60
parents d332f984 247c7fea
......@@ -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
......@@ -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)]
......
......@@ -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():
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment