]> cat aescling's git repositories - mastodon.git/blob - app/controllers/invites_controller.rb
Add instance-wide setting to disable profile directory (#9497)
[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 before_action :set_body_classes
10
11 def index
12 authorize :invite, :create?
13
14 @invites = invites
15 @invite = Invite.new
16 end
17
18 def create
19 authorize :invite, :create?
20
21 @invite = Invite.new(resource_params)
22 @invite.user = current_user
23
24 if @invite.save
25 redirect_to invites_path
26 else
27 @invites = invites
28 render :index
29 end
30 end
31
32 def destroy
33 @invite = invites.find(params[:id])
34 authorize @invite, :destroy?
35 @invite.expire!
36 redirect_to invites_path
37 end
38
39 private
40
41 def invites
42 Invite.where(user: current_user).order(id: :desc)
43 end
44
45 def resource_params
46 params.require(:invite).permit(:max_uses, :expires_in, :autofollow)
47 end
48
49 def set_body_classes
50 @body_classes = 'admin'
51 end
52 end
This page took 0.070007 seconds and 4 git commands to generate.