]> cat aescling's git repositories - mastodon.git/blob - app/controllers/filters_controller.rb
Merge branch 'master' into glitch-soc/merge-upstream
[mastodon.git] / app / controllers / filters_controller.rb
1 # frozen_string_literal: true
2
3 class FiltersController < ApplicationController
4 include Authorization
5
6 layout 'admin'
7
8 before_action :set_filters, only: :index
9 before_action :set_filter, only: [:edit, :update, :destroy]
10 before_action :set_pack
11 before_action :set_body_classes
12
13 def index
14 @filters = current_account.custom_filters
15 end
16
17 def new
18 @filter = current_account.custom_filters.build
19 end
20
21 def create
22 @filter = current_account.custom_filters.build(resource_params)
23
24 if @filter.save
25 redirect_to filters_path
26 else
27 render action: :new
28 end
29 end
30
31 def edit; end
32
33 def update
34 if @filter.update(resource_params)
35 redirect_to filters_path
36 else
37 render action: :edit
38 end
39 end
40
41 def destroy
42 @filter.destroy
43 redirect_to filters_path
44 end
45
46 private
47
48 def set_pack
49 use_pack 'settings'
50 end
51
52 def set_filters
53 @filters = current_account.custom_filters
54 end
55
56 def set_filter
57 @filter = current_account.custom_filters.find(params[:id])
58 end
59
60 def resource_params
61 params.require(:custom_filter).permit(:phrase, :expires_in, :irreversible, :whole_word, context: [])
62 end
63
64 def set_body_classes
65 @body_classes = 'admin'
66 end
67 end
This page took 0.085043 seconds and 4 git commands to generate.