diff --git a/app/assets/stylesheets/common/tables.scss b/app/assets/stylesheets/common/tables.scss index 551e9f650..33f6ef694 100644 --- a/app/assets/stylesheets/common/tables.scss +++ b/app/assets/stylesheets/common/tables.scss @@ -54,6 +54,10 @@ table.autofit { white-space: normal; width: 100%; } + + .col-normal { + white-space: normal; + } } table.search { diff --git a/app/assets/stylesheets/specific/uploads.scss b/app/assets/stylesheets/specific/uploads.scss index e419015ab..49b71d0b1 100644 --- a/app/assets/stylesheets/specific/uploads.scss +++ b/app/assets/stylesheets/specific/uploads.scss @@ -36,6 +36,12 @@ div#c-uploads { } } + div#a-index { + .info { + margin-right: 1.5em; + } + } + div.upload-preview { display: inline-block; diff --git a/app/controllers/uploads_controller.rb b/app/controllers/uploads_controller.rb index 760715ca9..654d5ca42 100644 --- a/app/controllers/uploads_controller.rb +++ b/app/controllers/uploads_controller.rb @@ -37,8 +37,7 @@ class UploadsController < ApplicationController end def index - @search = Upload.search(search_params) - @uploads = @search.paginate(params[:page], :limit => params[:limit]) + @uploads = Upload.search(search_params).includes(:post, :uploader).paginate(params[:page], :limit => params[:limit]) respond_with(@uploads) do |format| format.xml do render :xml => @uploads.to_xml(:root => "uploads") diff --git a/app/presenters/post_presenter.rb b/app/presenters/post_presenter.rb index 9fec67a23..761d82ccb 100644 --- a/app/presenters/post_presenter.rb +++ b/app/presenters/post_presenter.rb @@ -3,7 +3,7 @@ class PostPresenter < Presenter def self.preview(post, options = {}) if post.nil? - return "Expunged" + return "none".html_safe end if !options[:show_deleted] && post.is_deleted? && options[:tags] !~ /status:(?:all|any|deleted|banned)/ && !options[:raw] diff --git a/app/views/uploads/index.html.erb b/app/views/uploads/index.html.erb index 786ac64e0..f68c2be31 100644 --- a/app/views/uploads/index.html.erb +++ b/app/views/uploads/index.html.erb @@ -1,25 +1,65 @@
<%= render "uploads/search" %> + <%= render "posts/partials/common/inline_blacklist" %> - +
- + + - - <% @uploads.each do |upload| %> - - - - - + + + + <% end %>
UploadInfo Uploader StatusDateTags
<%= link_to upload.id, upload_path(upload) %><%= link_to_user upload.uploader %><%= upload.presenter.status(self) %><%= compact_time upload.created_at %><%= upload.tag_string %> + <%= PostPresenter.preview(upload.post, tags: "user:#{upload.uploader_name}", show_deleted: true) %> + + + Upload + <%= link_to "##{upload.id}", upload %> + + + + Rating + <%= upload.rating %> + + + <% if upload.post.present? %> + + Size + <%= link_to "#{upload.post.file_size.to_s(:human_size, precision: 4)} #{upload.post.file_ext}", upload.post.file_url %> + <% if upload.post.has_dimensions? %> + (<%= upload.post.image_width %>x<%= upload.post.image_height %>) + <% end %> + + <% end %> +
+ + + Source + <%= link_to_if (upload.source =~ %r!\Ahttps?://!i), (upload.source.presence || content_tag(:em, "none")), upload.source %> + <%= link_to "»", uploads_path(search: params[:search].merge(source_matches: upload.source)) %> + +
+ + + Tags + <%= TagSetPresenter.new(upload.tag_string.split).inline_tag_list(self) %> + +
+ <%= link_to_user upload.uploader %> + <%= link_to "»", uploads_path(search: params[:search].merge(uploader_name: upload.uploader_name)) %> +
<%= time_ago_in_words_tagged upload.created_at %> +
+ <%= link_to upload.presenter.status(self), uploads_path(search: params[:search].merge(status: upload.status)) %> +