| Class | Notifier |
| In: |
app/models/notifier.rb
|
| Parent: | ActionMailer::Base |
# File app/models/notifier.rb, line 179
179: def authorisation_problem(user, session, params, env)
180: user = User.new(:name => 'Unknown', :email => 'Unknown') if user.nil?
181: content_type 'text/html'
182: @body['admin'] = User.find_central_admin
183: @recipients = @body['admin']
184: @from = ENV['EPFWIKI_REPLY_ADDRESS']
185: @subject = "[#{ENV['EPFWIKI_APP_NAME']}] Autorisation Problem Detected"
186: @body['session'] = session
187: @body['params'] = params
188: @body['env'] = env
189: @body['subject'] = @subject
190: @body['user'] = user
191: end
# File app/models/notifier.rb, line 164
164: def contributions_processed(user, contributions)
165: # TODO remove
166: #conditions = ['done=? and review_note_send_on is null and user_id=?', 'Y', user.id]
167: #contributions = Upload.find(:all, :conditions => conditions) + Comment.find(:all, :conditions => conditions) + Version.find(:all, :conditions => ['done=? and review_note_send_on is null and baseline_process_id is null and user_id=?', 'Y', user.id])
168: @recipients = email_addresses_4_report(user)
169: #@cc = email_addresses_4_report(contributions.collect{|c|c.user}.uniq)
170: content_type "text/html"
171: @body['contributions'] = contributions
172: @body['admin'] = User.find_central_admin
173: @body['user'] = user
174: @bcc = email_addresses_4_report(@body['admin'])
175: @subject = "[#{ENV['EPFWIKI_APP_NAME']}] Your contribution has been processed"
176: @body['subject'] = @subject
177: end
TODO replace with notification
# File app/models/notifier.rb, line 151
151: def email(theUsers, theSubject, theFilePaths, theText, cc = nil)
152: @from = ENV['EPFWIKI_REPLY_ADDRESS']
153: @cc = email_addresses_4_report(cc) unless cc.nil?
154: content_type "text/html"
155: @subject = "[" + ENV['EPFWIKI_APP_NAME'] + "] " + theSubject
156: @recipients = email_addresses_4_report(theUsers)
157: @body['text'] = theText
158: @body['admin'] = User.find_central_admin
159: for filePath in theFilePaths
160: attachment :content_type => "application/zip", :body => File.open(filePath, "rb") {|io| io.read}, :filename => filePath.split("/").last
161: end
162: end
# File app/models/notifier.rb, line 116
116: def env_to(user, session, params, env, sent_on = Time.now)
117: content_type "text/html"
118: @recipients = user.email
119: @from = ENV['EPFWIKI_REPLY_ADDRESS']
120: @subject = "[" + ENV['EPFWIKI_APP_NAME'] + "] " + params[:action]
121: @sent_on = sent_on
122: @body["session"] = session
123: @body["params"] = params
124: @body["env"] = env
125: end
# File app/models/notifier.rb, line 42
42: def error_report(exception, trace, session, params, env, sent_on = Time.now)
43: content_type "text/html"
44: @recipients = [User.find_central_admin.email, "onno.van.der.straaten@logica.com"]
45: @from = ENV['EPFWIKI_REPLY_ADDRESS']
46: @subject = "[Error] exception in #{env['REQUEST_URI']}"
47: @sent_on = sent_on
48: @body["exception"] = exception
49: @body["trace"] = trace
50: @body["session"] = session
51: @body["params"] = params
52: @body["env"] = env
53: end
# File app/models/notifier.rb, line 193
193: def feedback(feedback)
194: content_type 'text/html'
195: @body['admin'] = User.find_central_admin
196: @recipients = @body['admin']
197: @from = ENV['EPFWIKI_REPLY_ADDRESS']
198: @subject = "[#{ENV['EPFWIKI_APP_NAME']}] Feedback Posted"
199: @body['subject'] = @subject
200: @body['feedback'] = feedback
201: @body['anywiki'] = Wiki.find(:first, :conditions => ['obsolete_on is null'])
202: end
# File app/models/notifier.rb, line 31
31: def lost_password(user, urls)
32: content_type "text/html"
33: @recipients = user.email
34: @from = ENV['EPFWIKI_REPLY_ADDRESS']
35: @subject = "[" + ENV['EPFWIKI_APP_NAME'] + "] New Password"
36: @body['user'] = user
37: @body['admin'] = User.find_central_admin
38: @body['cnt'] = User.count
39: @body['urls'] = urls
40: end
# File app/models/notifier.rb, line 138
138: def notification(theUsers, subject, introduction, text, request_host = ENV['EPFWIKI_HOST'])
139: @from = ENV['EPFWIKI_REPLY_ADDRESS']
140: content_type "text/html"
141: @subject = "[#{ENV['EPFWIKI_APP_NAME']}] #{subject}"
142: @bcc = email_addresses_4_report(theUsers)
143: @body['link'] = "<a href=\"http://#{request_host}/users/account\">#{ENV['EPFWIKI_APP_NAME']}</a>"
144: @body['introduction'] = introduction
145: @body['text'] = text
146: @body['admin'] = User.find_central_admin
147: @body['subject'] = @subject
148: end
# File app/models/notifier.rb, line 127
127: def site_status(update, subject)
128: content_type "text/html"
129: @from = ENV['EPFWIKI_REPLY_ADDRESS']
130: @body['admin'] = User.find_central_admin
131: @subject = "[#{ENV['EPFWIKI_APP_NAME']}] #{subject}"
132: @body['subject'] = @subject
133: @recipients = update.user.email
134: @cc = @body['admin'].email
135: @body['update'] = update
136: end
# File app/models/notifier.rb, line 55
55: def summary(params, runtime = Time.now)
56: content_type "text/html"
57:
58: case params[:type]
59: when 'D' # daily
60: starttime = (runtime - 1.day).at_beginning_of_day
61: endtime = runtime.at_beginning_of_day
62: @bcc = email_addresses_4_report(User.find_all_by_notify_daily(1))
63: subject_text = 'Daily'
64: when 'W' # weekly
65: starttime = (runtime - 1.week).at_beginning_of_week
66: endtime = runtime.at_beginning_of_week
67: @bcc = email_addresses_4_report(User.find_all_by_notify_weekly(1))
68: subject_text = 'Weekly'
69: when 'M' # monthly
70: starttime = (runtime - 1.month).at_beginning_of_month
71: endtime = runtime.at_beginning_of_month
72: @bcc = email_addresses_4_report(User.find_all_by_notify_monthly(1))
73: subject_text = 'Monthly'
74: else
75: raise 'Report type is required'
76: end
77:
78: @bcc = email_addresses_4_report(params[:user]) unless params[:user].blank?
79: @subject = "[#{ENV['EPFWIKI_APP_NAME']}] #{subject_text} Summary"
80:
81: items = UserVersion.find(:all, :conditions => ['created_on > ? and created_on < ?', starttime, endtime ]) +
82: Comment.find(:all, :conditions => ['created_on > ? and created_on < ?', starttime, endtime ]) +
83: Upload.find(:all, :conditions => ['created_on > ? and created_on < ?', starttime, endtime ]) +
84: Wiki.find(:all, :conditions => ['created_on > ? and created_on < ?', starttime, endtime ])+
85: Update.find(:all, :conditions => ['created_on > ? and created_on < ?', starttime, endtime ]) +
86: User.find(:all, :conditions => ['created_on > ? and created_on < ?', starttime, endtime ]) +
87: WikiPage.find(:all, :conditions => ['created_on > ? and created_on < ? and tool=?', starttime, endtime, 'Wiki'])
88: Checkout.find(:all)
89: items.sort_by {|item|item.created_on}
90: @body['wikis'] = []
91: items.each do |item|
92: logger.debug("item: #{item.inspect}")
93: w = nil
94: case item.class.name
95: when Comment.name then w = item.site
96: when Wiki.name then w = item
97: when Update.name then w = item.wiki
98: when Checkout.name then w = item.site
99: when Version.name then w = item.wiki
100: end
101: @body['wikis'] << w if !w.nil?
102: end
103: @body['wikis'] = @body['wikis'].uniq
104: @from = ENV['EPFWIKI_REPLY_ADDRESS']
105: @sent_on = Time.now
106: @body['runtime'] = runtime
107: @body['endtime'] = endtime
108: @body['starttime'] = starttime
109: @body['contributions'] = items
110: @body['subject'] = subject
111: @body['admin'] = User.find_central_admin
112: @body['host'] = ENV['EPFWIKI_HOST']
113: @body['items'] = items
114: end
# File app/models/notifier.rb, line 19
19: def welcome_pw_confirmationlink(user, request_host = ENV['EPFWIKI_HOST'])
20: content_type "text/html"
21: @recipients = user.email
22: @from = ENV['EPFWIKI_REPLY_ADDRESS']
23: @subject = "[" + ENV['EPFWIKI_APP_NAME'] + "] Welcome"
24: @body['user'] = user
25: @body['admin'] = User.find_central_admin
26: @body['subject'] = @subject
27: @body['request_host'] = request_host
28: end