models: refactor search visibility methods.
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.
This commit is contained in:
@@ -4,7 +4,7 @@ class FavoriteGroupsController < ApplicationController
|
||||
|
||||
def index
|
||||
params[:search][:creator_id] ||= params[:user_id]
|
||||
@favorite_groups = FavoriteGroup.paginated_search(params)
|
||||
@favorite_groups = FavoriteGroup.visible(CurrentUser.user).paginated_search(params)
|
||||
@favorite_groups = @favorite_groups.includes(:creator) if request.format.html?
|
||||
|
||||
respond_with(@favorite_groups)
|
||||
|
||||
Reference in New Issue
Block a user