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_plugins.author') }, "total_pages" => books.total_pages } end def show params = OrbitHelper.params book = 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 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