tilde.news/app/controllers/mod_notes_controller.rb
Peter Bhat Harkins d2963d4b80 title mod pages
2019-02-19 18:34:58 -06:00

40 lines
1.0 KiB
Ruby

class ModNotesController < ModController
before_action :require_logged_in_moderator
def index
@title = "Mod Notes"
@username = params[:username]
query = ModNote.order('created_at desc').includes(:moderator, :user)
if (@username = params[:username])
if (user = User.find_by(username: @username))
@title = "#{@username} Mod Notes"
@notes = query.where(user: user)
else
@notes = []
flash[:error] = "User not found"
end
else
@notes = period(query)
end
end
def create
@title = "Create Mod Note"
@mod_note = ModNote.new(mod_note_params)
@mod_note.moderator = @user
if @mod_note.save
redirect_to user_path(@mod_note.user), success: 'Noted'
else
# This is bad and needs to change if note ever has non-trivial validation
redirect_to user_path(@mod_note.user),
error: "Invalid note and Peter half-assed the error handling"
end
end
private
def mod_note_params
params.require(:mod_note).permit(:username, :note)
end
end