orbit-basic/app/controllers/desktop/co_authors_controller.rb

80 lines
1.9 KiB
Ruby

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
render json: {success: false, msg: @co_author.errors.full_messages}.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
render json: {success: false, msg: @co_author.errors.full_messages}.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