summaryrefslogtreecommitdiff
path: root/app/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/content_helper.rb29
1 files changed, 24 insertions, 5 deletions
diff --git a/app/helpers/content_helper.rb b/app/helpers/content_helper.rb
index 58109664..5b672598 100644
--- a/app/helpers/content_helper.rb
+++ b/app/helpers/content_helper.rb
@@ -53,11 +53,8 @@ module ContentHelper
53 end 53 end
54 54
55 def headline_image 55 def headline_image
56 @images = @page.assets.images 56 @headline_asset = @page.related_assets.find_by(headline: true)&.asset
57 57 render :partial => 'content/headline_image' if @headline_asset || @page.assets.images.any?
58 unless @images.empty?
59 render :partial => 'content/headline_image'
60 end
61 end 58 end
62 59
63 # Returns the published_at attribute of a page if it is not nil, otherwise 60 # Returns the published_at attribute of a page if it is not nil, otherwise
@@ -154,4 +151,26 @@ module ContentHelper
154 ) 151 )
155 end 152 end
156 153
154 def asset_credit(asset)
155 return nil unless asset
156 return nil if asset.creator.blank? && asset.source_url.blank? && asset.license_key.blank?
157
158 license = AssetLicense.find(asset.license_key)
159
160 photo_label = t("asset_credits.photo", name: asset.name)
161 photo = asset.source_url.present? ? link_to(photo_label, asset.source_url) : photo_label
162
163 attribution_parts = [photo]
164 attribution_parts << t("asset_credits.by", creator: asset.creator) if asset.creator.present?
165 attribution = safe_join(attribution_parts, " ")
166
167 license_text = if license
168 name = t("asset_licenses.#{license.key}", default: license.key)
169 phrase = license.style == "license" ? t("asset_credits.licensed_under", license: name) : name
170 license.url.present? ? link_to(phrase, license.url) : phrase
171 end
172
173 full = license_text ? safe_join([attribution, license_text], ", ") : attribution
174 safe_join([full, "."])
175 end
157end 176end