diff options
| -rw-r--r-- | app/helpers/content_helper.rb | 1 | ||||
| -rw-r--r-- | app/models/page.rb | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/app/helpers/content_helper.rb b/app/helpers/content_helper.rb index 6043089..6bcd437 100644 --- a/app/helpers/content_helper.rb +++ b/app/helpers/content_helper.rb | |||
| @@ -108,6 +108,7 @@ module ContentHelper | |||
| 108 | end | 108 | end |
| 109 | 109 | ||
| 110 | options[:partial] = select_partial(options[:partial]) | 110 | options[:partial] = select_partial(options[:partial]) |
| 111 | options[:node] = @page.node if options[:children].present? | ||
| 111 | 112 | ||
| 112 | sanitize(content.sub(tag, render_collection(options)), :attributes => cccms_attributes) | 113 | sanitize(content.sub(tag, render_collection(options)), :attributes => cccms_attributes) |
| 113 | else | 114 | else |
diff --git a/app/models/page.rb b/app/models/page.rb index 4d1e94a..6fff7d6 100644 --- a/app/models/page.rb +++ b/app/models/page.rb | |||
| @@ -63,6 +63,12 @@ class Page < ApplicationRecord | |||
| 63 | end | 63 | end |
| 64 | end | 64 | end |
| 65 | 65 | ||
| 66 | if options[:node] && options[:children] == "direct" | ||
| 67 | scope = scope.where(nodes: { parent_id: options[:node].id }) | ||
| 68 | elsif options[:node] && options[:children] == "all" | ||
| 69 | scope = scope.where(nodes: { id: options[:node].descendants.pluck(:id) }) | ||
| 70 | end | ||
| 71 | |||
| 66 | direction = %w[ASC DESC].include?(options[:order_direction]&.upcase) ? options[:order_direction].upcase : "ASC" | 72 | direction = %w[ASC DESC].include?(options[:order_direction]&.upcase) ? options[:order_direction].upcase : "ASC" |
| 67 | 73 | ||
| 68 | if options[:order_by] == "title" | 74 | if options[:order_by] == "title" |
