add coauthor and coauthor relation function
This commit is contained in:
		
							parent
							
								
									13c757e8a9
								
							
						
					
					
						commit
						4ee85a8c09
					
				|  | @ -0,0 +1,63 @@ | |||
| class Panel::PersonalConference::Desktop::ConferenceCoAuthorRelationsController < ApplicationController | ||||
|   def index | ||||
|     @conference_co_author_relations = ConferenceCoAuthorRelation.all | ||||
|     new | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html {render layout: false } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def edit | ||||
|     @conference_co_author_relation = ConferenceCoAuthorRelation.find(params[:id]) | ||||
|     respond_to do |format| | ||||
|       format.html { render :layout => false} | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def new | ||||
|     @conference_co_author_relation = ConferenceCoAuthorRelation.new | ||||
|   end | ||||
| 
 | ||||
|   def create | ||||
|     @conference_co_author_relation = ConferenceCoAuthorRelation.new(params[:conference_co_author_relation]) | ||||
|     @conference_co_author_relations = ConferenceCoAuthorRelation.all | ||||
| 
 | ||||
|     if @conference_co_author_relation.save | ||||
|       newv = render_to_string partial: "show_form", object: @conference_co_author_relations | ||||
|       render json: {success: true, msg: "New Relation successfully saved!", newvalue: newv}.to_json | ||||
|     else | ||||
|       error_msg = @conference_co_author_relation.errors.full_messages.join("<br />") | ||||
|       render json: {success: false, msg: error_msg}.to_json | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def update | ||||
|     @conference_co_author_relation = ConferenceCoAuthorRelation.find(params[:id]) | ||||
|     if @conference_co_author_relation.update_attributes(params[:conference_co_author_relation]) | ||||
|       @conference_co_author_relations = ConferenceCoAuthorRelation.all | ||||
|       newv = render_to_string partial: "show_form", object: @conference_co_author_relations | ||||
|       render json: {success: true, msg: "New Relation successfully updated!", newvalue: newv}.to_json | ||||
|     else | ||||
|       error_msg = @conference_co_author.errors.full_messages.join("<br />") | ||||
|       render json: {success: false, msg: error_msg}.to_json | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def destroy | ||||
|     @conference_co_author_relation = ConferenceCoAuthorRelation.find(params[:id]) | ||||
|     @conference_co_author_relation.destroy | ||||
|     reset_co_author_relation | ||||
| 
 | ||||
|     render :json => {success: true, msg: "deleted successfully!"} | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def reset_co_author_relation | ||||
|     co_author = ConferenceCoAuthor.where(co_author_relations_id: @co_author_relation.id) | ||||
|     co_author.map do |c| | ||||
|       c.update_attributes(co_author_relations_id: nil) | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | @ -0,0 +1,59 @@ | |||
| class Panel::PersonalConference::Desktop::ConferenceCoAuthorsController < ApplicationController | ||||
|   def index | ||||
|     nils, not_nils = ConferenceCoAuthor.where(name_id: current_user.id)\ | ||||
|                      .asc(:co_author).partition{|p| p.email.nil?} | ||||
|     @conference_co_authors = not_nils + nils | ||||
|     @conference_co_author_relations = ConferenceCoAuthorRelation.all | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html { render :layout => false} | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def new | ||||
|     @conference_co_author = ConferenceCoAuthor.new | ||||
|     @conference_co_author_relations = ConferenceCoAuthorRelation.all | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.html { render :layout => false} | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def edit | ||||
|     @conference_co_author = ConferenceCoAuthor.find(params[:id]) | ||||
|     @conference_co_author_relations = ConferenceCoAuthorRelation.all | ||||
|     respond_to do |format| | ||||
|       format.html { render :layout => false} | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def create | ||||
|     @conference_co_author = ConferenceCoAuthor.new(params[:conference_co_author]) | ||||
|     @conference_co_author.name_id= current_user.id | ||||
| 
 | ||||
|     if @conference_co_author.save | ||||
|       render json: {success:true, msg: t('create.sucess.co_author')}.to_json | ||||
|     else | ||||
|       error_msg = @conference_co_author.errors.full_messages.join("<br />") | ||||
|       render json: {success: false, msg: error_msg}.to_json | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def update | ||||
|     @conference_co_author = ConferenceCoAuthor.find(params[:id]) | ||||
| 
 | ||||
|     if @conference_co_author.update_attributes(params[:co_author]) | ||||
|       render json: {success:true, msg: t('update.sucess.co_author')}.to_json | ||||
|     else | ||||
|       error_msg = @conference_co_author.errors.full_messages.join("<br />") | ||||
|       render json: {success: false, msg: error_msg}.to_json | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def destroy | ||||
|     @conference_co_author = ConferenceCoAuthor.find(params[:id]) | ||||
|     @conference_co_author.destroy | ||||
| 
 | ||||
|     render :json => {success: true, msg: "Co-author deleted successfully!"} | ||||
|   end | ||||
| end | ||||
|  | @ -0,0 +1,11 @@ | |||
| <%= f.text_field :relation %> | ||||
| <!-- | ||||
| <#%= f.fields_for :relation_translations do |f| %> | ||||
|   <#%= f.text_field locale, | ||||
|       value: (@conference_co_author_relation.relation_translations[locale] rescue nil) %> | ||||
| <#% end %> | ||||
| --> | ||||
| <%= f.submit "Save", class: "ini_input hp hh2 thmtxt thmc2", style: "margin-left: 10px;" %> | ||||
| <% if not @conference_co_author_relation.new_record? %> | ||||
|   <%= submit_tag "Cancel", :type => "button", class: "bt-cancel-type ini_input hp hh2 thmtxt" %> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,3 @@ | |||
| <%= form_for(@conference_co_author_relation, url: panel_personal_conference_desktop_conference_co_author_relations_path, html:{"form-type"=>"ajax_form", "callback-method"=>"coauthorRelationForm"} ) do |f| %> | ||||
|   <%= render partial: 'form' , locals: {:f => f}%> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,17 @@ | |||
| <% @conference_co_author_relations.each_with_index do |conference_co_author_relation,i| %> | ||||
|   <% if ( i % 6 ) == 0 %> | ||||
|     <div class="s_grid_con s_form"> | ||||
|       <ul> | ||||
|       <% end %> | ||||
|       <li class="s_grid_row"> | ||||
|       <div class="form_space" id="form_space_<%= i.to_s %>"><%= conference_co_author_relation.relation %></div> | ||||
|       <div class="list_item_function"> | ||||
|         <%= link_to 'Edit', edit_panel_personal_conference_desktop_conference_co_author_relation_path(conference_co_author_relation), :class => "bt-edit-type admbg2 admtxt", "content-holder"=>"#form_space_"+i.to_s, "ajax-remote"=>"get" %> | ||||
|         <%= link_to 'Destroy', panel_personal_conference_desktop_conference_co_author_relation_path(conference_co_author_relation), "confirm-message"=>'Are you sure?', "ajax-remote"=>"delete", :class=>"bt-delete admbg2 admtxt" %> | ||||
|       </div> | ||||
|       </li> | ||||
|       <% if ( i % 6 ) == 5 %> | ||||
|       </ul> | ||||
|     </div> | ||||
|   <% end %> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,3 @@ | |||
| <%= form_for(@conference_co_author_relation, url: panel_personal_conference_desktop_conference_co_author_relation_path(@conference_co_author_relation), html:{"form-type"=>"ajax_form", "callback-method"=>"coauthorRelationEditForm"} ) do |f| %> | ||||
|   <%= render partial: 'form' , locals: {:f => f}%> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,22 @@ | |||
| <div class="toolbar hh2"> | ||||
|   <div class="fn_g hp"> | ||||
|     <div class="hh2 sdm"> | ||||
|       <div class="sdm_t hp hh2 thmc2 thmtxt">Create</div> | ||||
|       <div class="admbg sdm_o"> | ||||
|         <ul> | ||||
|           <li class="vp hp s_form" style="width:282px;"><%= render 'new' %></li> | ||||
|         </ul> | ||||
|       </div> | ||||
|     </div> | ||||
|     <%= submit_tag "Back", :type => "button", class: "bt-cancel fn_btn ini_input hp hh2 thmtxt" %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| <div id="co_author_relation_table" class="tinycanvas vp"> | ||||
|   <div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div> | ||||
|   <div class="viewport"> | ||||
|     <div class="overview"> | ||||
|       <%= render :partial => 'show_form'%> | ||||
|     </div> | ||||
|   </div> | ||||
| </div> | ||||
|  | @ -0,0 +1,35 @@ | |||
| <div class="toolbar hh2"> | ||||
|   <div class="fn_g hp"> | ||||
|     <%= f.submit "Save", name: "commit", value: "Save", class: "fn_btn ini_input hp hh2 thmc2 thmtxt" %> | ||||
|     <%= submit_tag "Cancel", :type => "button", class: "bt-cancel fn_btn ini_input hp hh2 thmtxt" %> | ||||
|   </div> | ||||
| </div> | ||||
| <div id="new_co_author" class="s_grid_con s_form vp"> | ||||
|   <ul> | ||||
|   <li class="s_grid_row"> | ||||
|     <%= f.label :co_author, class: "s_grid s_grid_2" %> | ||||
|     <%= f.text_field :co_author, class: "s_grid_4 s_grid"%> | ||||
|     <!-- | ||||
|     <%#= f.fields_for :co_author_translations do |f| %> | ||||
|       <%#= f.text_field locale, | ||||
|           class: "s_grid_4 s_grid", | ||||
|           value: (@conference_co_author.co_author_translations[locale] rescue nil) %> | ||||
|       <%# end %> | ||||
|   --> | ||||
|   </li> | ||||
|   <li class="s_grid_row"> | ||||
|     <%= f.label :email, class: "s_grid s_grid_2"%> | ||||
|     <%= f.text_field :email, class: "s_grid s_grid_4" %> | ||||
|   </li> | ||||
|   <li class="s_grid_row"> | ||||
|     <%= f.label :type, class: "s_grid s_grid_2"%> | ||||
|     <select name="conference_co_author[co_author_relations_id]" id="" class="s_grid s_grid_4"> | ||||
|       <%= options_for_select( | ||||
|         @conference_co_author_relations.map do |relation| | ||||
|           [relation.relation, relation.id] | ||||
|         end | ||||
|       )%> | ||||
|     </select> | ||||
|   </li> | ||||
| </ul> | ||||
| </div> | ||||
|  | @ -0,0 +1,3 @@ | |||
| <%= form_for @conference_co_author, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"coAuthorformCallback"} , url: panel_personal_conference_desktop_conference_co_author_path(@conference_co_author) do |f| %> | ||||
|   <%= render partial: 'form', locals: {:f => f} %> | ||||
| <% end %> | ||||
|  | @ -0,0 +1,34 @@ | |||
| <div class="toolbar hh2"> | ||||
|   <div class="fn_g hp"> | ||||
|   <%= link_to "New Co-Author", new_panel_personal_conference_desktop_conference_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt", "ajax-remote"=>"get" %> | ||||
|   <%= link_to "New Type",  panel_personal_conference_desktop_conference_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt", "ajax-remote"=>"get" %> | ||||
|   </div> | ||||
| </div> | ||||
| <div id="co_author" class="tinycanvas vp"> | ||||
|   <div class="scrollbar sb_h vp"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div> | ||||
|   <div class="viewport"> | ||||
|     <div class="overview"> | ||||
|       <% @conference_co_authors.each_with_index do |co_author,i| %> | ||||
|         <% if ( i % 4 ) == 0 %> | ||||
|           <div class="g_col"> | ||||
|           <ul> | ||||
|             <% end %> | ||||
|             <li class="list_t_item"> | ||||
|               <ul class="info"> | ||||
|                 <li><div class="name"><%= co_author.co_author %></div></li> | ||||
|                 <li><div class="email"><i class="icon-envelope"></i> <%= co_author.email %></div></li> | ||||
|                 <li><div class="relations"><i class="icon-user"></i> <%= @conference_co_author_relations.find(co_author.conference_co_author_relations_id).relation unless co_author.conference_co_author_relations_id.nil?%></div></li> | ||||
|               </ul> | ||||
|               <div class="list_item_function"> | ||||
|                 <%= link_to 'Edit', edit_panel_personal_conference_desktop_conference_co_author_path(co_author), :class => "bt-edit admbg2 admtxt", "ajax-remote"=>"get" %> | ||||
|                 <%= link_to 'Destroy', panel_personal_conference_desktop_conference_co_author_path(co_author), "ajax-remote"=>"delete", "confirm-message"=>'Are you sure?', "callback-method"=>"paperDelete", :class=>"bt-delete admbg2 admtxt"  %> | ||||
|               </div> | ||||
|             </li> | ||||
|             <% if ( i % 4 ) == 3 %> | ||||
|           </ul> | ||||
|           </div> | ||||
|         <% end %> | ||||
|       <% end %> | ||||
|     </div> | ||||
|   </div> | ||||
| </div> | ||||
|  | @ -0,0 +1,3 @@ | |||
| <%= form_for @conference_co_author, html: { multipart: true ,"form-type"=>"ajax_form", "callback-method"=>"conferenceCoAuthorformCallback"} , url: panel_personal_conference_desktop_conference_co_authors_path do |f| %> | ||||
|   <%= render partial: 'form', locals: {:f => f} %> | ||||
| <% end %> | ||||
|  | @ -16,7 +16,7 @@ | |||
|       <li><a href="<%= panel_personal_conference_desktop_conference_pages_path %>" load="true" callback-method="list" class="hh2 w2 hp active thmc1 thmtxt" onclick='return false;'>List</a></li> | ||||
|       <li><a href="<%= new_panel_personal_conference_desktop_conference_page_path %>" callback-method="addconference" custom-load="add" class="admtxt hh2 w2 hp" onclick='return false;'>Add/Edit</a></li> | ||||
|       <li><a href="<%= panel_personal_conference_desktop_conference_type_path %>" callback-method="conference" class="admtxt hh2 w2 hp" onclick='return false;'>Conference</a></li> | ||||
|       <li><a href="" callback-method="coauthor" class="admtxt hh2 w2 hp" onclick='return false;'>Co-Authors</a></li> | ||||
|       <li><a href="<%= panel_personal_conference_desktop_conference_co_authors_path %>" callback-method="coauthor" class="admtxt hh2 w2 hp" onclick='return false;'>Co-Authors</a></li> | ||||
|       <li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Tags & Keywords</a></li> | ||||
|       <li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Analysis</a></li> | ||||
|       <li><a href="" class="admtxt hh2 w2 hp" onclick='return false;'>Import</a></li> | ||||
|  |  | |||
|  | @ -5,7 +5,9 @@ Rails.application.routes.draw do | |||
|       namespace :desktop do | ||||
|         match 'conference_window' => 'conference_windows#conference_window' | ||||
|         match 'conference_type' => 'conference_pages#conference_type' | ||||
|         resources :conference_pages | ||||
|         resources :conference_pages, except: :show | ||||
|         resources :conference_co_authors, except: :show | ||||
|         resources :conference_co_author_relations, except: :show | ||||
|       end | ||||
|       namespace :back_end do | ||||
|         match 'writing_conference_setting' => "writing_conferences#writing_conference_setting" ,:as => :writing_conference_setting | ||||
|  |  | |||
|  | @ -22,7 +22,6 @@ class Panel::PersonalJournal::Desktop::JournalCoAuthorRelationsController < Appl | |||
|   def create | ||||
|     @journal_co_author_relation = JournalCoAuthorRelation.new(params[:journal_co_author_relation]) | ||||
|     @journal_co_author_relations = JournalCoAuthorRelation.all | ||||
|     binding.pry | ||||
| 
 | ||||
|     if @journal_co_author_relation.save | ||||
|       newv = render_to_string partial: "show_form", object: @journal_co_author_relations | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue