diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/help_controller.rb | 9 | ||||
-rw-r--r-- | app/models/contact_validator.rb | 2 | ||||
-rw-r--r-- | app/views/help/contact.html.erb | 5 |
3 files changed, 15 insertions, 1 deletions
diff --git a/app/controllers/help_controller.rb b/app/controllers/help_controller.rb index 9959df6d8..9033198a0 100644 --- a/app/controllers/help_controller.rb +++ b/app/controllers/help_controller.rb @@ -9,6 +9,7 @@ class HelpController < ApplicationController # we don't even have a control subroutine for most help pages, just see their templates before_filter :long_cache + before_filter :catch_spam, :only => [:contact] def unhappy @info_request = nil @@ -69,4 +70,12 @@ class HelpController < ApplicationController end + private + + def catch_spam + if request.post? && !params[:contact][:comment].empty? + redirect_to frontpage_url + end + end + end diff --git a/app/models/contact_validator.rb b/app/models/contact_validator.rb index 65e539669..e9a6e491c 100644 --- a/app/models/contact_validator.rb +++ b/app/models/contact_validator.rb @@ -7,7 +7,7 @@ class ContactValidator include ActiveModel::Validations - attr_accessor :name, :email, :subject, :message + attr_accessor :name, :email, :subject, :message, :comment validates_presence_of :name, :message => N_("Please enter your name") validates_presence_of :email, :message => N_("Please enter your email address") diff --git a/app/views/help/contact.html.erb b/app/views/help/contact.html.erb index ad89db9ec..e8a5fec8c 100644 --- a/app/views/help/contact.html.erb +++ b/app/views/help/contact.html.erb @@ -65,6 +65,11 @@ <%= f.text_area :message, :rows => 10, :cols => 60 %> </p> + <p style="display:none;"> + <%= f.label :comment, 'Do not fill in this field' %> + <%= f.text_field :comment %> + </p> + <% if !@last_request.nil? %> <p> <label class="form_label" for="contact_message">Include link to request:</label> |