def tools(request): email_form = TestMailForm(initial={"email": request.user.email}) announce_form = AnnouncementForm() if request.method == "POST": if "email" in request.POST: email_form = TestMailForm(request.POST) if email_form.is_valid(): try: send_test_mail(**email_form.cleaned_data) messages.success(request, _("Test e-mail sent.")) except Exception as error: report_error() messages.error(request, _("Could not send test e-mail: %s") % error) if "sentry" in request.POST: try: raise Exception("Test exception") except Exception: report_error() if "message" in request.POST: announce_form = AnnouncementForm(request.POST) if announce_form.is_valid(): Announcement.objects.create( user=request.user, **announce_form.cleaned_data ) return render( request, "manage/tools.html", { "menu_items": MENU, "menu_page": "tools", "email_form": email_form, "announce_form": announce_form, }, )
def announcement_project(request, project): obj = get_project(request, project) if not request.user.has_perm("project.edit", obj): raise PermissionDenied() form = AnnouncementForm(request.POST) if not form.is_valid(): show_form_errors(request, form) return redirect_param(obj, "#announcement") Announcement.objects.create(user=request.user, project=obj, **form.cleaned_data) return redirect(obj)
def announcement_translation(request, project, component, lang): obj = get_translation(request, project, component, lang) if not request.user.has_perm("component.edit", obj): raise PermissionDenied() form = AnnouncementForm(request.POST) if not form.is_valid(): show_form_errors(request, form) return redirect_param(obj, "#announcement") Announcement.objects.create(project=obj.component.project, component=obj.component, language=obj.language, **form.cleaned_data) return redirect(obj)