Class: Cally::InvitationsController
Instance Method Summary
collapse
Methods included from Methods
#admin_or_same_user?, #logged_in_as_admin?, #same_user?, #set_mailgun_prefix, #test_env?
#current_user, #is_admin?, #is_first_user?, #logged_in?
Instance Method Details
#create ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'app/controllers/cally/invitations_controller.rb', line 24
def create
if @invitation_only == 'true'
@invitation = Invitation.new(invitation_params)
@invitation.invitation_key = OmwRandomString.generate(32)
if @invitation.save
flash[:success] = "Created invitation request for '#{@invitation.email}'."
redirect_to login_path
else
flash[:error] = 'Error create invitation request.'
render 'new'
end
else
flash[:error] = 'This is an open subscription, no invitation needed.'
redirect_to new_user_path
end
end
|
#destroy ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'app/controllers/cally/invitations_controller.rb', line 49
def destroy
invite = Invitation.find(params[:id])
if invite.destroy
flash[:success] = 'Invitation successfully deleted.'
redirect_to all_invitations_path
else
flash[:error] = 'Error deleting invitation.'
redirect_to all_invitations_path
end
end
|
#index ⇒ Object
44
45
46
47
|
# File 'app/controllers/cally/invitations_controller.rb', line 44
def index
@invitations = Invitation.paginate(page: params[:page], per_page: 20)
end
|
#new ⇒ Object
13
14
15
16
17
18
19
20
21
22
|
# File 'app/controllers/cally/invitations_controller.rb', line 13
def new
if @invitation_only == 'true'
@invitation = Invitation.new
else
flash[:error] = 'This is an open subscription, no invitation needed.'
redirect_to new_user_path
end
end
|
#send_invitation ⇒ Object
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'app/controllers/cally/invitations_controller.rb', line 62
def send_invitation
set_mailgun_prefix
invitation = Invitation.find(params[:id])
invitation_url = request.base_url + "/#{@mailgun_prefix}invitation/#{invitation.invitation_key}"
if invitation.update(sent: true) && send_invite(invitation.email, invitation_url)
flash[:success] = "Sent invitation to '#{invitation.email}'"
redirect_to all_invitations_path
else
flash[:error] = "Error sending invitation url to '#{invitation.email}'"
redirect_to all_invitations_path
end
end
|