Refactor how model visibility works in index actions: * Call `visible` in the controller instead of in model `search` methods. This decouples model visibility from model searching. * Explicitly pass CurrentUser when calling `visible`. This reduces hidden dependencies on the current user inside models. * Standardize on calling the method `visible`. In some places it was called `permitted` instead. * Add a `visible` base method to ApplicationModel.
18 lines
484 B
Ruby
18 lines
484 B
Ruby
class ModActionsController < ApplicationController
|
|
respond_to :html, :xml, :json
|
|
|
|
def index
|
|
@mod_actions = ModAction.visible(CurrentUser.user).paginated_search(params)
|
|
@mod_actions = @mod_actions.includes(:creator) if request.format.html?
|
|
|
|
respond_with(@mod_actions)
|
|
end
|
|
|
|
def show
|
|
@mod_action = ModAction.find(params[:id])
|
|
respond_with(@mod_action) do |fmt|
|
|
fmt.html { redirect_to mod_actions_path(search: { id: @mod_action.id }) }
|
|
end
|
|
end
|
|
end
|