class DeviseInvitations::InvitationsController
Public Instance Methods
accept()
click to toggle source
# File lib/devise_invitations/controller.rb, line 2 def accept invitation = DeviseInvitations::Invitation.pending.find_by(token: params[:token]) if invitation.present? && invitation.valid? user = User.invite!( invitation_params(invitation).merge( skip_invitation: true ), invitation.sent_by ) user.update(invitation_sent_at: Time.now.utc) statuses = DeviseInvitations::Invitation.statuses invitation.update(status: statuses[:accepted]) DeviseInvitations::Invitation.pending .where(email: invitation.email) .update_all(status: statuses[:ignored]) redirect_to accept_invitation_url(user, invitation_token: user.raw_invitation_token) else flash[:error] = t('en.invitations.accept.not_valid') redirect_to root_path end end
Private Instance Methods
invitation_params(invitation)
click to toggle source
# File lib/devise_invitations/controller.rb, line 30 def invitation_params(invitation) { email: invitation.email } end