]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/notifier.rb
Allow users to change their email address. Closes #546.
[rails.git] / app / models / notifier.rb
index 84d097341c8dee7cd61162a5337fddef436386a9..3cc0f4cab03636139220650f5dbcc516fa628dc6 100644 (file)
@@ -1,4 +1,3 @@
-
 class Notifier < ActionMailer::Base
   def signup_confirm(user, token)
     recipients user.email
@@ -10,6 +9,17 @@ class Notifier < ActionMailer::Base
                          :confirm_string => token.token)
   end
 
+  def email_confirm(user, token)
+    recipients user.new_email
+    from "webmaster@openstreetmap.org"
+    subject "[OpenStreetMap] Confirm your email address"
+    headers "Auto-Submitted" => "auto-generated"
+    body :address => user.new_email,
+         :url => url_for(:host => SERVER_URL,
+                         :controller => "user", :action => "confirm_email",
+                         :confirm_string => token.token)
+  end
+
   def lost_password(user, token)
     recipients user.email
     from "webmaster@openstreetmap.org"
@@ -29,7 +39,7 @@ class Notifier < ActionMailer::Base
   end
 
   def gpx_success(trace, possible_points)
-    recipients trace.user.email
+    recipients trace.user.email if trace.user.email_valid
     from "webmaster@openstreetmap.org"
     subject "[OpenStreetMap] GPX Import success"
     headers "Auto-Submitted" => "auto-generated"
@@ -41,7 +51,7 @@ class Notifier < ActionMailer::Base
   end
 
   def gpx_failure(trace, error)
-    recipients trace.user.email
+    recipients trace.user.email if trace.user.email_valid
     from "webmaster@openstreetmap.org"
     subject "[OpenStreetMap] GPX Import failure"
     headers "Auto-Submitted" => "auto-generated"
@@ -52,7 +62,7 @@ class Notifier < ActionMailer::Base
   end
   
   def message_notification(message)
-    recipients message.recipient.email
+    recipients message.recipient.email if message.recipient.email_valid
     from "webmaster@openstreetmap.org"
     subject "[OpenStreetMap] #{message.sender.display_name} sent you a new message"
     headers "Auto-Submitted" => "auto-generated"
@@ -69,7 +79,7 @@ class Notifier < ActionMailer::Base
   end
 
   def diary_comment_notification(comment)
-    recipients comment.diary_entry.user.email
+    recipients comment.diary_entry.user.email if comment.diary_entry.user.email_valid
     from "webmaster@openstreetmap.org"
     subject "[OpenStreetMap] #{comment.user.display_name} commented on your diary entry"
     headers "Auto-Submitted" => "auto-generated"
@@ -100,7 +110,7 @@ class Notifier < ActionMailer::Base
     befriender = User.find_by_id(friend.user_id)
     befriendee = User.find_by_id(friend.friend_user_id)
 
-    recipients befriendee.email
+    recipients befriendee.email if  befriendee.email_valid
     from "webmaster@openstreetmap.org"
     subject "[OpenStreetMap] #{befriender.display_name} added you as a friend"
     headers "Auto-Submitted" => "auto-generated"