changeset 554:026c9747fe9b feature_36

Addresses Feature #228. Already able to remove projects associated with a publication.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Tue, 02 Aug 2011 16:50:22 +0100
parents e25c069ab3b8
children dd4c04e5756d
files vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb vendor/plugins/redmine_bibliography/app/views/publications/_list_projects.html.erb
diffstat 3 files changed, 25 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb	Mon Aug 01 21:18:37 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb	Tue Aug 02 16:50:22 2011 +0100
@@ -232,6 +232,26 @@
     end
     render :nothing => true
   end
+  
+  def remove_from_project_list
+    pub = Publication.find(params[:id])
+    proj = Project.find(params[:project_id])
+
+    if pub.projects.length > 1
+      if pub.projects.exists? proj
+        pub.projects.delete proj if request.post?
+      end
+    else
+      logger.error { "Cannot remove project from publication list" }      
+    end
+    
+    respond_to do |format|
+      format.js { render(:update) {|page| page.replace_html "list_projects", :partial => 'list_projects', :id  => pub} } 
+    end
+    
+    
+  end
+  
 
   def identify_author
     
--- a/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb	Mon Aug 01 21:18:37 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/helpers/publications_helper.rb	Tue Aug 02 16:50:22 2011 +0100
@@ -70,18 +70,12 @@
   
   def render_projects_list(publication)
     s = ""
-    projs = []
     
     publication.projects.each do |proj|
-      projs << link_to_project(proj)
+      s << link_to_project(proj) + link_to_remote(l(:button_delete), { :url => { :controller => 'publications', :action => 'remove_from_project_list', :id => publication, :project_id => proj }, :method => :post }, :class => 'icon icon-del') + "<br />"
     end
     
-    if projs.size < 3
-      s << '<nobr>' << projs.join(', ') << '</nobr>'
-    else
-      s << projs.join(', ')
-    end
-    s
+    s  
   end
   
   def show_bibtex_fields(bibtex_entry)
--- a/vendor/plugins/redmine_bibliography/app/views/publications/_list_projects.html.erb	Mon Aug 01 21:18:37 2011 +0100
+++ b/vendor/plugins/redmine_bibliography/app/views/publications/_list_projects.html.erb	Tue Aug 02 16:50:22 2011 +0100
@@ -1,1 +1,3 @@
-<%= render_projects_list(@publication) %>
\ No newline at end of file
+<% publication = Publication.find(params[:id]) %>
+
+<%= render_projects_list(publication) %>
\ No newline at end of file