app/models/page.rb in puffer_pages-0.0.10 vs app/models/page.rb in puffer_pages-0.0.11
- old
+ new
@@ -93,17 +93,10 @@
def render_layout
inherited_layout ? false : inherited_layout_name
end
def inherited_page_parts
- scope = PagePart.where(:page_id => self_and_ancestors.map(&:id).reverse)
- case PagePart.connection.adapter_name.downcase
- when 'postgresql' then
- ids = scope.select('distinct on (page_parts.name) page_parts.id').joins(:page).order('page_parts.name, pages.lft desc').map(&:id)
- PagePart.where(:id => ids).order("name = '#{PufferPages.primary_page_part_name}' desc, name")
- else
- scope.group('name').order("name = '#{PufferPages.primary_page_part_name}' desc, name")
- end
+ scope = PagePart.where(:page_parts => {:page_id => self_and_ancestors.map(&:id)}).joins(:page).order("page_parts.name = '#{PufferPages.primary_page_part_name}' desc, page_parts.name, pages.lft desc").uniq_by &:name
end
def part name
inherited_page_parts.detect {|part| part.name == name}
end