forked from e621ng/e621ng
artists: replace artist finder with fetch source data.
* On posts, automatically trigger "Fetch source data" when clicking the Edit tab, instead of triggering the artist finder button. This way we find both the artist and the translated tags in one ajax call. * Remove the "Artist" finder button next to the source field. This isn't necessary given that "Fetch source data" finds the artist itself. * Remove the /artists/finder.json API endpoint. This is no longer used after removing the "Artist" finder button.
This commit is contained in:
parent
a5df178bcc
commit
10ca4dd3ad
@ -92,20 +92,6 @@ class ArtistsController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def finder
|
||||
@artists = Artist.find_artists(params[:url], params[:referer_url])
|
||||
|
||||
respond_with(@artists) do |format|
|
||||
format.xml do
|
||||
render :xml => @artists.to_xml(:include => [:sorted_urls], :root => "artists")
|
||||
end
|
||||
format.json do
|
||||
render :json => @artists.to_json(:include => [:sorted_urls])
|
||||
expires_in params[:expiry].to_i.days if params[:expiry]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_artist
|
||||
|
@ -441,7 +441,7 @@ Post.initialize_post_sections = function() {
|
||||
$("#share").hide();
|
||||
$("#post_tag_string").focus().selectEnd().height($("#post_tag_string")[0].scrollHeight);
|
||||
$("#related-tags-button").trigger("click");
|
||||
$("#find-artist-button").trigger("click");
|
||||
$("#fetch-data-manual").trigger("click");
|
||||
$("#recommended").hide();
|
||||
} else if (e.target.hash === "#recommended") {
|
||||
$("#comments").hide();
|
||||
|
@ -1,3 +1,4 @@
|
||||
import Upload from './uploads';
|
||||
import Utility from './utility';
|
||||
import Cookie from './cookie';
|
||||
|
||||
@ -16,7 +17,6 @@ RelatedTag.initialize_buttons = function() {
|
||||
<% TagCategory.related_button_list.each do |category| %>
|
||||
RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>"); // eslint-disable-line indent
|
||||
<% end %>
|
||||
$("#find-artist-button").on("click.danbooru", RelatedTag.find_artist);
|
||||
}
|
||||
|
||||
RelatedTag.tags_include = function(name) {
|
||||
@ -281,21 +281,6 @@ RelatedTag.toggle_tag = function(e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
RelatedTag.find_artist = function(e) {
|
||||
$("#artist-tags").html("<em>Loading...</em>");
|
||||
var url = $("#upload_source,#post_source");
|
||||
var referer_url = $("#upload_referer_url");
|
||||
$.get("/artists/finder.json", {"url": url.val(), "referer_url": referer_url.val()}, RelatedTag.process_artist);
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
RelatedTag.process_artist = function(data) {
|
||||
RelatedTag.recent_artists = data;
|
||||
RelatedTag.build_all();
|
||||
}
|
||||
|
||||
RelatedTag.toggle = function() {
|
||||
if ($("#related-tags").is(":visible")) {
|
||||
RelatedTag.hide();
|
||||
@ -332,7 +317,7 @@ RelatedTag.disable_artist_url = function(e) {
|
||||
is_active: false
|
||||
}
|
||||
}
|
||||
}).done(RelatedTag.find_artist);
|
||||
}).done(Upload.fetch_data_manual);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
|
@ -69,7 +69,6 @@
|
||||
<%= f.label :source %>
|
||||
<%= f.text_field :source %>
|
||||
<%= button_tag "Similar", :id => "similar-button", :type => "button", :class => "ui-button ui-widget ui-corner-all sub gradient" %>
|
||||
<%= button_tag "Artist", :id => "find-artist-button", :type => "button", :class => "ui-button ui-widget ui-corner-all sub gradient" %>
|
||||
</div>
|
||||
|
||||
<% if Danbooru.config.iqdbs_server %>
|
||||
|
@ -43,7 +43,6 @@
|
||||
<%= f.label :source %>
|
||||
<%= f.text_field :source, :size => 50, :value => params[:url] %>
|
||||
<%= button_tag "Similar", :id => "similar-button", :type => "button", :class => "ui-button ui-widget ui-corner-all sub gradient" %>
|
||||
<%= button_tag "Artist", :id => "find-artist-button", :type => "button", :class => "ui-button ui-widget ui-corner-all sub gradient" %>
|
||||
<span class="hint">You can enter a URL to have <%= Danbooru.config.app_name %> automatically download and process it</span>
|
||||
</div>
|
||||
|
||||
|
@ -79,7 +79,6 @@ Rails.application.routes.draw do
|
||||
collection do
|
||||
get :show_or_new
|
||||
get :banned
|
||||
get :finder
|
||||
end
|
||||
end
|
||||
resources :artist_urls, only: [:update]
|
||||
|
@ -3,7 +3,7 @@ require 'test_helper'
|
||||
class ArtistsControllerTest < ActionDispatch::IntegrationTest
|
||||
def assert_artist_found(expected_artist, source_url = nil)
|
||||
if source_url
|
||||
get_auth finder_artists_path(format: "json", url: source_url), @user
|
||||
get_auth artists_path(format: "json", search: { url_matches: source_url }), @user
|
||||
if response.body =~ /Net::OpenTimeout/
|
||||
skip "Remote connection to #{source_url} failed"
|
||||
return
|
||||
@ -16,9 +16,7 @@ class ArtistsControllerTest < ActionDispatch::IntegrationTest
|
||||
end
|
||||
|
||||
def assert_artist_not_found(source_url)
|
||||
tries = 0
|
||||
|
||||
get_auth finder_artists_path(format: "json", url: source_url), @user
|
||||
get_auth artists_path(format: "json", search: { url_matches: source_url }), @user
|
||||
if response.body =~ /Net::OpenTimeout/
|
||||
skip "Remote connection to #{source_url} failed"
|
||||
return
|
||||
|
Loading…
Reference in New Issue
Block a user