Fix #3974: Pool galleries: link thumbnails to pools instead of posts.
This commit is contained in:
@@ -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}"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 -%>
|
||||||
|
|||||||
Reference in New Issue
Block a user