uploads: add new source:<url> dupe check (fix #3873)

* On the /uploads/new page, instead of just showing a "This post has
probably already been uploaded" message, show the actual thumbnails of
posts having the same source as what the user is trying to upload.

* Move the iqdb results section up top, beside the related posts section.
This commit is contained in:
evazion
2018-09-06 20:12:56 -05:00
parent 07c0695ac1
commit 950fcdb7b2
9 changed files with 62 additions and 22 deletions

View File

@@ -1,9 +1,11 @@
<% if @matches.present? %>
<h3>Similar</h3>
<h3>Similar Posts</h3>
<p class="hint">Found <%= pluralize(@matches.length, "similar post") %>:</p>
<% @matches.each do |match| %>
<%= PostPresenter.preview(match["post"], :tags => "status:any", :similarity => match["score"], :size => true) %>
<% end %>
<% else %>
<h3>Similar</h3>
<p>No matches found</p>
<h3>Similar Posts</h3>
<p class="hint">No similar posts found.</p>
<% end %>

View File

@@ -5,7 +5,7 @@
<%= image_tag(@source.image_url, :title => "Preview", :id => "image") %>
<% end %>
<ul>
<ul id="upload-image-metadata">
<% if @remote_size %>
<li><strong>Size:</strong> <%= number_to_human_size(@remote_size) %></li>
<% end %>

View File

@@ -0,0 +1,27 @@
<%# source %>
<% if source.present? && source.related_posts.present? %>
<div id="related-posts-by-source">
<h3>Related Posts</h3>
<p class="hint">
Found <%= link_to pluralize(source.related_posts.total_count, "other post"), posts_path(tags: source.related_posts_search_query) %> from the same source:
</p>
<div>
<% source.related_posts.each do |post| %>
<%= PostPresenter.preview(post, show_deleted: true, size: true) %>
<% end %>
</div>
</div>
<% end %>
<% if Danbooru.config.iqdbs_server %>
<% if params[:url] %>
<div class="input" id="iqdb-similar">
<p><em>Loading similar...</em></p>
</div>
<% else %>
<div class="input" id="iqdb-similar" style="display: none;"></div>
<% end %>
<% end %>

View File

@@ -12,6 +12,7 @@
<% end %>
<%= render "image" %>
<%= render "related_posts", source: @source %>
<%= render "sources/info" %>
<div id="client-errors" class="error-messages ui-state-error ui-corner-all" style="display:none"></div>
@@ -90,16 +91,6 @@
</div>
</div>
<% if Danbooru.config.iqdbs_server %>
<% if params[:url] %>
<div class="input" id="iqdb-similar">
<p><em>Loading similar...</em></p>
</div>
<% else %>
<div class="input" id="iqdb-similar" style="display: none;"></div>
<% end %>
<% end %>
<div class="input">
<div>
<%= f.label :tag_string, "Tags" %>