admins can resend invitations
This commit is contained in:
parent
f0ba62be59
commit
435451bc5b
3 changed files with 15 additions and 6 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
class AdminsController < ApplicationController
|
class AdminsController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_filter :authenticate_user!
|
||||||
before_filter :redirect_unless_admin
|
before_filter :redirect_unless_admin
|
||||||
|
|
||||||
def user_search
|
def user_search
|
||||||
user = params[:user] || {}
|
user = params[:user] || {}
|
||||||
user = user.delete_if {|key, value| value.blank? }
|
user = user.delete_if {|key, value| value.blank? }
|
||||||
|
|
@ -17,7 +17,10 @@ class AdminsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def admin_inviter
|
def admin_inviter
|
||||||
Invitation.create_invitee(:service => 'email', :identifier => params[:identifier])
|
opts = {:service => 'email', :identifier => params[:identifier]}
|
||||||
|
existing_user = Invitation.find_existing_user('email', params[:identifier])
|
||||||
|
opts.merge!(:existing_user => existing_user) if existing_user
|
||||||
|
Invitation.create_invitee(opts)
|
||||||
flash[:notice] = "invitation sent to #{params[:identifier]}"
|
flash[:notice] = "invitation sent to #{params[:identifier]}"
|
||||||
redirect_to '/admins/user_search'
|
redirect_to '/admins/user_search'
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ require 'spec_helper'
|
||||||
describe AdminsController do
|
describe AdminsController do
|
||||||
render_views
|
render_views
|
||||||
before do
|
before do
|
||||||
@user = Factory :user
|
@user = Factory :user
|
||||||
sign_in :user, @user
|
sign_in :user, @user
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -54,11 +54,18 @@ describe AdminsController do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#admin_inviter' do
|
describe '#admin_inviter' do
|
||||||
it 'invites a user' do
|
it 'invites a new user' do
|
||||||
Invitation.should_receive(:create_invitee).with(:service => 'email', :identifier => 'bob@moms.com')
|
Invitation.should_receive(:create_invitee).with(:service => 'email', :identifier => 'bob@moms.com')
|
||||||
get :admin_inviter, :identifier => 'bob@moms.com'
|
get :admin_inviter, :identifier => 'bob@moms.com'
|
||||||
response.should be_redirect
|
response.should be_redirect
|
||||||
end
|
end
|
||||||
|
it 'passes an existing user to create_invitee' do
|
||||||
|
Factory.create(:user, :email => 'bob@moms.com')
|
||||||
|
bob = User.where(:email => 'bob@moms.com').first
|
||||||
|
Invitation.should_receive(:find_existing_user).with('email', 'bob@moms.com').and_return(bob)
|
||||||
|
Invitation.should_receive(:create_invitee).with(:service => 'email', :identifier => 'bob@moms.com', :existing_user => bob)
|
||||||
|
get :admin_inviter, :identifier => 'bob@moms.com'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ ENV["RAILS_ENV"] ||= 'test'
|
||||||
require File.join(File.dirname(__FILE__), '..', 'config', 'environment') unless defined?(Rails)
|
require File.join(File.dirname(__FILE__), '..', 'config', 'environment') unless defined?(Rails)
|
||||||
require 'helper_methods'
|
require 'helper_methods'
|
||||||
require 'rspec/rails'
|
require 'rspec/rails'
|
||||||
puts require 'rspec'
|
|
||||||
require 'webmock/rspec'
|
require 'webmock/rspec'
|
||||||
require 'factory_girl'
|
require 'factory_girl'
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue