diff --git a/app/controllers/admin/publications_controller.rb b/app/controllers/admin/publications_controller.rb index e524573..fb2a546 100644 --- a/app/controllers/admin/publications_controller.rb +++ b/app/controllers/admin/publications_controller.rb @@ -1,8 +1,9 @@ class Admin::PublicationsController < OrbitAdminController - before_action :categories, only: [:index, :new, :edit] + include Admin::PublicationsHelper + before_action :categories, only: [:index, :new, :edit] def index - @table_fields = [:title, 'publications.chapter', :pub_date, :category] + @table_fields = [:title, 'publications_.chapter', :pub_date, :category] @filter_fields = filter_fields(@categories, @tags) @publications = Publication.order_by(sort) .with_categories(filters("category")) diff --git a/app/controllers/publications_controller.rb b/app/controllers/publications_controller.rb index 4b5fecd..4558ed3 100644 --- a/app/controllers/publications_controller.rb +++ b/app/controllers/publications_controller.rb @@ -219,7 +219,7 @@ class PublicationsController < ApplicationController "widget-title" => t("module_name.publication"), "th_keywords" => t('chapter.keywords'), "th_tags" => t('tags'), - "th_title" => t('publications.chapter'), + "th_title" => t('publications_.chapter'), "th_pub_date" => t('publication.pub_date'), "th_chapter_title" => t('chapter.title'), "th_author" => t('chapter.author'), diff --git a/app/helpers/admin/publications_helper.rb b/app/helpers/admin/publications_helper.rb new file mode 100644 index 0000000..0ea97b7 --- /dev/null +++ b/app/helpers/admin/publications_helper.rb @@ -0,0 +1,27 @@ +module Admin::PublicationsHelper + def page_for_publication(publication) + pub_page = nil + pages = Page.where(:module=>'publication').select{|page| page.enabled_for.include?(I18n.locale.to_s)} + + pages.each do |page| + if page.categories.count ==1 + if (page.categories.include?(publication.category.id.to_s) rescue false) + pub_page = page + end + end + break if !pub_page.nil? + end + + if pub_page.nil? + pages.each do |page| + if (page.categories.include?(publication.category.id.to_s) rescue false) + pub_page = page + end + break if !pub_page.nil? + end + end + + pub_page = pages.first if pub_page.nil? + request.protocol+(request.host_with_port+pub_page.url+'/'+publication.to_param).gsub('//','/') rescue "#" + end +end \ No newline at end of file diff --git a/app/models/chapter.rb b/app/models/chapter.rb index 6913131..256922c 100644 --- a/app/models/chapter.rb +++ b/app/models/chapter.rb @@ -3,7 +3,7 @@ class Chapter include Slug include OrbitTag::Taggable - field :title, type: String, localize: true + field :title, as: :slug_title, type: String, localize: true field :author, type: String, localize: true field :author_description, type: String, localize: true field :author_url, type: String diff --git a/app/models/publication.rb b/app/models/publication.rb index e41e881..245bef2 100644 --- a/app/models/publication.rb +++ b/app/models/publication.rb @@ -6,7 +6,7 @@ class Publication include OrbitCategory::Categorizable include Slug - field :title, type: String, localize: true + field :title, as: :slug_title, type: String, localize: true field :pub_date, type: DateTime field :author, type: String, localize: true field :author_description, type: String, localize: true diff --git a/app/views/admin/publications/_index.html.erb b/app/views/admin/publications/_index.html.erb index d31dc9a..f613907 100644 --- a/app/views/admin/publications/_index.html.erb +++ b/app/views/admin/publications/_index.html.erb @@ -14,7 +14,7 @@ <% @publications.each do |node| %>