diff --git a/app/controllers/admin/journal_papers_controller.rb b/app/controllers/admin/journal_papers_controller.rb index 1f61a64..9c656fc 100644 --- a/app/controllers/admin/journal_papers_controller.rb +++ b/app/controllers/admin/journal_papers_controller.rb @@ -222,6 +222,7 @@ class Admin::JournalPapersController < OrbitMemberController @journal_levels = JournalLevel.all @author_types = JournalPaperAuthorType.all @paper_types = JournalPaperType.all + @journal_types = JournalType.all end def set_plugin diff --git a/app/controllers/personal_journals_controller.rb b/app/controllers/personal_journals_controller.rb index 0ef1f86..41d94ee 100644 --- a/app/controllers/personal_journals_controller.rb +++ b/app/controllers/personal_journals_controller.rb @@ -3,7 +3,15 @@ class PersonalJournalsController < ApplicationController def index params = OrbitHelper.params page_data_count = OrbitHelper.page_data_count - journal_papers = JournalPaper.sort_for_frontend.page(OrbitHelper.params[:page_no]).per(page_data_count) + page = OrbitHelper.page + journal_paper_query = JournalPaper.sort_for_frontend + if (!page.year.blank? rescue false) + journal_paper_query = journal_paper_query.where(:year.in => page.year.to_a ) + end + if (!page.journal_type.blank? rescue false) + journal_paper_query = journal_paper_query.where(:journal_type_id.in => page.journal_type.to_a ) + end + journal_papers = journal_paper_query.page(OrbitHelper.params[:page_no]).per(page_data_count) page = Page.where(page_id: params[:page_id]).first rescue nil if page.custom_string_field == 'table' fields_to_show = page.custom_array_field rescue [] @@ -25,7 +33,7 @@ class PersonalJournalsController < ApplicationController ] end if !params[:selectbox].nil? - journal_papers_temp = JournalPaper.where(is_hidden: false).sort_by { |tp| [-tp[:year].to_i, -tp[:publication_date].to_i] } + journal_papers_temp = journal_paper_query.sort_by { |tp| [-tp[:year].to_i, -tp[:publication_date].to_i] } case params[:selectbox] when 'paper_title', 'default' if page.custom_string_field == 'table' diff --git a/app/models/journal_paper.rb b/app/models/journal_paper.rb index 4b296e8..b63177f 100644 --- a/app/models/journal_paper.rb +++ b/app/models/journal_paper.rb @@ -33,6 +33,8 @@ class JournalPaper #relations belongs_to :member_profile belongs_to :journal_paper_type + belongs_to :journal_type + has_and_belongs_to_many :journal_levels has_many :journal_paper_files, autosave: true, dependent: :destroy diff --git a/app/views/admin/journal_papers/_form.html.erb b/app/views/admin/journal_papers/_form.html.erb index bd346b9..87fc8d5 100644 --- a/app/views/admin/journal_papers/_form.html.erb +++ b/app/views/admin/journal_papers/_form.html.erb @@ -197,6 +197,14 @@ + +
+ +
+ <%= f.select :journal_type_id, @journal_types.collect {|t| [ t.title, t.id ]}, {include_blank: ''}, :class => "span3" %> +
+
+
diff --git a/app/views/admin/journal_papers/setting.html.erb b/app/views/admin/journal_papers/setting.html.erb index af52d42..922efbc 100644 --- a/app/views/admin/journal_papers/setting.html.erb +++ b/app/views/admin/journal_papers/setting.html.erb @@ -98,6 +98,33 @@
+ +
+
+

+ <%= t('add')%> + <%= t("personal_journal.journal_type") %> +

+
+
+
+
+
+
+
+
+
+
+ + + <%= render :partial => 'list_journal_type', :collection => @journal_types %> + +
+
+
+
+
+
@@ -113,4 +140,10 @@
+
+ + +
+
\ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index f1300a1..1d4f0d2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -44,6 +44,7 @@ en: graph_by : "Graph By" frontend: writing_journals: "Journal Paper Front-end" + journal_type: Journal Name strict_compare_mode: Strict Compare mode create_success : "Successfully Create" update_success : "Successfully Update" diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index 2693b3c..76afd96 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -43,6 +43,7 @@ zh_tw: graph_by : "Graph By" frontend: writing_journals: "期刊論文前台" + journal_type: 期刊類別 strict_compare_mode: "嚴格比較模式" create_success : "新增完成!!" update_success : "更新完成!!" diff --git a/config/routes.rb b/config/routes.rb index caa0533..3739800 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,40 +2,41 @@ Rails.application.routes.draw do locales = Site.find_by(site_active: true).in_use_locales rescue I18n.available_locales scope "(:locale)", locale: Regexp.new(locales.join("|")) do namespace :admin do - get 'writing_journal_setting' => "journal_papers#setting" - get 'journal_papers/download_excel_format' => 'journal_papers#excel_format' - post 'journal_papers/import_from_excel' => 'journal_papers#import_from_excel' - - resources :journal_papers do - collection do - post 'merge_process' => 'journal_papers#merge_process' - get 'merge' => 'journal_papers#merge' - get 'toggle_hide' => 'journal_papers#toggle_hide' - get 'analysis' - get 'analysis_report' - get "download_excel" - end + get 'writing_journal_setting' => "journal_papers#setting" + get 'journal_papers/download_excel_format' => 'journal_papers#excel_format' + post 'journal_papers/import_from_excel' => 'journal_papers#import_from_excel' + + resources :journal_papers do + collection do + post 'merge_process' => 'journal_papers#merge_process' + get 'merge' => 'journal_papers#merge' + get 'toggle_hide' => 'journal_papers#toggle_hide' + get 'analysis' + get 'analysis_report' + get "download_excel" end - - resources :members do - collection do - scope '(:name-:uid)' do - resources :journal_papers do - collection do - get 'frontend_setting' => 'journal_papers#frontend_setting' - post 'update_frontend_setting' => 'journal_papers#update_frontend_setting' - end + end + + resources :members do + collection do + scope '(:name-:uid)' do + resources :journal_papers do + collection do + get 'frontend_setting' => 'journal_papers#frontend_setting' + post 'update_frontend_setting' => 'journal_papers#update_frontend_setting' end end end end - - resources :journal_levels - resources :journal_paper_author_types - resources :journal_paper_types - resources :journal_paper_intros + end + + resources :journal_levels + resources :journal_paper_author_types + resources :journal_paper_types + resources :journal_types + resources :journal_paper_intros end - get "/xhr/personal_journal/get_fields_for_index" => "personal_journals#get_fields_for_index" - post "/xhr/personal_journal/save_index_fields" => "personal_journals#save_index_fields" + get "/xhr/personal_journal/get_fields_for_index" => "personal_journals#get_fields_for_index" + post "/xhr/personal_journal/save_index_fields" => "personal_journals#save_index_fields" end end diff --git a/lib/personal_journal/engine.rb b/lib/personal_journal/engine.rb index 5d81ffa..86c4a47 100644 --- a/lib/personal_journal/engine.rb +++ b/lib/personal_journal/engine.rb @@ -6,6 +6,12 @@ module PersonalJournal base_url File.expand_path File.dirname(__FILE__) personal_plugin :enable => true, :sort_number => '5', :app_name=>"JournalPaper", :intro_app_name=>"JournalPaperlIntro",:path=>"/plugin/personal_journal/profile",:front_path=>"/profile",:admin_path=>"/admin/journal_papers/",:i18n=>'module_name.journal_paper', :module_app_name=>'PersonalJournal', :one_line_title => true, :field_modifiable => true, :analysis => true, :analysis_path => "/admin/journal_papers/analysis" + begin + page_custom_option({year: '<%= f.select :year, (1930...(DateTime.now.year+5)).to_a.reverse, {:include_blank => ""}, {multiple: true} %>'}) + page_custom_option({journal_type: '<% JournalType.all.each do |journal_type| %><% end %>'}) + rescue => e + puts ['there_was_no_page_custom_option',e] + end version "0.1" desktop_enabled true organization "Rulingcom"