From 12fffc37603f56dc667f01ca84c6a212bfbeef08 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 7 Jun 2017 21:30:44 -0500 Subject: [PATCH 1/3] modqueue: factor out modqueue posts into partial. --- .../moderator/post/queues/_post.html.erb | 40 ++++++++++++++++++ .../moderator/post/queues/random.html.erb | 40 +----------------- app/views/moderator/post/queues/show.html.erb | 41 +------------------ 3 files changed, 42 insertions(+), 79 deletions(-) create mode 100644 app/views/moderator/post/queues/_post.html.erb diff --git a/app/views/moderator/post/queues/_post.html.erb b/app/views/moderator/post/queues/_post.html.erb new file mode 100644 index 000000000..9e564458a --- /dev/null +++ b/app/views/moderator/post/queues/_post.html.erb @@ -0,0 +1,40 @@ +
> + + +
+
    +
  • +

    + <%= link_to "Approve", moderator_post_approval_path(:post_id => post.id), :remote => true, :method => :post, :class => "approve-link" %> + | <%= link_to "Breaks Rules", moderator_post_disapproval_path(:post_id => post.id, :reason => "breaks_rules"), :remote => true, :method => :post, :class => "disapprove-link" %> + | <%= link_to "Poor Quality", moderator_post_disapproval_path(:post_id => post.id, :reason => "poor_quality"), :remote => true, :method => :post, :class => "disapprove-link" %> + | <%= link_to "No Interest", moderator_post_disapproval_path(:post_id => post.id, :reason => "disinterest"), :remote => true, :method => :post, :class => "disapprove-link" %> + | <%= link_to "Detailed Rejection", "#", "data-post-id" => post.id, :class => "detailed-rejection-link" %> +

    +
  • +
  • Rating: <%= post.pretty_rating %>
  • +
  • Score: <%= post.score %>
  • +
  • + Size: + <%= number_to_human_size(post.file_size) %> + <% if post.has_dimensions? %> + (<%= post.image_width %>x<%= post.image_height %>) + <% end %> +
  • +
  • Uploader: <%= link_to_user(post.uploader) %> <%= time_ago_in_words_tagged(post.created_at) %>
  • + <% if post.is_flagged? %> +
  • Flagged: <%= post_flag_reasons(post) %>
  • + <% end %> + <% if (post.is_flagged? || post.is_deleted?) && post.appeals.any? %> +
  • Appeals: <%= post_appeal_reasons(post) %>
  • + <% end %> +
  • + Hidden: <%= render "post_disapprovals/compact_counts", :disapprovals => post.disapprovals, :post => post %> +
  • +
  • Source: <%= post.source %>
  • +
  • Tags: <%= post.presenter.inline_tag_list_html(self) %>
  • +
+
+
diff --git a/app/views/moderator/post/queues/random.html.erb b/app/views/moderator/post/queues/random.html.erb index 261dc21ba..d95a164b0 100644 --- a/app/views/moderator/post/queues/random.html.erb +++ b/app/views/moderator/post/queues/random.html.erb @@ -13,45 +13,7 @@ <% @posts.each do |post| %> -
> - - -
-
    -
  • -

    - <%= link_to "Approve", moderator_post_approval_path(:post_id => post.id), :remote => true, :method => :post, :class => "approve-link" %> - | <%= link_to "Breaks Rules", moderator_post_disapproval_path(:post_id => post.id, :reason => "breaks_rules"), :remote => true, :method => :post, :class => "disapprove-link" %> - | <%= link_to "Poor Quality", moderator_post_disapproval_path(:post_id => post.id, :reason => "poor_quality"), :remote => true, :method => :post, :class => "disapprove-link" %> - | <%= link_to "No Interest", moderator_post_disapproval_path(:post_id => post.id, :reason => "disinterest"), :remote => true, :method => :post, :class => "disapprove-link" %> - | <%= link_to "Detailed Rejection", "#", "data-post-id" => post.id, :class => "detailed-rejection-link" %> -

    -
  • -
  • Rating: <%= post.pretty_rating %>
  • -
  • Score: <%= post.score %>
  • -
  • - Size: - <%= number_to_human_size(post.file_size) %> - <% if post.has_dimensions? %> - (<%= post.image_width %>x<%= post.image_height %>) - <% end %> -
  • -
  • Uploader: <%= link_to_user(post.uploader) %> <%= time_ago_in_words_tagged(post.created_at) %>
  • - <% if post.is_flagged? %> -
  • Flagged: <%= post_flag_reasons(post) %>
  • - <% end %> - <% if (post.is_flagged? || post.is_deleted?) && post.appeals.any? %> -
  • Appeals: <%= post_appeal_reasons(post) %>
  • - <% end %> -
  • - Hidden: <%= render "post_disapprovals/compact_counts", :disapprovals => post.disapprovals, :post => post %> -
  • -
  • Tags: <%= post.tag_string %>
  • -
