mirror of
https://github.com/wahyd4/Libr.git
synced 2026-08-09 21:05:51 +10:00
52 lines
1.4 KiB
Ruby
52 lines
1.4 KiB
Ruby
class BookController < ApplicationController
|
|
before_filter :current_user
|
|
skip_before_filter :verify_authenticity_token, :only => [:add_to_lib]
|
|
|
|
def view
|
|
@book = Book.find_by_id params[:id]
|
|
@can_borrow = @book.total_available_instances.count > @book.current_borrowers.count
|
|
@records =BorrowRecord.records_of @book
|
|
@borrowers = @book.total_borrowers.uniq
|
|
@owners = @book.open_owners
|
|
@available_instances = @book.total_available_instances
|
|
end
|
|
|
|
def search
|
|
unless params[:arg] == nil
|
|
@books = Book.where("name like ?", "%#{params[:arg]}%")
|
|
render json: @books
|
|
else
|
|
render json: {msg: 'error'}
|
|
end
|
|
end
|
|
|
|
def borrow
|
|
unless @current_user
|
|
redirect_to '/login', notice: 'You need login to do the action.'
|
|
return
|
|
end
|
|
instance = BookInstance.find_by_id params[:instance_id].to_s
|
|
@current_user.borrow instance
|
|
redirect_to :back, alert: 'Borrow book success.'
|
|
end
|
|
|
|
def new
|
|
render :add
|
|
end
|
|
|
|
def add_to_lib
|
|
unless @current_user
|
|
redirect_to '/login', notice: 'You need login to do the action.'
|
|
return
|
|
end
|
|
@current_user.create_book_instance params[:isbn], params[:is_public]
|
|
@msg = 'This book has been succeed to add to library.'
|
|
redirect_to :back, alert: @msg
|
|
end
|
|
|
|
def list
|
|
@books = Book.order('id DESC').paginate(:page => params[:page], :per_page => 24)
|
|
render :index
|
|
end
|
|
end
|