]> cat aescling's git repositories - mastodon.git/blob - app/controllers/invites_controller.rb
Add remote interaction dialog for toots (#8202)
[mastodon.git] / app / controllers / invites_controller.rb
1 # frozen_string_literal: true
2
3 class InvitesController < ApplicationController
4 include Authorization
5
6 layout 'admin'
7
8 before_action :authenticate_user!
9
10 def index
11 authorize :invite, :create?
12
13 @invites = invites
14 @invite = Invite.new
15 end
16
17 def create
18 authorize :invite, :create?
19
20 @invite = Invite.new(resource_params)
21 @invite.user = current_user
22
23 if @invite.save
24 redirect_to invites_path
25 else
26 @invites = invites
27 render :index
28 end
29 end
30
31 def destroy
32 @invite = invites.find(params[:id])
33 authorize @invite, :destroy?
34 @invite.expire!
35 redirect_to invites_path
36 end
37
38 private
39
40 def invites
41 Invite.where(user: current_user).order(id: :desc)
42 end
43
44 def resource_params
45 params.require(:invite).permit(:max_uses, :expires_in, :autofollow)
46 end
47 end
This page took 0.086966 seconds and 4 git commands to generate.