remove support for listbooru for tag subscriptions, enable for saved searches #2523
This commit is contained in:
@@ -523,16 +523,12 @@
|
||||
|
||||
Danbooru.Post.initialize_saved_searches = function() {
|
||||
$("#save-search").click(function() {
|
||||
var input = window.prompt("Category for this saved search (optional):");
|
||||
if (input !== null) {
|
||||
$.post(
|
||||
"/saved_searches.js",
|
||||
{
|
||||
"tags": $("#tags").attr("value"),
|
||||
"category": input
|
||||
}
|
||||
);
|
||||
}
|
||||
$.post(
|
||||
"/saved_searches.js",
|
||||
{
|
||||
"tags": $("#tags").attr("value")
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
@@ -1,11 +1,43 @@
|
||||
class SavedSearch < ActiveRecord::Base
|
||||
module ListbooruMethods
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
module ClassMethods
|
||||
def update_listbooru_on_create(user_id, query)
|
||||
uri = URI.parse("#{Danbooru.config.listbooru_server}/searches")
|
||||
Net::HTTP.post_form(uri, {"user_id" => user_id, "query" => query, "key" => Danbooru.config.listbooru_auth_key})
|
||||
end
|
||||
|
||||
def update_listbooru_on_destroy(user_id, query)
|
||||
uri = URI.parse("#{Danbooru.config.listbooru_server}/searches")
|
||||
Net::HTTP.start(uri.host, uri.port) do |http|
|
||||
req = Net::HTTP::Delete.new("/searches")
|
||||
req.set_form_data("user_id" => user_id, "query" => query, "key" => Danbooru.config.listbooru_auth_key)
|
||||
http.request(req)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def update_listbooru_on_create
|
||||
return unless Danbooru.config.listbooru_auth_key
|
||||
SavedSearch.delay(:queue => "default").update_listbooru_on_create(user_id, tag_query)
|
||||
end
|
||||
|
||||
def update_listbooru_on_destroy
|
||||
return unless Danbooru.config.listbooru_auth_key
|
||||
SavedSearch.delay(:queue => "default").update_listbooru_on_destroy(user_id, tag_query)
|
||||
end
|
||||
end
|
||||
|
||||
include ListbooruMethods
|
||||
|
||||
belongs_to :user
|
||||
validates :tag_query, :presence => true
|
||||
validate :validate_count
|
||||
attr_accessible :tag_query, :category
|
||||
before_create :update_user_on_create
|
||||
after_destroy :update_user_on_destroy
|
||||
before_create :update_listbooru_on_create
|
||||
after_create :update_listbooru_on_create
|
||||
after_destroy :update_listbooru_on_destroy
|
||||
validates_uniqueness_of :tag_query, :scope => :user_id
|
||||
before_validation :normalize
|
||||
@@ -40,18 +72,4 @@ class SavedSearch < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def update_listbooru_on_create
|
||||
return unless Danbooru.config.listbooru_auth_key
|
||||
Net::HTTP.post_form(Danbooru.config.listbooru_server, {"user_id" => user_id, "query" => tag_query, "key" => Danbooru.config.listbooru_auth_key, "name" => "saved"})
|
||||
end
|
||||
|
||||
def update_listbooru_on_destroy
|
||||
return unless Danbooru.config.listbooru_auth_key
|
||||
uri = URI.parse(Danbooru.config.listbooru_server)
|
||||
Net::HTTP.start(uri.host, uri.port) do |http|
|
||||
req = Net::HTTP::Delete.new("/searches")
|
||||
req.set_form_data("user_id" => user_id, "query" => tag_query, "key" => Danbooru.config.listbooru_auth_key, "name" => "saved")
|
||||
http.request(req)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -4,9 +4,6 @@ class TagSubscription < ActiveRecord::Base
|
||||
before_validation :initialize_post_ids, :on => :create
|
||||
before_save :normalize_name
|
||||
before_save :limit_tag_count
|
||||
before_create :update_listbooru_on_create
|
||||
before_update :update_listbooru_on_update
|
||||
after_destroy :update_listbooru_on_destroy
|
||||
attr_accessible :name, :tag_query, :post_ids, :is_public, :is_visible_on_profile
|
||||
validates_presence_of :name, :tag_query, :creator_id
|
||||
validate :validate_number_of_queries
|
||||
@@ -78,26 +75,6 @@ class TagSubscription < ActiveRecord::Base
|
||||
post_ids.split(/,/)
|
||||
end
|
||||
|
||||
def update_listbooru_on_create
|
||||
return unless Danbooru.config.listbooru_auth_key
|
||||
Net::HTTP.post_form(Danbooru.config.listbooru_server, {"user_id" => user_id, "query" => tag_query, "name" => "sub:#{id}", "key" => Danbooru.config.listbooru_auth_key})
|
||||
end
|
||||
|
||||
def update_listbooru_on_update
|
||||
update_listbooru_on_destroy
|
||||
update_listbooru_on_create
|
||||
end
|
||||
|
||||
def update_listbooru_on_destroy
|
||||
return unless Danbooru.config.listbooru_auth_key
|
||||
uri = URI.parse(Danbooru.config.listbooru_server)
|
||||
Net::HTTP.start(uri.host, uri.port) do |http|
|
||||
req = Net::HTTP::Delete.new("/searches")
|
||||
req.set_form_data("user_id" => user_id, "query" => tag_query, "key" => Danbooru.config.listbooru_auth_key, "name" => "sub:#{id}")
|
||||
http.request(req)
|
||||
end
|
||||
end
|
||||
|
||||
module SearchMethods
|
||||
def visible_to(user)
|
||||
where("(is_public = TRUE OR creator_id = ? OR ?)", user.id, user.is_moderator?)
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
<tr id="saved-search-<%= saved_search.id %>">
|
||||
<td><%= link_to saved_search.tag_query, posts_path(:tags => saved_search.tag_query) %></td>
|
||||
<td>
|
||||
<%= link_to "edit", edit_saved_search_path(saved_search) %> |
|
||||
<%= link_to "delete", saved_search_path(saved_search), :method => :delete, :remote => true %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user