128 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			3.0 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 # new.html.erb
 | |
| #      format.xml  { render :xml => @writing_journal }
 | |
| #    end
 | |
|     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)
 | |
|     p current_user.id
 | |
| p "======="
 | |
| 
 | |
|     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
 |