Class: MerbAuthSliceMultisite::Passwords

Inherits:
Application
  • Object
show all
Defined in:
app/controllers/passwords.rb

Instance Method Summary collapse

Instance Method Details

#send_passwordObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/passwords.rb', line 3

def send_password
  @login_param = Merb::Authentication::Strategies::Multisite::Base.
  @site_id_param = Merb::Authentication::Strategies::Multisite::Base.site_id_param
  @user = Merb::Authentication.user_class.first(@login_param => params[@login_param], @site_id_param => params[@site_id_param])
    
  if @user
    from = MerbAuthSliceMultisite[:send_password_from_email]
    raise "No :send_password_from_email option set for Merb::Slices::config[:merb_auth_slice_multisite][:send_password_from_email]" unless from 
    @user.password = @user.password_confirmation = new_generated_password     
    send_mail(MerbAuthSliceMultisite::SendPasswordMailer, :send_password, { :subject => (MerbAuthSliceMultisite[:send_password_subject] || "Forgetful? :)"), :from => from, :to => @user.email }, { :user => @user })
    @user.save
    redirect "/", :message => {:notice => "Password sent. Check your email."}
  else
    redirect "/", :message => {:error => "User with #{@login_param} \"%s\" not found".t(params[@login_param].freeze)}
  end
end