From bb5ada6533abec59a93f0415ce14e71422994444 Mon Sep 17 00:00:00 2001
From: Maxwell Salzberg <maxwell@joindiaspora.com>
Date: Fri, 19 Aug 2011 15:27:51 -0700
Subject: [PATCH] create a wrapper class for devise mailer, both so we can
 resquify it and so we can inject helpers

---
 app/mailers/diaspora_devise_mailer.rb |  5 +++++
 config/initializers/devise.rb         | 13 +++----------
 public/javascripts/contact-edit.js    |  3 ++-
 3 files changed, 10 insertions(+), 11 deletions(-)
 create mode 100644 app/mailers/diaspora_devise_mailer.rb

diff --git a/app/mailers/diaspora_devise_mailer.rb b/app/mailers/diaspora_devise_mailer.rb
new file mode 100644
index 0000000000..39a34b2bf3
--- /dev/null
+++ b/app/mailers/diaspora_devise_mailer.rb
@@ -0,0 +1,5 @@
+class DiasporaDeviseMailer < DeviseMailer
+  include NotifierHelper
+  default :from => AppConfig[:smtp_sender_address]
+
+end
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 65beed6daa..718bfd33f1 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -15,21 +15,14 @@ end
 
 Devise.setup do |config|
   # Configure the e-mail address which will be shown in DeviseMailer.
-  if AppConfig[:smtp_sender_address]
-    config.mailer_sender = AppConfig[:smtp_sender_address]
-  else
-    unless Rails.env == 'test'
-      Rails.logger.warn("No smtp sender address set, mail may fail.")
-      puts "WARNING: No smtp sender address set, mail may fail."
-    end
-    config.mailer_sender = "please-change-me@config-initializers-devise.com"
-  end
-
   # ==> ORM configuration
   # Load and configure the ORM. Supports :active_record (default), :mongoid
   # (bson_ext recommended) and :data_mapper (experimental).
   require 'devise/orm/active_record'
 
+  # Configure the class responsible to send e-mails.
+  config.mailer = "DiasporaDeviseMailer"
+
   # ==> Configuration for any authentication mechanism
   # Configure which keys are used when authenticating an user. By default is
   # just :email. You can configure it to use [:username, :subdomain], so for
diff --git a/public/javascripts/contact-edit.js b/public/javascripts/contact-edit.js
index 2e09fac6a9..2d8d49ece1 100644
--- a/public/javascripts/contact-edit.js
+++ b/public/javascripts/contact-edit.js
@@ -5,7 +5,7 @@
 var ContactEdit = {
   init: function(){
     $.extend(ContactEdit, AspectsDropdown);
-    $('.dropdown.aspect_membership .dropdown_list > li').live('click', function(evt){
+    $('.dropdown.aspect_membership .dropdown_list > li, .dropdown.inviter .dropdown_list >li').live('click', function(evt){
       ContactEdit.processClick($(this), evt);
     });
     // $('.button.resend').live('click', function(evt){
@@ -23,6 +23,7 @@ var ContactEdit = {
     li.addClass('loading');
     if (dropdown.hasClass('inviter')) {
       ContactEdit.inviteFriend(li, evt);
+      dropdown.html('sending, please wait...');
     }
     else {
       ContactEdit.toggleAspectMembership(li, evt);
-- 
GitLab