Skip to content

Commit

Permalink
Add email_subject and email_message fields to form model.
Browse files Browse the repository at this point in the history
  • Loading branch information
stephenmcd committed Sep 10, 2010
1 parent b8e9dec commit 1bbc118
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
8 changes: 4 additions & 4 deletions forms_builder/forms/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
form_admin_fieldsets = [
(None, {"fields": ("title", ("status", "login_required",),
("publish_date", "expiry_date",), "intro", "button_text", "response")}),
(_("Email"), {"fields": ("send_email", "email_from", "email_copies")}),]
(_("Email"), {"fields": ("send_email", "email_from", "email_copies",
"email_subject", "email_message")}),]

if USE_SITES:
form_admin_fieldsets.append((_("Sites"), {"fields": ("sites",),
Expand All @@ -36,11 +37,10 @@ class FieldAdmin(admin.TabularInline):
class FormAdmin(admin.ModelAdmin):

inlines = (FieldAdmin,)
list_display = ("title", "status", "email_from", "email_copies",
list_display = ("title", "status", "email_copies",
"publish_date", "expiry_date", "admin_link_export", "admin_link_view")
list_display_links = ("title",)
list_editable = ("status", "email_from", "email_copies", "publish_date",
"expiry_date", )
list_editable = ("status", "email_copies", "publish_date", "expiry_date")
list_filter = ("status",)
filter_horizontal = form_admin_filter_horizontal
search_fields = ("title", "intro", "response", "email_from",
Expand Down
6 changes: 4 additions & 2 deletions forms_builder/forms/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ class AbstractForm(models.Model):
sites = sites_field
title = models.CharField(_("Title"), max_length=50)
slug = models.SlugField(editable=False, max_length=100, unique=True)
intro = models.TextField(_("Intro"), max_length=2000)
intro = models.TextField(_("Intro"))
button_text = models.CharField(_("Button text"), max_length=50,
default=_("Submit"))
response = models.TextField(_("Response"), max_length=2000)
response = models.TextField(_("Response"))
status = models.IntegerField(_("Status"), choices=STATUS_CHOICES,
default=STATUS_PUBLISHED)
publish_date = models.DateTimeField(_("Published from"),
Expand All @@ -97,6 +97,8 @@ class AbstractForm(models.Model):
email_copies = models.CharField(_("Send copies to"), blank=True,
help_text=_("One or more email addresses, separated by commas"),
max_length=200)
email_subject = models.CharField(_("Subject"), max_length=200, blank=True)
email_message = models.TextField(_("Message"), blank=True)

objects = FormManager()

Expand Down
6 changes: 5 additions & 1 deletion forms_builder/forms/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,12 @@ def form_detail(request, slug, template="forms/form_detail.html"):
entry = form_for_form.save()
fields = ["%s: %s" % (v.label, form_for_form.cleaned_data[k])
for (k, v) in form_for_form.fields.items()]
subject = "%s - %s" % (form.title, entry.entry_time)
subject = form.email_subject
if not subject:
subject = "%s - %s" % (form.title, entry.entry_time)
body = "\n".join(fields)
if form.email_message:
body = "%s\n\n%s" % (form.email_message, body)
email_from = form.email_from or settings.DEFAULT_FROM_EMAIL
email_to = form_for_form.email_to()
if email_to and form.send_email:
Expand Down

0 comments on commit 1bbc118

Please sign in to comment.