diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/node.rb | 11 | ||||
| -rw-r--r-- | app/models/page.rb | 17 |
2 files changed, 19 insertions, 9 deletions
diff --git a/app/models/node.rb b/app/models/node.rb index ef981a97..8f59de43 100644 --- a/app/models/node.rb +++ b/app/models/node.rb | |||
| @@ -632,6 +632,17 @@ class Node < ApplicationRecord | |||
| 632 | .distinct | 632 | .distinct |
| 633 | end | 633 | end |
| 634 | 634 | ||
| 635 | def self.current_banners | ||
| 636 | parent = Node.find_by(:unique_name => CccConventions::BANNER_PARENT_NAME) | ||
| 637 | return Node.none unless parent | ||
| 638 | |||
| 639 | parent.children | ||
| 640 | .joins(:head) | ||
| 641 | .where("pages.published_at IS NULL OR pages.published_at <= ?", Time.now) | ||
| 642 | .order("pages.published_at DESC") | ||
| 643 | .includes(:head => { :related_assets => :asset }) | ||
| 644 | end | ||
| 645 | |||
| 635 | # This one is for admin-only views, where finding a draft is the point. | 646 | # This one is for admin-only views, where finding a draft is the point. |
| 636 | # Substring match on whichever of head/draft is present. | 647 | # Substring match on whichever of head/draft is present. |
| 637 | def self.editor_search(term) | 648 | def self.editor_search(term) |
diff --git a/app/models/page.rb b/app/models/page.rb index 91b7e975..679a4aff 100644 --- a/app/models/page.rb +++ b/app/models/page.rb | |||
| @@ -327,17 +327,16 @@ class Page < ApplicationRecord | |||
| 327 | end | 327 | end |
| 328 | end | 328 | end |
| 329 | 329 | ||
| 330 | def redirect_target | 330 | def link_target |
| 331 | return nil if redirect.blank? | 331 | if redirect_node_id.present? && redirect_node&.head |
| 332 | 332 | RedirectTarget.new(redirect_node, nil) | |
| 333 | if redirect_node_id.present? | 333 | elsif external_url.present? |
| 334 | return nil unless redirect_node&.head | 334 | RedirectTarget.new(nil, external_url) |
| 335 | return RedirectTarget.new(redirect_node, nil) | ||
| 336 | end | 335 | end |
| 336 | end | ||
| 337 | 337 | ||
| 338 | return RedirectTarget.new(nil, external_url) if external_url.present? | 338 | def redirect_target |
| 339 | 339 | redirect.present? ? link_target : nil | |
| 340 | nil | ||
| 341 | end | 340 | end |
| 342 | 341 | ||
| 343 | def redirect_status | 342 | def redirect_status |
