From 91998f5b804e2c309bb666cd12f86fb75618b82b Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Thu, 20 Aug 2009 16:58:16 -0300 Subject: [PATCH] ActionItem1165: sending e-mail do the right place --- app/models/person.rb | 6 +++++- app/models/user.rb | 8 ++++++-- app/views/shared/user_menu.rhtml | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/models/person.rb b/app/models/person.rb index 561b3c5..d87b02a 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -194,9 +194,13 @@ class Person < Profile has_and_belongs_to_many :favorite_enterprises, :class_name => 'Enterprise', :join_table => 'favorite_enteprises_people' + def email_domain + user && user.email_domain || environment.default_hostname(true) + end + def email_addresses # TODO for now, only one e-mail address - ['%s@%s' % [self.identifier, (self.preferred_domain ? self.preferred_domain.name : self.environment.default_hostname(true)) ] ] + ['%s@%s' % [self.identifier, self.email_domain] ] end def display_info_to?(user) diff --git a/app/models/user.rb b/app/models/user.rb index 1268e06..fd39e39 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -50,15 +50,19 @@ class User < ActiveRecord::Base end end + def email_domain + self.person.preferred_domain && self.person.preferred_domain.name || self.environment.default_hostname(true) + end + class Mailer < ActionMailer::Base def activation_email_notify(user) - user_email = "#{user.login}@#{user.environment.default_hostname(true)}" + user_email = "#{user.login}@#{user.email_domain}" recipients user_email from "#{user.environment.name} <#{user.environment.contact_email}>" subject _("[%{environment}] Welcome to %{environment} mail!") % { :environment => user.environment.name } body :name => user.name, :email => user_email, - :webmail => MailConf.webmail_url(user.login, user.person.preferred_domain && user.person.preferred_domain.name || user.environment.default_hostname(true)), + :webmail => MailConf.webmail_url(user.login, user.email_domain), :environment => user.environment.name, :url => url_for(:host => user.environment.default_hostname, :controller => 'home') end diff --git a/app/views/shared/user_menu.rhtml b/app/views/shared/user_menu.rhtml index 46c32bb..b7209e1 100644 --- a/app/views/shared/user_menu.rhtml +++ b/app/views/shared/user_menu.rhtml @@ -31,7 +31,7 @@ <% if MailConf.enabled? && current_user.enable_email %>
  • - <%= link_to '' + _('Webmail'), MailConf.webmail_url(user.identifier, user.preferred_domain && user.preferred_domain.name || user.environment.default_hostname(true)) %> + <%= link_to '' + _('Webmail'), MailConf.webmail_url(user.identifier, current_user.email_domain) %>
  • <% end %> -- libgit2 0.21.2