| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  | class Desktop::JournalPagesController < ApplicationController | 
					
						
							|  |  |  |   def index | 
					
						
							|  |  |  |     @writing_journal = WritingJournal.where(create_user_id: current_user.id) | 
					
						
							|  |  |  |     @level_types = JournalLevelType.all | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     respond_to do |format| | 
					
						
							|  |  |  |       format.html { render :layout => false} | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def new | 
					
						
							|  |  |  |     @writing_journal = WritingJournal.new | 
					
						
							|  |  |  |     @level_types = JournalLevelType.all | 
					
						
							|  |  |  |     @author_types = JournalAuthorType.all | 
					
						
							|  |  |  |     @paper_types= JournalPaperType.all | 
					
						
							| 
									
										
										
										
											2012-11-26 06:44:35 +00:00
										 |  |  |     @co_author_candidate = | 
					
						
							|  |  |  |       CoAuthor.where(name_id: current_user.id).map{|c|c.co_author} | 
					
						
							|  |  |  |     @journal_candidate = | 
					
						
							|  |  |  |       WritingJournal.where(create_user_id: current_user.id).map{|j|j.journal_title}.uniq | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  |     respond_to do |format| | 
					
						
							|  |  |  |       format.html { render :layout => false} | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-11-20 09:20:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def edit | 
					
						
							| 
									
										
										
										
											2012-11-26 06:44:35 +00:00
										 |  |  |     @writing_journal = WritingJournal.find(params[:id]) | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  |     @level_types = JournalLevelType.all | 
					
						
							|  |  |  |     @author_types = JournalAuthorType.all | 
					
						
							|  |  |  |     @paper_types= JournalPaperType.all | 
					
						
							|  |  |  |     respond_to do |format| | 
					
						
							|  |  |  |       format.html { render :layout => false} | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def create | 
					
						
							| 
									
										
										
										
											2012-11-22 02:49:54 +00:00
										 |  |  |     params[:writing_journal][:create_user_id] = current_user.id | 
					
						
							|  |  |  |     @writing_journal = WritingJournal.new(params[:writing_journal]) | 
					
						
							| 
									
										
										
										
											2012-11-21 18:37:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-22 02:49:54 +00:00
										 |  |  |     if @writing_journal.save | 
					
						
							| 
									
										
										
										
											2012-11-27 03:15:15 +00:00
										 |  |  |       render json: {success: true, msg: t('create.success.paper')}.to_json | 
					
						
							| 
									
										
										
										
											2012-11-22 02:49:54 +00:00
										 |  |  |     else | 
					
						
							| 
									
										
										
										
											2012-11-26 07:45:51 +00:00
										 |  |  |       error_msg = @writing_journal.errors.full_messages.join("<br />") | 
					
						
							|  |  |  |       render json: {success: false, msg: error_msg}.to_json | 
					
						
							| 
									
										
										
										
											2012-11-22 02:49:54 +00:00
										 |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  |   def update | 
					
						
							| 
									
										
										
										
											2012-11-21 18:37:56 +00:00
										 |  |  |     params[:writing_journal][:update_user_id] = current_user.id | 
					
						
							|  |  |  |     @writing_journal= WritingJournal.find(params[:id]) | 
					
						
							| 
									
										
										
										
											2012-11-29 08:46:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-29 08:48:07 +00:00
										 |  |  |     if @writing_journal.update_attributes(params[:writing_journal]) | 
					
						
							|  |  |  |       render json: {success: true, msg: t('update.success.paper')}.to_json | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |       error_msg = @writing_journal.errors.full_messages.join("<br />") | 
					
						
							|  |  |  |       render json: {success: false, msg: error_msg}.to_json | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  |   def check_file_type file | 
					
						
							|  |  |  |     if not file.nil? | 
					
						
							|  |  |  |       file_type = MIME::Types.type_for(file).first.to_s.split("/")[1] | 
					
						
							| 
									
										
										
										
											2012-11-20 09:20:05 +00:00
										 |  |  |       file_type = "/assets/ft-icons/#{file_type}/#{file_type}-48_32.png" | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  |     else | 
					
						
							|  |  |  |       file_type = "" | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-23 04:28:36 +00:00
										 |  |  |   def destroy | 
					
						
							|  |  |  |     @writing_journal = WritingJournal.find(params[:id]) | 
					
						
							|  |  |  |     @writing_journal.destroy | 
					
						
							| 
									
										
										
										
											2012-11-27 03:15:15 +00:00
										 |  |  |     render :json => {success: true, msg: t('delete.success.paper')} | 
					
						
							| 
									
										
										
										
											2012-11-23 04:28:36 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  |   def get_journals_json | 
					
						
							|  |  |  |     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, | 
					
						
							|  |  |  |           coauthors: publication.authors, | 
					
						
							|  |  |  |           year: publication.year, | 
					
						
							|  |  |  |           url_edit: edit_desktop_journal_page_path(publication), | 
					
						
							| 
									
										
										
										
											2012-11-22 07:21:43 +00:00
										 |  |  |           url_delete: desktop_journal_page_path(publication), | 
					
						
							| 
									
										
										
										
											2012-11-19 04:07:24 +00:00
										 |  |  |           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 | 
					
						
							| 
									
										
										
										
											2012-11-21 18:37:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-17 19:07:50 +00:00
										 |  |  | end |