Class: ModWarningController
Instance Method Summary
collapse
#dashboard, #keyboard_tools, #upload
Instance Method Details
#approve ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
|
# File '/var/apps/qpixel/app/controllers/mod_warning_controller.rb', line 12
def approve
return not_found! if @warning.suspension_active?
if params[:approve_checkbox].nil?
@failed_to_click_checkbox = true
return render 'current', layout: 'without_sidebar'
end
@warning.update(active: false, read: true)
redirect_to(root_path)
end
|
#create ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File '/var/apps/qpixel/app/controllers/mod_warning_controller.rb', line 36
def create
suspension_duration = params[:mod_warning][:suspension_duration].to_i
suspension_duration = 1 if suspension_duration <= 0
suspension_duration = 365 if suspension_duration > 365
suspension_end = DateTime.now + suspension_duration.days
is_suspension = params[:mod_warning][:is_suspension] == 'true'
@warning = ModWarning.new(author: current_user, community_user: @user.,
body: params[:mod_warning][:body], is_suspension: is_suspension,
suspension_end: suspension_end, active: true, read: false)
if @warning.save
audit_warning('warning_create', @warning)
if is_suspension
@user..update(is_suspended: is_suspension, suspension_end: suspension_end,
suspension_public_comment: params[:mod_warning][:suspension_public_notice])
audit_warning('suspension_create', @warning)
end
redirect_to user_path(@user)
else
render :new
end
end
|
#current ⇒ Object
8
9
10
|
# File '/var/apps/qpixel/app/controllers/mod_warning_controller.rb', line 8
def current
render layout: 'without_sidebar'
end
|
#lift ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File '/var/apps/qpixel/app/controllers/mod_warning_controller.rb', line 66
def lift
@warning = ModWarning.to(@user).active.last
return not_found! if @warning.nil?
@warning.update(active: false, read: false)
@user..update is_suspended: false, suspension_public_comment: nil, suspension_end: nil
audit_warning('warning_lift', @warning)
if @warning.suspension?
audit_warning('suspension_lift', @warning)
end
flash[:success] = 'The warning or suspension has been lifted. Please consider adding an annotation ' \
'explaining your reasons.'
redirect_to mod_warning_log_path(@user)
end
|
#log ⇒ Object
24
25
26
27
|
# File '/var/apps/qpixel/app/controllers/mod_warning_controller.rb', line 24
def log
@warnings = ModWarning.to(@user).newest_first.all
render layout: 'without_sidebar'
end
|
#new ⇒ Object
29
30
31
32
33
34
|
# File '/var/apps/qpixel/app/controllers/mod_warning_controller.rb', line 29
def new
@templates = WarningTemplate.where(active: true).all
@prior_warning_count = ModWarning.to(@user).newest_first.count
@warning = ModWarning.new(author: current_user, community_user: @user.)
render layout: 'without_sidebar'
end
|