-
-
+ <%= render "post", post: post %> <% end %> diff --git a/app/views/moderator/post/queues/show.html.erb b/app/views/moderator/post/queues/show.html.erb index d59893763..14a83da03 100644 --- a/app/views/moderator/post/queues/show.html.erb +++ b/app/views/moderator/post/queues/show.html.erb @@ -24,46 +24,7 @@ <% @posts.each do |post| %> -
> - - -
-
    -
  • -

    - <%= link_to "Approve", moderator_post_approval_path(:post_id => post.id), :remote => true, :method => :post, :class => "approve-link" %> - | <%= link_to "Breaks Rules", moderator_post_disapproval_path(:post_id => post.id, :reason => "breaks_rules"), :remote => true, :method => :post, :class => "disapprove-link" %> - | <%= link_to "Poor Quality", moderator_post_disapproval_path(:post_id => post.id, :reason => "poor_quality"), :remote => true, :method => :post, :class => "disapprove-link" %> - | <%= link_to "No Interest", moderator_post_disapproval_path(:post_id => post.id, :reason => "disinterest"), :remote => true, :method => :post, :class => "disapprove-link" %> - | <%= link_to "Detailed Rejection", "#", "data-post-id" => post.id, :class => "detailed-rejection-link" %> -

    -
  • -
  • Rating: <%= post.pretty_rating %>
  • -
  • Score: <%= post.score %>
  • -
  • - Size: - <%= number_to_human_size(post.file_size) %> - <% if post.has_dimensions? %> - (<%= post.image_width %>x<%= post.image_height %>) - <% end %> -
  • -
  • Uploader: <%= link_to_user(post.uploader) %> <%= time_ago_in_words_tagged(post.created_at) %>
  • - <% if post.is_flagged? %> -
  • Flagged: <%= post_flag_reasons(post) %>
  • - <% end %> - <% if (post.is_flagged? || post.is_deleted?) && post.appeals.any? %> -
  • Appeals: <%= post_appeal_reasons(post) %>
  • - <% end %> -
  • - Hidden: <%= render "post_disapprovals/compact_counts", :disapprovals => post.disapprovals, :post => post %> -
  • -
  • Source: <%= post.source %>
  • -
  • Tags: <%= post.presenter.inline_tag_list_html(self) %>
  • -
-
-
+ <%= render "post", post: post %> <% end %> From 151b276fb9b19b54fb5a16deef01c3847df909fd Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 7 Jun 2017 22:02:51 -0500 Subject: [PATCH 2/3] modqueue: display pools for each post (fix #3125). --- app/assets/stylesheets/specific/pools.scss | 8 ++++++++ app/models/post.rb | 4 ++++ app/views/moderator/post/queues/_post.html.erb | 3 +++ app/views/pools/_inline_list.html.erb | 5 +++++ 4 files changed, 20 insertions(+) create mode 100644 app/views/pools/_inline_list.html.erb diff --git a/app/assets/stylesheets/specific/pools.scss b/app/assets/stylesheets/specific/pools.scss index ed1878842..5be39a81e 100644 --- a/app/assets/stylesheets/specific/pools.scss +++ b/app/assets/stylesheets/specific/pools.scss @@ -81,3 +81,11 @@ div#c-pool-orders, div#c-favorite-group-orders { } } } + +ul.inline-pool-list { + display: inline; + + li { + display: inline; + } +} diff --git a/app/models/post.rb b/app/models/post.rb index 2e49b9384..b0cfb704c 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1031,6 +1031,10 @@ class Post < ActiveRecord::Base end end + def has_active_pools? + pools.length > 0 + end + def belongs_to_pool?(pool) pool_string =~ /(?:\A| )pool:#{pool.id}(?:\Z| )/ end diff --git a/app/views/moderator/post/queues/_post.html.erb b/app/views/moderator/post/queues/_post.html.erb index 9e564458a..91826bcc8 100644 --- a/app/views/moderator/post/queues/_post.html.erb +++ b/app/views/moderator/post/queues/_post.html.erb @@ -34,6 +34,9 @@ Hidden: <%= render "post_disapprovals/compact_counts", :disapprovals => post.disapprovals, :post => post %>
  • Source: <%= post.source %>
  • + <% if post.has_active_pools? %> +
  • Pools: <%= render "pools/inline_list", pools: post.pools %>
  • + <% end %>
  • Tags: <%= post.presenter.inline_tag_list_html(self) %>
  • diff --git a/app/views/pools/_inline_list.html.erb b/app/views/pools/_inline_list.html.erb new file mode 100644 index 000000000..73bfc7b89 --- /dev/null +++ b/app/views/pools/_inline_list.html.erb @@ -0,0 +1,5 @@ + From 58bd0670b7cf5ab6b2228f9e58f9f225ceb7f81d Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 7 Jun 2017 22:41:07 -0500 Subject: [PATCH 3/3] Post#pools: avoid query when post has no pools. --- app/models/post.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/post.rb b/app/models/post.rb index b0cfb704c..34a77946c 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1026,8 +1026,9 @@ class Post < ActiveRecord::Base module PoolMethods def pools @pools ||= begin + return Pool.none if pool_string.blank? pool_ids = pool_string.scan(/\d+/) - Pool.where(["is_deleted = false and id in (?)", pool_ids]) + Pool.undeleted.where(id: pool_ids).series_first end end