2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 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
|