support new listbooru changes #2523

This commit is contained in:
r888888888
2015-11-03 16:49:43 -08:00
parent faa41d6181
commit 6514265ca7
7 changed files with 32 additions and 19 deletions

View File

@@ -3,24 +3,30 @@ class SavedSearch < ActiveRecord::Base
extend ActiveSupport::Concern
module ClassMethods
def refresh_listbooru(user_id)
def refresh_listbooru(user_id, name)
return unless Danbooru.config.listbooru_auth_key
uri = URI.parse("#{Danbooru.config.listbooru_server}/users/#{user_id}")
params = {
:user_id => user_id,
:name => name,
:key => Danbooru.config.listbooru_auth_key
}
uri = URI.parse("#{Danbooru.config.listbooru_server}/users")
uri.query = URI.encode_www_form(params)
Net::HTTP.get_response(uri)
end
def update_listbooru_on_create(user_id, query)
def update_listbooru_on_create(user_id, name, query)
return unless Danbooru.config.listbooru_auth_key
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})
Net::HTTP.post_form(uri, {"user_id" => user_id, "name" => name.try(:downcase), "query" => query, "key" => Danbooru.config.listbooru_auth_key})
end
def update_listbooru_on_destroy(user_id, query)
def update_listbooru_on_destroy(user_id, name, query)
return unless Danbooru.config.listbooru_auth_key
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)
req.set_form_data("user_id" => user_id, "name" => name.try(:downcase), "query" => query, "key" => Danbooru.config.listbooru_auth_key)
http.request(req)
end
end
@@ -28,12 +34,12 @@ class SavedSearch < ActiveRecord::Base
def update_listbooru_on_create
return unless Danbooru.config.listbooru_auth_key
SavedSearch.delay(:queue => "default").update_listbooru_on_create(user_id, tag_query)
SavedSearch.delay(:queue => "default").update_listbooru_on_create(user_id, category, 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)
SavedSearch.delay(:queue => "default").update_listbooru_on_destroy(user_id, category, tag_query)
end
end

View File

@@ -32,13 +32,14 @@ class User < ActiveRecord::Base
has_saved_searches
can_approve_posts
can_upload_free
enable_categorized_saved_searches
)
include Danbooru::HasBitFlags
has_bit_flags BOOLEAN_ATTRIBUTES, :field => "bit_prefs"
attr_accessor :password, :old_password
attr_accessible :dmail_filter_attributes, :enable_privacy_mode, :enable_post_navigation, :new_post_navigation_layout, :password, :old_password, :password_confirmation, :password_hash, :email, :last_logged_in_at, :last_forum_read_at, :has_mail, :receive_email_notifications, :comment_threshold, :always_resize_images, :favorite_tags, :blacklisted_tags, :name, :ip_addr, :time_zone, :default_image_size, :enable_sequential_post_navigation, :per_page, :hide_deleted_posts, :style_usernames, :enable_auto_complete, :custom_style, :show_deleted_children, :as => [:moderator, :janitor, :gold, :member, :anonymous, :default, :builder, :admin]
attr_accessible :dmail_filter_attributes, :enable_privacy_mode, :enable_post_navigation, :new_post_navigation_layout, :password, :old_password, :password_confirmation, :password_hash, :email, :last_logged_in_at, :last_forum_read_at, :has_mail, :receive_email_notifications, :comment_threshold, :always_resize_images, :favorite_tags, :blacklisted_tags, :name, :ip_addr, :time_zone, :default_image_size, :enable_sequential_post_navigation, :per_page, :hide_deleted_posts, :style_usernames, :enable_auto_complete, :custom_style, :show_deleted_children, :enable_categorized_saved_searches, :as => [:moderator, :janitor, :gold, :member, :anonymous, :default, :builder, :admin]
attr_accessible :level, :as => :admin
validates_length_of :name, :within => 2..100, :on => :create
validates_format_of :name, :with => /\A[^\s:]+\Z/, :on => :create, :message => "cannot have whitespace or colons"