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(" ")
}.merge(data_attributes(post))
# TODO: rename path_prefix to controller
locals[:link_params] = {
"controller" => options[:path_prefix] || "posts",
"action" => "show",
"id" => post.id
}
locals[:link_target] = options[:link_target] || post
locals[:link_params] = {}
if options[:tags].present? && !CurrentUser.is_anonymous?
locals[:link_params]["q"] = options[:tags]
end
if options[:pool_id] || options[:pool]
locals[:link_params]["pool_id"] = options[:pool_id] || options[:pool].id
if options[:pool_id]
locals[:link_params]["pool_id"] = options[:pool_id]
end
if options[:favgroup_id] || options[:favgroup]
locals[:link_params]["favgroup_id"] = options[:favgroup_id] || options[:favgroup].id
if options[:favgroup_id]
locals[:link_params]["favgroup_id"] = options[:favgroup_id]
end
locals[:tooltip] = "#{post.tag_string} rating:#{post.rating} score:#{post.score}"

View File

@@ -7,7 +7,7 @@ module PostSetPresenters
@post_set = post_set
end
def post_previews_html(template, options = {})
def post_previews_html(template)
html = ""
if pools.empty?
@@ -17,7 +17,7 @@ module PostSetPresenters
pools.each do |pool|
if 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"
end
end

View File

@@ -1,5 +1,5 @@
<%= 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 -%>
<%= tag.source media: "(max-width: 660px)", srcset: cropped_url -%>
<%= tag.source media: "(min-width: 660px)", srcset: preview_url -%>