Update frontend
This commit is contained in:
parent
29c61c86e4
commit
27c13b3b6b
|
@ -1,50 +1,68 @@
|
||||||
class BooksController < ApplicationController
|
class BooksController < ApplicationController
|
||||||
def index
|
def index
|
||||||
books = Book.order_by(:year=>'desc').page(OrbitHelper.params[:page_no]).per(OrbitHelper.page_data_count)
|
books = Book.order_by(:year=>'desc').page(OrbitHelper.params[:page_no]).per(OrbitHelper.page_data_count)
|
||||||
book_list = books.collect do |book|
|
book_list = books.collect do |book|
|
||||||
{
|
{
|
||||||
"book_title" => book.book_title,
|
"book_title" => book.book_title,
|
||||||
"author" => book.authors,
|
"author" => book.authors,
|
||||||
"year" => book.year,
|
"year" => book.year,
|
||||||
"link_to_show" => OrbitHelper.url_to_show(book.to_param)
|
"link_to_show" => OrbitHelper.url_to_show(book.to_param)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
{
|
{
|
||||||
"books" => book_list,
|
"books" => book_list,
|
||||||
"extras" => {
|
"extras" => {
|
||||||
"widget-title" => t("module_name.book"),
|
"widget-title" => t("module_name.book"),
|
||||||
"th_year" => t('personal_plugins.year'),
|
"th_year" => t('personal_plugins.year'),
|
||||||
"th_title" => t("personal_book.book_title"),
|
"th_title" => t("personal_book.book_title"),
|
||||||
"th_author" => t('personal_plugins.author')
|
"th_author" => t('personal_plugins.author')
|
||||||
},
|
},
|
||||||
"total_pages" => books.total_pages
|
"total_pages" => books.total_pages
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
params = OrbitHelper.params
|
params = OrbitHelper.params
|
||||||
book = Book.find_by(uid: params[:uid])
|
plugin = Book.find_by(uid: params[:uid])
|
||||||
publication_date = book.publication_date.to_date.strftime("%Y/%m/%d") rescue nil
|
|
||||||
publish_date = book.publish_date.to_date.strftime("%Y/%m/%d") rescue nil
|
fields_to_show = [
|
||||||
files = book.book_files.map{|file| { "file_url" => file.member_book_file.url, "file_title" => (file.title.blank? ? File.basename(file.file.path) : file.title) } } rescue []
|
"book_title",
|
||||||
{
|
"editor",
|
||||||
"book_files" => files,
|
"publisher",
|
||||||
"data" => {
|
"publish_date",
|
||||||
"title" => book.book_title,
|
"publication_date",
|
||||||
"year" => book.year,
|
"isbn",
|
||||||
"authors" => book.authors,
|
"extracted_chapters",
|
||||||
"isbn" => book.isbn,
|
"pages",
|
||||||
"language" => book.language,
|
"url",
|
||||||
"pages" => book.pages,
|
"keywords",
|
||||||
"keywords" => book.keywords,
|
"note",
|
||||||
"publication_date" => publication_date ,
|
"file"
|
||||||
"url" => book.url,
|
]
|
||||||
"note" => book.note,
|
|
||||||
"extracted_chapters" => book.extracted_chapters,
|
{"plugin_datas"=>plugin.get_plugin_data(fields_to_show)}
|
||||||
"publish_date" => publish_date,
|
|
||||||
"publisher" => book.publisher,
|
# publication_date = book.publication_date.to_date.strftime("%Y/%m/%d") rescue nil
|
||||||
"editor" => book.editor
|
# publish_date = book.publish_date.to_date.strftime("%Y/%m/%d") rescue nil
|
||||||
}
|
# files = book.book_files.map{|file| { "file_url" => file.member_book_file.url, "file_title" => (file.title.blank? ? File.basename(file.file.path) : file.title) } } rescue []
|
||||||
}
|
# {
|
||||||
|
# "book_files" => files,
|
||||||
|
# "data" => {
|
||||||
|
# "title" => book.book_title,
|
||||||
|
# "year" => book.year,
|
||||||
|
# "authors" => book.authors,
|
||||||
|
# "isbn" => book.isbn,
|
||||||
|
# "language" => book.language,
|
||||||
|
# "pages" => book.pages,
|
||||||
|
# "keywords" => book.keywords,
|
||||||
|
# "publication_date" => publication_date ,
|
||||||
|
# "url" => book.url,
|
||||||
|
# "note" => book.note,
|
||||||
|
# "extracted_chapters" => book.extracted_chapters,
|
||||||
|
# "publish_date" => publish_date,
|
||||||
|
# "publisher" => book.publisher,
|
||||||
|
# "editor" => book.editor
|
||||||
|
# }
|
||||||
|
# }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -92,6 +92,45 @@ class Book
|
||||||
authors.join(', ')
|
authors.join(', ')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_plugin_data(fields_to_show)
|
||||||
|
plugin_datas = []
|
||||||
|
fields_to_show.each do |field|
|
||||||
|
plugin_data = self.get_plugin_field_data(field)
|
||||||
|
next if plugin_data.blank? or plugin_data['value'].blank?
|
||||||
|
plugin_datas << plugin_data
|
||||||
|
end
|
||||||
|
plugin_datas
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_plugin_field_data(field)
|
||||||
|
case field
|
||||||
|
when "language"
|
||||||
|
value = I18n.t(self.language) rescue ""
|
||||||
|
when "publish_date", "publication_date"
|
||||||
|
value = self.send(field).to_date.strftime("%Y-%m-%d") rescue nil
|
||||||
|
when "file"
|
||||||
|
files = []
|
||||||
|
self.book_files.each do |book_file|
|
||||||
|
url = book_file.member_book_file.url
|
||||||
|
title = (book_file.title.blank? ? File.basename(book_file.member_book_file.path) : book_file.title)
|
||||||
|
files << "<li><a href='#{url}'' target='_blank'>#{title}</li>"
|
||||||
|
end
|
||||||
|
value = files.join("")
|
||||||
|
else
|
||||||
|
value = self.send(field) rescue ""
|
||||||
|
end
|
||||||
|
|
||||||
|
value = (value =~ /\A#{URI::regexp(['http', 'https'])}\z/) ? "<a href='#{value}' target='blank'>#{value}</a>" : value
|
||||||
|
|
||||||
|
{
|
||||||
|
"key"=>field,
|
||||||
|
"title_class"=>"book-#{field.gsub('_','-')}-field",
|
||||||
|
"value_class"=>"book-#{field.gsub('_','-')}-value",
|
||||||
|
"title"=>I18n.t('personal_book.'+field),
|
||||||
|
"value"=>value
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def add_http
|
def add_http
|
||||||
|
|
|
@ -21,6 +21,7 @@ en:
|
||||||
keywords : "Keywords"
|
keywords : "Keywords"
|
||||||
abstract : "Abstract"
|
abstract : "Abstract"
|
||||||
publication_date : "Date of Publication"
|
publication_date : "Date of Publication"
|
||||||
|
publish_date: "Publish Date"
|
||||||
url : "Reference URL"
|
url : "Reference URL"
|
||||||
note : "Note"
|
note : "Note"
|
||||||
level_type : "Level Type"
|
level_type : "Level Type"
|
||||||
|
|
Loading…
Reference in New Issue