orbit-basic/app/controllers/desktop_publications_contro...

134 lines
3.1 KiB
Ruby

require 'mime/types'
class DesktopPublicationsController< ApplicationController
def journal_p
render "desktop/journal_p", :layout => false
end
#
# def journal_p_list
# render "desktop/journal_pages/list", :layout => false
# end
# def journal_p_add
# @writing_journal = WritingJournal.new
# @level_types = JournalLevelType.all
#
# respond_to do |format|
# format.html { render "desktop/journal_pages/add", :layout => false}
# end
# end
#
# def journal_p_create
# @writing_journal = WritingJournal.all.first
# @level_types = JournalLevelType.all
# respond_to do |format|
# format.html { render "desktop/journal_pages/list", :layout => false}
# #format.js
# end
#
# end
def books
render "desktop/books", :layout => false
end
def books_list
render "desktop/books/list", :layout => false
end
def books_add
render "desktop/books/add", :layout => false
end
def seminar_p
render "desktop/seminar_p", :layout => false
end
def seminar_p_list
render "desktop/seminar_pages/list", :layout => false
end
def seminar_p_add
render "desktop/seminar_pages/add", :layout => false
end
def create_journal
Journal.create(user_id: current_user.id, title: "Ice Cream Sandwich")
b = Array.new
b << {"success"=>"true"}
render :json=>b.to_json
end
def check_file_type file
if not file.nil?
file_type = MIME::Types.type_for(file).first.to_s.split("/")[1]
case file_type
when "jpg", "jpeg"
type = "jpg"
when "text", "txt"
type = "txt"
when "pdf"
type = "pdf"
when "png"
type = "png"
else "readme"
end
file_type = "/assets/ft-icons/#{type}/#{type}-48_32.png"
else
file_type = ""
end
end
def getjournals
publications = WritingJournal.where(create_user_id: current_user.id)
sort_publications= Hash.new
data = Array.new
publications.each do |publication|
if sort_publications[publication.journal_title].nil?
sort_publications[publication.journal_title] = Array.new
end
sort_publications[publication.journal_title] <<
{ title: publication.paper_title,
keywords: publication.keywords,
abstract: publication.abstract,
level: publication.journal_paper_type_id,
coauthors: publication.authors,
year: publication.year,
files: publication.writing_journal_files.collect{|file|
{title: file.title, url: file.file.url, icon: check_file_type(file.file.url)}
}
}
end
sort_publications.each do |journal, papers|
data << {title: journal, papers: papers}
end
render json: JSON.pretty_generate(data)
end
def delete_journal
@journals = Journal.find("")
@journals.delete
b = Array.new
b << {"success"=>"true"}
render :json=>b.to_json
end
def update_journal
@journal = Journal.find("4ff2d6ebbd98eb02b9000017")
@papers = @journal.papers
@papers.each do |paper|
paper.update_attributes(:user_id => current_user.id)
end
b = Array.new
b << {"success"=>"true"}
render :json=>b.to_json
end
end