Fix #3974: Pool galleries: link thumbnails to pools instead of posts.

This commit is contained in:
evazion
2018-11-06 14:33:04 -06:00
parent 841104f09a
commit bd0bb658b8
3 changed files with 10 additions and 13 deletions

View File

@@ -27,20 +27,17 @@ class PostPresenter < Presenter
"class" => preview_class(post, options).join(" ") "class" => preview_class(post, options).join(" ")
}.merge(data_attributes(post)) }.merge(data_attributes(post))
# TODO: rename path_prefix to controller locals[:link_target] = options[:link_target] || post
locals[:link_params] = {
"controller" => options[:path_prefix] || "posts", locals[:link_params] = {}
"action" => "show",
"id" => post.id
}
if options[:tags].present? && !CurrentUser.is_anonymous? if options[:tags].present? && !CurrentUser.is_anonymous?
locals[:link_params]["q"] = options[:tags] locals[:link_params]["q"] = options[:tags]
end end
if options[:pool_id] || options[:pool] if options[:pool_id]
locals[:link_params]["pool_id"] = options[:pool_id] || options[:pool].id locals[:link_params]["pool_id"] = options[:pool_id]
end end
if options[:favgroup_id] || options[:favgroup] if options[:favgroup_id]
locals[:link_params]["favgroup_id"] = options[:favgroup_id] || options[:favgroup].id locals[:link_params]["favgroup_id"] = options[:favgroup_id]
end end
locals[:tooltip] = "#{post.tag_string} rating:#{post.rating} score:#{post.score}" locals[:tooltip] = "#{post.tag_string} rating:#{post.rating} score:#{post.score}"

View File

@@ -7,7 +7,7 @@ module PostSetPresenters
@post_set = post_set @post_set = post_set
end end
def post_previews_html(template, options = {}) def post_previews_html(template)
html = "" html = ""
if pools.empty? if pools.empty?
@@ -17,7 +17,7 @@ module PostSetPresenters
pools.each do |pool| pools.each do |pool|
if pool.cover_post_id if pool.cover_post_id
post = ::Post.find(pool.cover_post_id) post = ::Post.find(pool.cover_post_id)
html << PostPresenter.preview(post, options.merge(:tags => @post_set.tag_string, :raw => @post_set.raw, :pool => pool, :show_deleted => true)) html << PostPresenter.preview(post, link_target: pool, pool: pool, show_deleted: true)
html << "\n" html << "\n"
end end
end end

View File

@@ -1,5 +1,5 @@
<%= content_tag(:article, article_attrs) do -%> <%= content_tag(:article, article_attrs) do -%>
<%= content_tag(:a, href: url_for(link_params)) do -%> <%= link_to polymorphic_path(link_target, link_params) do -%>
<%= content_tag(:picture) do -%> <%= content_tag(:picture) do -%>
<%= tag.source media: "(max-width: 660px)", srcset: cropped_url -%> <%= tag.source media: "(max-width: 660px)", srcset: cropped_url -%>
<%= tag.source media: "(min-width: 660px)", srcset: preview_url -%> <%= tag.source media: "(min-width: 660px)", srcset: preview_url -%>