class Desktop::CoAuthorsController < ApplicationController
  def index
    @co_authors = CoAuthor.where(name_id: current_user.id)
    respond_to do |format|
      format.html { render :layout => false}
      format.json { render json: @co_authors }
    end
  end
  def show
    @co_author = CoAuthor.find(params[:id])
    respond_to do |format|
      format.html { redirect_to desktop_co_authors_url, :layout => false }
      format.json { render json: @co_author }
    end
  end
  def new
    @co_author = CoAuthor.new
    respond_to do |format|
      format.html { render :layout => false}
    end
  end
  def edit
    @co_author = CoAuthor.find(params[:id])
    respond_to do |format|
      format.html { render :layout => false}
    end
  end
  def create
    @co_author = CoAuthor.new(params[:co_author])
    @co_author.name_id= current_user.id
    if @co_author.save
      render json: {success:true, msg: "Co-author successfully saved!"}.to_json
    else
      error_msg = @co_author.errors.full_messages.join("
")
      render json: {success: false, msg: error_msg}.to_json
    end
  end
  def update
    @co_author = CoAuthor.find(params[:id])
    if @co_author.update_attributes(params[:co_author])
      render json: {success:true, msg: "Co-author successfully update!"}.to_json
    else
      error_msg = @co_author.errors.full_messages.join("
")
      render json: {success: false, msg: error_msg}.to_json
    end
  end
  def delete
    @co_author = CoAuthor.find(params[:id])
    @co_author.destroy
    #respond_to do |format|
    #  format.html { redirect_to desktop_co_authors_url, :layout => false }
    #  format.json { head :no_content }
    #end
  end
  def get_co_authors_json
    @co_authors = CoAuthor.where(name_id: current_user.id)
    data = Array.new
    @co_authors.each do |co_author|
      data << {
        author: co_author.co_author,
        email: co_author.email,
        type: co_author.type
      }
    end
    render json: JSON.pretty_generate(data)
  end
end