class BooksController < ApplicationController def index books = Book.order_by(:year=>'desc').page(OrbitHelper.params[:page_no]).per(OrbitHelper.page_data_count) book_list = books.collect do |book| { "book_title" => book.book_title, "author" => book.authors, "year" => book.year, "link_to_show" => OrbitHelper.url_to_show(book.to_param) } end { "books" => book_list, "extras" => { "widget-title" => t("module_name.book"), "th_year" => t('personal_plugins.year'), "th_title" => t("personal_book.book_title"), "th_author" => t('personal_book.authors') }, "total_pages" => books.total_pages } end def show params = OrbitHelper.params plugin = Book.find_by(uid: params[:uid]) fields_to_show = [ "book_title", "author_name", "authors", "number_of_authors", "editor", "publisher", "publish_date", "publication_date", "isbn", "extracted_chapters", "pages", "url", "keywords", "note", "file" ] {"plugin_datas"=>plugin.get_plugin_data(fields_to_show)} # 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 # 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