diff options
Diffstat (limited to 'app/helpers')
| -rw-r--r-- | app/helpers/content_helper.rb | 29 |
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 | ||
| 157 | end | 176 | end |
