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:
@@ -54,7 +54,7 @@ class ModAction < ApplicationRecord
|
||||
other: 2000
|
||||
}
|
||||
|
||||
def self.permitted(user)
|
||||
def self.visible(user)
|
||||
if user.is_moderator?
|
||||
all
|
||||
else
|
||||
@@ -65,7 +65,6 @@ class ModAction < ApplicationRecord
|
||||
def self.search(params)
|
||||
q = super
|
||||
|
||||
q = q.permitted(CurrentUser.user)
|
||||
q = q.search_attributes(params, :creator, :category, :description)
|
||||
q = q.text_attribute_matches(:description, params[:description_matches])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user