def get_context(self, request): from mezzanine.forms.forms import FormForForm sent = False if request.method == 'POST': form = FormForForm(self, request.POST, request.FILES) if form.is_valid(): entry = form.save() fields = ["%s: %s" % (v.label, form.format_value(form.cleaned_data[k])) for (k, v) in form.fields.items()] subject = self.email_subject if not subject: subject = "%s - %s" % (self.title, entry.entry_time) body = "\n".join(fields) if self.email_message: body = "%s\n\n%s" % (self.email_message, body) email_from = self.email_from or settings.DEFAULT_FROM_EMAIL email_to = form.email_to() if email_to and self.send_email: msg = EmailMessage(subject, body, email_from, [email_to]) msg.send() email_from = email_to or email_from # Send from the email entered. email_copies = [e.strip() for e in self.email_copies.split(",") if e.strip()] if email_copies: msg = EmailMessage(subject, body, email_from, email_copies) for f in form.files.values(): f.seek(0) msg.attach(f.name, f.read()) msg.send() sent = True else: form = FormForForm(self) return {"form": form, "sent": sent}