119 lines
2.8 KiB
Ruby
119 lines
2.8 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
|
|
render "desktop/journal_pages/add", :layout => false
|
|
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
|