add edit option for saved searches

This commit is contained in:
r888888888
2015-11-19 13:44:04 -08:00
parent a8f3a58a37
commit 1288889e52
3 changed files with 34 additions and 1 deletions

View File

@@ -37,6 +37,16 @@ class SavedSearchesController < ApplicationController
@saved_search.destroy
end
def edit
@saved_search = saved_searches.find(params[:id])
end
def update
@saved_search = saved_searches.find(params[:id])
@saved_search.update_attributes(params[:saved_search])
respond_with(@saved_search, :location => saved_searches_path)
end
private
def saved_searches

View File

@@ -30,6 +30,23 @@ class SavedSearch < ActiveRecord::Base
http.request(req)
end
end
def update_listbooru_on_update(user_id, old_name, old_query, new_name, new_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::Put.new("/searches")
req.set_form_data(
"user_id" => user_id,
"old_name" => old_name.try(:downcase),
"old_query" => old_query,
"new_name" => new_name.try(:downcase),
"new_query" => new_query,
"key" => Danbooru.config.listbooru_auth_key
)
http.request(req)
end
end
end
def update_listbooru_on_create
@@ -41,6 +58,11 @@ class SavedSearch < ActiveRecord::Base
return unless Danbooru.config.listbooru_auth_key
SavedSearch.delay(:queue => "default").update_listbooru_on_destroy(user_id, category, tag_query)
end
def update_listbooru_on_update
return unless Danbooru.config.listbooru_auth_key
SavedSearch.delay(:queue => "default").update_listbooru_on_update(user_id, category_was, tag_query_was, category, tag_query)
end
end
include ListbooruMethods
@@ -50,6 +72,7 @@ class SavedSearch < ActiveRecord::Base
validate :validate_count
attr_accessible :tag_query, :category
before_create :update_user_on_create
before_update :update_listbooru_on_update
after_destroy :update_user_on_destroy
after_create :update_listbooru_on_create
after_destroy :update_listbooru_on_destroy

View File

@@ -222,7 +222,7 @@ Rails.application.routes.draw do
get "reports/user_promotions" => "reports#user_promotions"
get "reports/janitor_trials" => "reports#janitor_trials"
get "reports/contributors" => "reports#contributors"
resources :saved_searches, :only => [:index, :create, :destroy] do
resources :saved_searches, :except => [:show] do
collection do
get :categories
end