-
-
Save jnx/942ddb377a0227dc2fe4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- /app/views/admin/users/new_invitiations.html.erb --> | |
<h2>Send invitation</h2> | |
<%= form_for @user, :url => send_invitation_admin_users_path do |f| %> | |
<table style='width: 50%'> | |
<tr> | |
<td><%= f.label :first_name %></td> | |
<td><%= f.text_field :first_name %></td> | |
</tr> | |
<tr> | |
<td><%= f.label :last_name %></td> | |
<td><%= f.text_field :last_name %></td> | |
</tr> | |
<tr> | |
<td><%= f.label :email %></td> | |
<td><%= f.text_field :email, :required => true %></td> | |
</tr> | |
</table> | |
<%= f.submit "Send an Invitation" %> | |
<% end %> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# /config/routes.rb | |
devise_for :users, | |
:controllers => { | |
:sessions => "users_sessions", | |
:registrations => "user_registrations", | |
:passwords => "user_passwords", | |
# Proper invitations should be sent through the active_admin interface. | |
:invitations => 'users_invitations' # user_invitations_controller.rb | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# /app/admin/users.rb | |
action_item do | |
link_to 'Invite New User', new_invitation_admin_users_path | |
end | |
collection_action :new_invitation do | |
@user = User.new | |
end | |
collection_action :send_invitation, :method => :post do | |
@user = User.invite!(params[:user], current_user) | |
if @user.errors.empty? | |
flash[:success] = "User has been successfully invited." | |
redirect_to admin_users_path | |
else | |
messages = @user.errors.full_messages.map { |msg| msg }.join | |
flash[:error] = "Error: " + messages | |
redirect_to new_invitation_admin_users_path | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# /app/controllers/users_invitations_controller.rb | |
class UsersInvitationsController < Devise::InvitationsController | |
# GET /resource/invitation/accept?invitation_token=abcdef | |
def edit | |
render :edit, :layout => false | |
end | |
# PUT /resource/invitation | |
def update | |
self.resource = resource_class.accept_invitation!(resource_params) | |
if resource.errors.empty? | |
flash_message = resource.active_for_authentication? ? :updated : :updated_not_active | |
set_flash_message :notice, flash_message | |
sign_in(resource_name, resource) | |
redirect_to '/profile', :alert => "Welcome! Please fill out your profile and upload a headshot." | |
else | |
respond_with_navigational(resource){ render :edit, :layout => false } | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment