blob: 93215ccad9c12db280e0fcde1ca6427b6b99de4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# app/controllers/help_controller.rb:
# Show information about one particular request.
#
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
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 index
redirect_to help_about_path
end
def unhappy
@info_request = nil
if params[:url_title]
@info_request = InfoRequest.find_by_url_title!(params[:url_title])
end
end
def contact
@contact_email = AlaveteliConfiguration::contact_email
# if they clicked remove for link to request/body, remove it
if params[:remove]
@last_request = nil
cookies["last_request_id"] = nil
cookies["last_body_id"] = nil
end
# look up link to request/body
last_request_id = cookies["last_request_id"].to_i
if last_request_id > 0
@last_request = InfoRequest.find(last_request_id)
else
@last_request = nil
end
last_body_id = cookies["last_body_id"].to_i
if last_body_id > 0
@last_body = PublicBody.find(last_body_id)
else
@last_body = nil
end
# submit form
if params[:submitted_contact_form]
if @user
params[:contact][:email] = @user.email
params[:contact][:name] = @user.name
end
@contact = ContactValidator.new(params[:contact])
if @contact.valid? && !params[:remove]
ContactMailer.to_admin_message(
params[:contact][:name],
params[:contact][:email],
params[:contact][:subject],
params[:contact][:message],
@user,
@last_request, @last_body
).deliver
flash[:notice] = _("Your message has been sent. Thank you for getting in touch! We'll get back to you soon.")
redirect_to frontpage_url
return
end
if params[:remove]
@contact.errors.clear
end
end
end
private
def catch_spam
if request.post? && !params[:contact][:comment].empty?
redirect_to frontpage_url
end
end
end
|