# HG changeset patch # User luisf # Date 1311701114 -3600 # Node ID dd9d9c0ff0f999b0e95586b35e928bc6d19567ac # Parent cdec3eeaef7e406f8fee72bb1fe89e2c133a226c created the helpers to display correctly the My Publications Authors and Projects. diff -r cdec3eeaef7e -r dd9d9c0ff0f9 vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb --- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Tue Jul 26 14:35:11 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Tue Jul 26 18:25:14 2011 +0100 @@ -3,7 +3,7 @@ class PublicationsController < ApplicationController unloadable - before_filter :find_project_by_project_id, :except => [:autocomplete_for_project, :add_author, :sort_authors, :autocomplete_for_author] + # before_filter :find_project_by_project_id, :except => [:autocomplete_for_project, :add_author, :sort_authors, :autocomplete_for_author] def new @publication = Publication.new @@ -24,8 +24,7 @@ logger.error { "PUBLICATION CREATE ACTION" } logger.error { params[:publication] } - - + @project = Project.find(params[:project_id]) logger.error { "PARAMS publication" } @@ -83,7 +82,7 @@ end def show - logger.error "-------> No Show" + find_project_by_project_id unless params[:project_id].nil? @publication = Publication.find(params[:id]) diff -r cdec3eeaef7e -r dd9d9c0ff0f9 vendor/plugins/redmine_bibliography/app/helpers/my_helper.rb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/plugins/redmine_bibliography/app/helpers/my_helper.rb Tue Jul 26 18:25:14 2011 +0100 @@ -0,0 +1,45 @@ +module MyHelper + + def get_my_publications() + if not User.current.author.nil? + @my_publications = Publication.all(:include => :authors, :conditions => "authors.id = #{User.current.author.id}") + else + @my_publications = [] + end + end + + def render_publications_projects(publication) + s = "" + projs = [] + + publication.projects.each do |proj| + projs << link_to(proj.name, proj) + end + + if projs.size < 3 + s << '' << projs.join(', ') << '' + else + s << projs.join(', ') + end + + s + end + + def render_publications_authors(publication) + s = "" + auths = [] + + publication.authorships.each do |auth| + auths << h(auth.name_on_paper) + end + + if auths.size < 3 + s << '' << auths.join(', ') << '' + else + s << auths.join(', ') + end + s + end + + +end diff -r cdec3eeaef7e -r dd9d9c0ff0f9 vendor/plugins/redmine_bibliography/app/views/my/blocks/_publications_box.html.erb --- a/vendor/plugins/redmine_bibliography/app/views/my/blocks/_publications_box.html.erb Tue Jul 26 14:35:11 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/views/my/blocks/_publications_box.html.erb Tue Jul 26 18:25:14 2011 +0100 @@ -1,4 +1,6 @@ -

<%=l(:label_my_publications_box)%> <%= "(" + Publication.all(:include => :authors, :conditions => "authors.id = #{User.current.author.id}").count.to_s + ")" unless User.current.author.nil? %>

+<% get_my_publications %> + +

<%=l(:label_my_publications_box) %> <%= "(" + @my_publications.count.to_s + ")" %>

@@ -6,24 +8,18 @@ - - <% Publication.all(:include => :authors, :conditions => "authors.id = #{User.current.author.id}").each do |publication|%> - + + + <% @my_publications.each do |publication|%> <% end %>
<%=l(:field_publication_authors)%> <%=l(:field_publication_projects)%>
<%= link_to publication.title, publication %> - <% publication.authorships.each do |authorship| %> - <%= h authorship.name_on_paper %> - <% end %> + <%= render_publications_authors(publication) %> - <% publication.projects.each do |proj| %> - - <%= link_to proj.name, proj %> - - <% end %> + <%= render_publications_projects(publication) %>