add edit function
This commit is contained in:
1 parent
a3edebce6a
commit
d7599f1ccf
6 files changed
+116
-119
No files matched your search
@@ -1,4 +1,5 @@
|
||||
class Desktop::JournalPagesController < ApplicationController
|
||||
|
||||
def index
|
||||
@writing_journal = WritingJournal.where(create_user_id: current_user.id)
|
||||
@level_types = JournalLevelType.all
|
||||
@@ -8,6 +9,9 @@ class Desktop::JournalPagesController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def new
|
||||
@writing_journal = WritingJournal.new
|
||||
@level_types = JournalLevelType.all
|
||||
@@ -20,6 +24,13 @@ class Desktop::JournalPagesController < ApplicationController
|
||||
end
|
||||
|
||||
def edit
|
||||
@writing_journal= WritingJournal.find(params[:id])
|
||||
@level_types = JournalLevelType.all
|
||||
@author_types = JournalAuthorType.all
|
||||
@paper_types= JournalPaperType.all
|
||||
respond_to do |format|
|
||||
format.html { render :layout => false}
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
@@ -43,12 +54,77 @@ class Desktop::JournalPagesController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def update
|
||||
if params[:commit].eql?"Edit"
|
||||
params[:writing_journal][:update_user_id] = current_user.id
|
||||
if params[:commit].eql?"Save"
|
||||
@writing_journal= WritingJournal.find(params[:id])
|
||||
end
|
||||
|
||||
if not params[:writing_journal][:publication_date].nil?
|
||||
params[:writing_journal][:publication_date] = \
|
||||
Date.new *(params[:writing_journal][:publication_date].split("/").map{|s| s.to_i})
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
if @writing_journal.update_attributes(params[:writing_journal])
|
||||
format.html { redirect_to desktop_journal_pages_url, :layout => false, notice: 'User was successfully updated.'}
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @user.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
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 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,
|
||||
level: publication.journal_paper_type_id,
|
||||
coauthors: publication.authors,
|
||||
year: publication.year,
|
||||
url_edit: edit_desktop_journal_page_path(publication),
|
||||
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
|
||||
end
|
||||
Reference in new issue
Block a user