add edit function
This commit is contained in:
		
							parent
							
								
									a3edebce6a
								
							
						
					
					
						commit
						d7599f1ccf
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
  def update
 | 
			
		||||
    if params[:commit].eql?"Save"
 | 
			
		||||
      @writing_journal= WritingJournal.find(params[:id])
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
  def update
 | 
			
		||||
    if params[:commit].eql?"Edit"
 | 
			
		||||
      params[:writing_journal][:update_user_id] = current_user.id
 | 
			
		||||
    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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,29 +4,6 @@ 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
 | 
			
		||||
| 
						 | 
				
			
			@ -52,82 +29,31 @@ class DesktopPublicationsController< ApplicationController
 | 
			
		|||
    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
 | 
			
		||||
#  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 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,3 @@
 | 
			
		|||
<h1>Desktop::JournalPages#edit</h1>
 | 
			
		||||
<p>Find me in app/views/desktop/journal_pages/edit.html.erb</p>
 | 
			
		||||
<%= form_for @writing_journal, url: desktop_journal_page_path(@writing_journal)  do |f| %>
 | 
			
		||||
  <%= render partial: 'desktop/journal_pages/form', locals: {:f => f} %>
 | 
			
		||||
<%end%>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,3 @@
 | 
			
		|||
<%= form_for @writing_journal, url: desktop_journal_pages_path  do |f| %>
 | 
			
		||||
<%= form_for @writing_journal, html: { multipart: true } , url: desktop_journal_pages_path  do |f| %>
 | 
			
		||||
  <%= render partial: 'desktop/journal_pages/form', locals: {:f => f} %>
 | 
			
		||||
<%end%>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
Orbit::Application.routes.draw do
 | 
			
		||||
 | 
			
		||||
  devise_for :users
 | 
			
		||||
  mount Resque::Server, :at => "/admin/resque"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -151,8 +150,8 @@ Orbit::Application.routes.draw do
 | 
			
		|||
 | 
			
		||||
  namespace :desktop do
 | 
			
		||||
 | 
			
		||||
    match '/journal_pages/get_journals_json' => 'journal_pages#get_journals_json' , via: :get
 | 
			
		||||
    match "/" =>  "desktop#index"
 | 
			
		||||
 | 
			
		||||
    match '/desktop'=>'desktop#desktop'
 | 
			
		||||
    match '/app_manager'=>'desktop#app_manager'
 | 
			
		||||
    match '/sections'=>'desktop#sections'
 | 
			
		||||
| 
						 | 
				
			
			@ -167,16 +166,13 @@ Orbit::Application.routes.draw do
 | 
			
		|||
    match '/newpositions/'=>'desktop#newpositions'
 | 
			
		||||
    match '/connections/'=>'desktop#connections'
 | 
			
		||||
    match '/widget_layout' => 'desktop#widget_layout'
 | 
			
		||||
 | 
			
		||||
    match '/temp_func/'=>'desktop#temp_func'
 | 
			
		||||
 | 
			
		||||
    resources :journal_pages
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # namespace :desktop_publications do
 | 
			
		||||
  match 'desktop_publications/journal_p'=>'desktop_publications#journal_p'
 | 
			
		||||
  # match 'desktop_publications/journal_p_list'=>'desktop_publications#journal_p_list'
 | 
			
		||||
  # match 'desktop_publications/journal_p_add'=>'desktop_publications#journal_p_add'
 | 
			
		||||
  # match 'desktop_publications/journal_p_create'=>'desktop_publications#journal_p_create' , :via => :post
 | 
			
		||||
  match 'desktop_publications/books' => 'desktop_publications#books'
 | 
			
		||||
  match 'desktop_publications/books_list'=>'desktop_publications#books_list'
 | 
			
		||||
  match 'desktop_publications/books_add'=>'desktop_publications#books_add'
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +180,6 @@ Orbit::Application.routes.draw do
 | 
			
		|||
  match 'desktop_publications/seminar_p' => 'desktop_publications#seminar_p'
 | 
			
		||||
  match 'desktop_publications/seminar_p_list/'=>'desktop_publications#seminar_p_list'
 | 
			
		||||
  match 'desktop_publications/seminar_p_add/'=>'desktop_publications#seminar_p_add'
 | 
			
		||||
  match 'desktop_publications/getjournals' => 'desktop_publications#getjournals'
 | 
			
		||||
  # end
 | 
			
		||||
 | 
			
		||||
  # namespace :desktop_research do
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,7 @@ class WritingJournal
 | 
			
		|||
  has_and_belongs_to_many :tags, :class_name => "PersonalJournalTag"
 | 
			
		||||
  has_and_belongs_to_many :journal_author_types
 | 
			
		||||
  has_and_belongs_to_many :journal_level_types
 | 
			
		||||
 | 
			
		||||
  has_many :writing_journal_files, :autosave => true, :dependent => :destroy
 | 
			
		||||
  belongs_to :journal_paper_type
 | 
			
		||||
 | 
			
		||||
  field :year
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +31,6 @@ class WritingJournal
 | 
			
		|||
  field :create_user_id, :type => BSON::ObjectId
 | 
			
		||||
  field :update_user_id, :type => BSON::ObjectId
 | 
			
		||||
 | 
			
		||||
  has_many :writing_journal_files, :autosave => true, :dependent => :destroy
 | 
			
		||||
 | 
			
		||||
  accepts_nested_attributes_for :writing_journal_files, :allow_destroy => true
 | 
			
		||||
  after_save :save_writing_journal_files
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue