Drop unused tag subscription model.
This commit is contained in:
@@ -1,62 +0,0 @@
|
|||||||
class TagSubscription < ApplicationRecord
|
|
||||||
belongs_to :creator, :class_name => "User"
|
|
||||||
validates_presence_of :name, :tag_query, :creator_id
|
|
||||||
|
|
||||||
def migrate_to_saved_searches
|
|
||||||
tag_query.split(/\r\n|\r|\n/).each do |query|
|
|
||||||
creator.saved_searches.create(query: query, labels: [name])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def pretty_name
|
|
||||||
name.tr("_", " ")
|
|
||||||
end
|
|
||||||
|
|
||||||
def pretty_tag_query
|
|
||||||
tag_query_array.join(", ")
|
|
||||||
end
|
|
||||||
|
|
||||||
def tag_query_array
|
|
||||||
tag_query.scan(/[^\r\n]+/).map(&:strip)
|
|
||||||
end
|
|
||||||
|
|
||||||
def editable_by?(user)
|
|
||||||
user.is_moderator? || creator_id == user.id
|
|
||||||
end
|
|
||||||
|
|
||||||
module SearchMethods
|
|
||||||
def visible_to(user)
|
|
||||||
where("(is_public = TRUE OR creator_id = ? OR ?)", user.id, user.is_moderator?)
|
|
||||||
end
|
|
||||||
|
|
||||||
def owned_by(user)
|
|
||||||
where("creator_id = ?", user.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
def name_matches(name)
|
|
||||||
where("lower(name) like ? escape E'\\\\'", name.to_escaped_for_sql_like)
|
|
||||||
end
|
|
||||||
|
|
||||||
def search(params)
|
|
||||||
q = super
|
|
||||||
|
|
||||||
if params[:creator_id]
|
|
||||||
q = q.where("creator_id = ?", params[:creator_id].to_i)
|
|
||||||
elsif params[:creator_name]
|
|
||||||
q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].mb_chars.downcase.strip.tr(" ", "_"))
|
|
||||||
else
|
|
||||||
q = q.where("creator_id = ?", CurrentUser.user.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
if params[:name_matches]
|
|
||||||
q = q.name_matches(params[:name_matches].mb_chars.downcase.strip.tr(" ", "_"))
|
|
||||||
end
|
|
||||||
|
|
||||||
q = q.visible_to(CurrentUser.user)
|
|
||||||
|
|
||||||
q.apply_default_order(params)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
extend SearchMethods
|
|
||||||
end
|
|
||||||
Reference in New Issue
Block a user