aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/glsamaker/mail.rb')
-rw-r--r--lib/glsamaker/mail.rb46
1 files changed, 42 insertions, 4 deletions
diff --git a/lib/glsamaker/mail.rb b/lib/glsamaker/mail.rb
index 2d89644..d3ab36b 100644
--- a/lib/glsamaker/mail.rb
+++ b/lib/glsamaker/mail.rb
@@ -20,7 +20,7 @@ module Glsamaker
User.find(:all, :conditions => 'id > 0').each do |rcpt|
next unless rcpt.can_access? glsa
- unless user.get_pref_category(:mail)[:edit] == false
+ unless rcpt.get_pref_category(:mail)[:edit] == false
GlsaMailer.deliver_edit(rcpt, glsa, diff, user)
end
end
@@ -35,11 +35,49 @@ module Glsamaker
User.find(:all, :conditions => 'id > 0').each do |rcpt|
next unless rcpt.can_access? glsa
- unless user.get_pref_category(:mail)[:request] == false
+ unless rcpt.get_pref_category(:mail)[:request] == false
GlsaMailer.deliver_request(rcpt, glsa, user)
end
end
- end
-
+ end
+
+ def comment_notification(glsa, comment, user)
+ if GLSAMAKER_NO_EMAIL
+ Rails.logger.info "Not sending email."
+ return false
+ end
+
+ rcpt = glsa.submitter
+ return unless rcpt.can_access? glsa
+ return if rcpt == user
+
+ unless rcpt.get_pref_category(:mail)[:comment] == false
+ GlsaMailer.deliver_comment(rcpt, glsa, comment, user)
+ end
+ end
+
+ def approval_notification(glsa)
+ if GLSAMAKER_NO_EMAIL
+ Rails.logger.info "Not sending email."
+ return false
+ end
+
+ rcpt = glsa.submitter
+ return unless rcpt.can_access? glsa
+
+ unless rcpt.get_pref_category(:mail)[:comment] == false
+ GlsaMailer.deliver_approval(rcpt, glsa)
+ end
+ end
+
+ def send_text(text, subject, user, footer = true)
+ if GLSAMAKER_NO_EMAIL
+ Rails.logger.info "Not sending email."
+ return false
+ end
+
+ GlsaMailer.deliver_text(user, subject, text, footer)
+ end
+
end
end