pundit: convert news updates to pundit.

This commit is contained in:
evazion
2020-03-17 00:09:01 -05:00
parent 1d16034144
commit d8e4a26906
2 changed files with 25 additions and 13 deletions

View File

@@ -1,44 +1,39 @@
class NewsUpdatesController < ApplicationController
before_action :admin_only
respond_to :html
def index
authorize NewsUpdate
@news_updates = NewsUpdate.order("id desc").paginate(params[:page], :limit => params[:limit])
respond_with(@news_updates)
end
def edit
@news_update = NewsUpdate.find(params[:id])
@news_update = authorize NewsUpdate.find(params[:id])
respond_with(@news_update)
end
def update
@news_update = NewsUpdate.find(params[:id])
@news_update.update(news_update_params)
@news_update = authorize NewsUpdate.find(params[:id])
@news_update.update(permitted_attributes(@news_update))
respond_with(@news_update, :location => news_updates_path)
end
def new
@news_update = NewsUpdate.new
@news_update = authorize NewsUpdate.new
respond_with(@news_update)
end
def create
@news_update = NewsUpdate.create(news_update_params.merge(creator: CurrentUser.user))
@news_update = authorize NewsUpdate.new(creator: CurrentUser.user, **permitted_attributes(NewsUpdate))
@news_update.save
respond_with(@news_update, :location => news_updates_path)
end
def destroy
@news_update = NewsUpdate.find(params[:id])
@news_update = authorize NewsUpdate.find(params[:id])
@news_update.destroy
respond_with(@news_update) do |format|
format.js
end
end
private
def news_update_params
params.require(:news_update).permit([:message])
end
end

View File

@@ -0,0 +1,17 @@
class NewsUpdatePolicy < ApplicationPolicy
def index?
user.is_admin?
end
def create?
user.is_admin?
end
def update?
user.is_admin?
end
def permitted_attributes
[:message]
end
end