def submitbug(request): if request.method == "POST": form = SubmitBugForm(request.POST) if form.is_valid(): c = connection.cursor() c.execute("SELECT nextval('bug_id_seq')") bugid = c.fetchall()[0][0] send_template_mail( form.cleaned_data["email"], settings.BUGREPORT_EMAIL, "BUG #%s: %s" % (bugid, form.cleaned_data["shortdesc"]), "misc/bugmail.txt", {"bugid": bugid, "bug": form.cleaned_data}, ) return render_to_response("misc/bug_completed.html", {"bugid": bugid}, NavContext(request, "support")) else: form = SubmitBugForm() versions = Version.objects.filter(supported=True) return render_to_response( "base/form.html", { "form": form, "formitemtype": "bug report", "operation": "Submit", "nocsrf": True, "form_intro": template_to_string("misc/bug_header.html", {"supportedversions": versions}), }, NavContext(request, "support"), )
def send_template_mail(sender, receiver, subject, templatename, templateattr={}, usergenerated=False, cc=None, replyto=None, receivername=None, sendername=None, messageid=None): d = { 'link_root': settings.SITE_ROOT, } d.update(templateattr) send_simple_mail(sender, receiver, subject, template_to_string(templatename, d), usergenerated=usergenerated, cc=cc, replyto=replyto, receivername=receivername, sendername=sendername, messageid=messageid)
def submitbug(request): if request.method == 'POST': form = SubmitBugForm(request.POST) if form.is_valid(): c = connection.cursor() c.execute("SELECT nextval('bug_id_seq')") bugid = c.fetchall()[0][0] send_template_mail( form.cleaned_data['email'], settings.BUGREPORT_EMAIL, 'BUG #%s: %s' % (bugid, form.cleaned_data['shortdesc']), 'misc/bugmail.txt', { 'bugid': bugid, 'bug': form.cleaned_data, } ) return render_to_response('misc/bug_completed.html', { 'bugid': bugid, }, NavContext(request, 'support')) else: form = SubmitBugForm() versions = Version.objects.filter(supported=True) return render_to_response('base/form.html', { 'form': form, 'formitemtype': 'bug report', 'operation': 'Submit', 'form_intro': template_to_string('misc/bug_header.html', { 'supportedversions': versions, }), }, NavContext(request, 'support'))
def send_template_mail(sender, receiver, subject, templatename, templateattr={}): msg = MIMEText( template_to_string(templatename, templateattr), _charset='utf-8') msg['Subject'] = subject msg['To'] = receiver msg['From'] = sender sendmail(msg)
def submitbug(request): if request.method == 'POST': form = SubmitBugForm(request.POST) if form.is_valid(): c = connection.cursor() c.execute("SELECT nextval('bug_id_seq')") bugid = c.fetchall()[0][0] send_template_mail( settings.BUGREPORT_NOREPLY_EMAIL, settings.BUGREPORT_EMAIL, 'BUG #%s: %s' % (bugid, form.cleaned_data['shortdesc']), 'misc/bugmail.txt', { 'bugid': bugid, 'bug': form.cleaned_data, }, usergenerated=True, cc=form.cleaned_data['email'], replyto='%s, %s' % (form.cleaned_data['email'], settings.BUGREPORT_EMAIL), sendername="PG Bug reporting form", ) return render_pgweb(request, 'support', 'misc/bug_completed.html', { 'bugid': bugid, }) else: form = SubmitBugForm( initial={ 'name': '%s %s' % (request.user.first_name, request.user.last_name), 'email': request.user.email, }) versions = Version.objects.filter(supported=True) return render_pgweb( request, 'support', 'base/form.html', { 'form': form, 'formitemtype': 'bug report', 'formtitle': 'Submit Bug Report <i class="fas fa-bug"></i>', 'operation': 'Submit', 'form_intro': template_to_string('misc/bug_header.html', { 'supportedversions': versions, }), 'savebutton': 'Submit and Send Email', })
def send_template_mail(sender, receiver, subject, templatename, templateattr={}, usergenerated=False): send_simple_mail(sender, receiver, subject, template_to_string(templatename, templateattr), usergenerated=usergenerated)
def commentform(request, itemid, version, filename): if version == 'current': v = Version.objects.get(current=True) else: v = get_object_or_404(Version, tree=version) if not v.supported: # No docs comments on unsupported versions return HttpResponseRedirect("/docs/{0}/{1}".format(version, filename)) if request.method == 'POST': form = DocCommentForm(request.POST) if form.is_valid(): if version == '0.0': version = 'devel' send_template_mail( settings.DOCSREPORT_NOREPLY_EMAIL, settings.DOCSREPORT_EMAIL, '%s' % form.cleaned_data['shortdesc'], 'docs/docsbugmail.txt', { 'version': version, 'filename': filename, 'details': form.cleaned_data['details'], }, usergenerated=True, cc=form.cleaned_data['email'], replyto='%s, %s' % (form.cleaned_data['email'], settings.DOCSREPORT_EMAIL), sendername='PG Doc comments form') return HttpResponseRedirect("done/") else: form = DocCommentForm( initial={ 'name': '%s %s' % (request.user.first_name, request.user.last_name), 'email': request.user.email, }) return render_pgweb( request, 'docs', 'base/form.html', { 'form': form, 'formitemtype': 'documentation comment', 'operation': 'Submit', 'form_intro': template_to_string('docs/docsbug.html', { 'user': request.user, }), 'savebutton': 'Send Email', })
def submitbug(request): if request.method == 'POST': form = SubmitBugForm(request.POST) if form.is_valid(): with transaction.atomic(): c = connection.cursor() c.execute("SELECT nextval('bug_id_seq')") bugid = c.fetchall()[0][0] messageid = _make_bugs_messageid(bugid) BugIdMap(id=bugid, messageid=messageid.strip('<>')).save() send_template_mail( settings.BUGREPORT_NOREPLY_EMAIL, settings.BUGREPORT_EMAIL, 'BUG #%s: %s' % (bugid, form.cleaned_data['shortdesc']), 'misc/bugmail.txt', { 'bugid': bugid, 'bug': form.cleaned_data, }, usergenerated=True, cc=form.cleaned_data['email'], replyto='%s, %s' % (form.cleaned_data['email'], settings.BUGREPORT_EMAIL), sendername="PG Bug reporting form", messageid=messageid, ) return HttpResponseRedirect("/account/submitbug/{0}/".format(bugid)) else: form = SubmitBugForm(initial={ 'name': '%s %s' % (request.user.first_name, request.user.last_name), 'email': request.user.email, }) versions = Version.objects.filter(supported=True) return render_pgweb(request, 'support', 'base/form.html', { 'form': form, 'formitemtype': 'bug report', 'formtitle': 'Submit Bug Report <i class="fas fa-bug"></i>', 'operation': 'Submit', 'form_intro': template_to_string('misc/bug_header.html', { 'supportedversions': versions, }), 'savebutton': 'Submit and Send Email', })
def commentform(request, itemid, version, filename): if version == 'current': v = Version.objects.get(current=True) else: v = get_object_or_404(Version, tree=version) if not v.supported: # No docs comments on unsupported versions return HttpResponseRedirect("/docs/{0}/{1}".format(version, filename)) if request.method == 'POST': form = DocCommentForm(request.POST) if form.is_valid(): if version == '0.0': version = 'devel' send_template_mail( settings.DOCSREPORT_NOREPLY_EMAIL, settings.DOCSREPORT_EMAIL, '%s' % form.cleaned_data['shortdesc'], 'docs/docsbugmail.txt', { 'version': version, 'filename': filename, 'details': form.cleaned_data['details'], }, usergenerated=True, cc=form.cleaned_data['email'], replyto='%s, %s' % (form.cleaned_data['email'], settings.DOCSREPORT_EMAIL), sendername='PG Doc comments form' ) return HttpResponseRedirect("done/") else: form = DocCommentForm(initial={ 'name': '%s %s' % (request.user.first_name, request.user.last_name), 'email': request.user.email, }) return render_pgweb(request, 'docs', 'base/form.html', { 'form': form, 'formitemtype': 'documentation comment', 'operation': 'Submit', 'form_intro': template_to_string('docs/docsbug.html', { 'user': request.user, }), 'savebutton': 'Send Email', })
def submitbug(request): if request.method == 'POST': form = SubmitBugForm(request.POST) if form.is_valid(): c = connection.cursor() c.execute("SELECT nextval('bug_id_seq')") bugid = c.fetchall()[0][0] send_template_mail(form.cleaned_data['email'], settings.BUGREPORT_EMAIL, 'BUG #%s: %s' % (bugid, form.cleaned_data['shortdesc']), 'misc/bugmail.txt', { 'bugid': bugid, 'bug': form.cleaned_data, }, usergenerated=True) return render_to_response('misc/bug_completed.html', { 'bugid': bugid, }, NavContext(request, 'support')) else: form = SubmitBugForm( initial={ 'name': '%s %s' % (request.user.first_name, request.user.last_name), 'email': request.user.email, }) versions = Version.objects.filter(supported=True) return render_to_response( 'base/form.html', { 'form': form, 'formitemtype': 'bug report', 'operation': 'Submit', 'form_intro': template_to_string('misc/bug_header.html', { 'supportedversions': versions, }), }, NavContext(request, 'support'))
def commentform(request, itemid, version, filename): if request.method == 'POST': form = DocCommentForm(request.POST) if form.is_valid(): send_template_mail( form.cleaned_data['email'], settings.DOCSREPORT_EMAIL, '%s' % form.cleaned_data['shortdesc'], 'docs/docsbugmail.txt', { 'version': version, 'filename': filename, 'details': form.cleaned_data['details'], }, usergenerated=True, ) return render_to_response('docs/docsbug_completed.html', {}, NavContext(request, 'docs')) else: form = DocCommentForm( initial={ 'name': '%s %s' % (request.user.first_name, request.user.last_name), 'email': request.user.email, }) return render_to_response( 'base/form.html', { 'form': form, 'formitemtype': 'documentation correction', 'operation': 'Submit', 'form_intro': template_to_string('docs/docsbug.html', { 'user': request.user, }), }, NavContext(request, 'docs'))