Description:
moved send mail code back to helper
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r336:4e59f67ded1a - - 3 files changed: 22 inserted, 50 deleted

@@ -1,8 +1,10
1 1 class UserAdminController < ApplicationController
2 2
3 + include MailHelperMethods
4 +
3 5 before_filter :admin_authorization
4 6
5 7 # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
6 8 verify :method => :post, :only => [ :destroy,
7 9 :create, :create_from_list,
8 10 :update,
@@ -323,25 +325,18
323 325 mail_body = params[:email_body]
324 326 if !mail_body or mail_body.blank?
325 327 flash[:notice] = 'You entered an empty mail body.'
326 328 redirect_to :action => 'mass_mailing' and return
327 329 end
328 330
329 - admin_email = GraderConfiguration['system.admin_email']
330 -
331 331 note = []
332 332 users = []
333 333 lines.split("\n").each do |line|
334 334 user = User.find_by_login(line.chomp)
335 335 if user
336 - Mail.deliver do
337 - from admin_email
338 - to user.email
339 - subject mail_subject
340 - body mail_body
341 - end
336 + send_mail(user.email, mail_subject, mail_body)
342 337 note << user.login
343 338 end
344 339 end
345 340
346 341 flash[:notice] = 'User(s) ' + note.join(', ') +
347 342 ' were successfully modified. '
@@ -437,21 +432,14
437 432 mail_body = t('contest.notification.email_body', {
438 433 :full_name => user.full_name,
439 434 :contest_title_name => contest_title_name,
440 435 :contest_name => contest.name,
441 436 })
442 437
443 - admin_email = GraderConfiguration['system.admin_email']
444 -
445 438 logger.info mail_body
446 - Mail.deliver do
447 - from admin_email
448 - to user.email
449 - subject mail_subject
450 - body mail_body
451 - end
439 + send_mail(user.email, mail_subject, mail_body)
452 440 end
453 441
454 442 def find_contest_and_user_from_contest_id(id)
455 443 if id!='none'
456 444 @contest = Contest.find(id)
457 445 else
@@ -1,10 +1,12
1 1 require 'net/smtp'
2 2
3 3 class UsersController < ApplicationController
4 4
5 + include MailHelperMethods
6 +
5 7 before_filter :authenticate, :except => [:new,
6 8 :register,
7 9 :confirm,
8 10 :forget,
9 11 :retrieve_password]
10 12
@@ -113,13 +115,12
113 115 redirect_to :controller => 'main', :action => 'login'
114 116 end
115 117 end
116 118
117 119 def send_confirmation_email(user)
118 120 contest_name = GraderConfiguration['contest.name']
119 - admin_email = GraderConfiguration['system.admin_email']
120 121 activation_url = url_for(:action => 'confirm',
121 122 :login => user.login,
122 123 :activation => user.activation_key)
123 124 home_url = url_for(:controller => 'main', :action => 'index')
124 125 mail_subject = "[#{contest_name}] Confirmation"
125 126 mail_body = t('registration.email_body', {
@@ -130,37 +131,26
130 131 :activation_url => activation_url,
131 132 :admin_email => admin_email
132 133 })
133 134
134 135 logger.info mail_body
135 136
136 - Mail.deliver do
137 - from admin_email
138 - to user.email
139 - subject mail_subject
140 - body mail_body
141 - end
137 + send_mail(user.email, mail_subject, mail_body)
142 138 end
143 139
144 140 def send_new_password_email(user)
145 141 contest_name = GraderConfiguration['contest.name']
146 - admin_email = GraderConfiguration['system.admin_email']
147 142 mail_subject = "[#{contest_name}] Password recovery"
148 143 mail_body = t('registration.password_retrieval.email_body', {
149 144 :full_name => user.full_name,
150 145 :contest_name => contest_name,
151 146 :login => user.login,
152 147 :password => user.password,
153 148 :admin_email => admin_email
154 149 })
155 150
156 151 logger.info mail_body
157 152
158 - Mail.deliver do
159 - from admin_email
160 - to user.email
161 - subject mail_subject
162 - body mail_body
163 - end
153 + send_mail(user.email, mail_subject, mail_body)
164 154 end
165 155
166 156 end
@@ -1,36 +1,30
1 1 module MailHelperMethods
2 2
3 - def send_mail(to, subject, body)
4 - mail = TMail::Mail.new
5 - mail.to = to
6 - mail.from = Configuration['system.online_registration.from']
7 - mail.subject = subject
8 - mail.body = body
9 -
10 - smtp_server = Configuration['system.online_registration.smtp']
3 + def send_mail(mail_to, mail_subject, mail_body)
4 + mail_from = GraderConfiguration['system.online_registration.from']
5 + smtp_server = GraderConfiguration['system.online_registration.smtp']
11 6
12 7 if ['fake', 'debug'].include? smtp_server
13 8 puts "-------------------------
14 - To: #{mail.to}
15 - From: #{mail.from}
16 - Subject: #{mail.subject}
17 - #{mail.body}
9 + To: #{mail_to}
10 + From: #{mail_from}
11 + Subject: #{mail_subject}
12 + #{mail_body}
18 13 --------------------------
19 14 "
20 15 return true
21 16 end
22 17
23 - begin
24 - Net::SMTP.start(smtp_server) do |smtp|
25 - smtp.send_message(mail.to_s, mail.from, mail.to)
26 - end
27 - result = true
28 - rescue
29 - result = false
18 + mail = Mail.new do
19 + from mail_from
20 + to mail_to
21 + subject mail_subject
22 + body mail_body
30 23 end
31 24
32 - result
25 + mail.delivery_settings = { :address => smtp_server }
26 + mail.deliver
33 27 end
34 28
35 29 end
36 30
You need to be logged in to leave comments. Login now