def new_language(request, project, subproject): obj = get_subproject(request, project, subproject) form = NewLanguageForm(request.POST) if form.is_valid(): language = Language.objects.get(code=form.cleaned_data['lang']) same_lang = obj.translation_set.filter(language=language) if same_lang.exists(): messages.error( request, _('Chosen translation already exists in this project!') ) elif obj.project.new_lang == 'contact': notify_new_language(obj, language, request.user) messages.info( request, _( "A request for a new translation has been " "sent to the project's maintainers." ) ) elif obj.project.new_lang == 'add': obj.add_new_language(language, request) else: messages.error( request, _('Failed to process new translation request!') ) return HttpResponseRedirect(reverse( 'subproject', kwargs={'subproject': obj.slug, 'project': obj.project.slug} ))
def test_notify_new_language(self): notify_new_language( self.subproject, Language.objects.filter(code='de'), self.second_user() ) # Check mail (second one is for admin) self.assertEqual(len(mail.outbox), 2) self.assertEqual( mail.outbox[0].subject, '[Weblate] New language request in Test/Test' )
def new_language(request, project, subproject): obj = get_subproject(request, project, subproject) form = NewLanguageForm(request.POST) if form.is_valid(): language = Language.objects.get(code=form.cleaned_data["lang"]) same_lang = obj.translation_set.filter(language=language) if same_lang.exists(): messages.error(request, _("Chosen translation already exists in this project!")) elif obj.project.new_lang == "contact": notify_new_language(obj, language, request.user) messages.info(request, _("A request for a new translation has been " "sent to the project's maintainers.")) elif obj.project.new_lang == "add": obj.add_new_language(language, request) else: messages.error(request, _("Failed to process new translation request!")) return redirect("subproject", subproject=obj.slug, project=obj.project.slug)