# HG changeset patch # User luisf # Date 1308156018 -3600 # Node ID f2288bb384bb96d866dc6dc8fc17c61a7afb4064 # Parent 8aa775cb7c0a9f972621cfc0ee9c675bc2d2e878 Creates and lists publications from the project tab. diff -r 8aa775cb7c0a -r f2288bb384bb vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb --- a/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Tue Jun 14 17:51:26 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/controllers/publications_controller.rb Wed Jun 15 17:40:18 2011 +0100 @@ -3,7 +3,7 @@ class PublicationsController < ApplicationController unloadable - before_filter :find_project, :authorize, :only => [:index, :new] + before_filter :find_project_by_project_id def new @publication = Publication.new @@ -14,6 +14,8 @@ # and at least one author @publication.authors.build + @project_id = params[:project_id] + # the step we're at in the form @publication.current_step = session[:publication_step] @@ -23,7 +25,13 @@ def create @publication = Publication.new(params[:publication]) + @project = Project.find(params[:project_id]) + logger.error { "FIGUEIRA" } + Rails.logger.debug { @project } + + @publication.projects << @project + if @publication.save flash[:notice] = "Successfully created publication." redirect_to @publication @@ -33,7 +41,8 @@ end def index - @publications = Publication.find(:all) + @project = Project.find(params[:project_id]) + @publications = Publication.find :all, :joins => :projects, :conditions => ["project_id = ?", @project.id] end def new_from_bibfile @@ -157,7 +166,6 @@ :institution => institution, :email => email, :order => idx) - end end @@ -179,10 +187,9 @@ private - def find_project + def find_projectx # @project variable must be set before calling the authorize filter @project = Project.find(params[:project_id]) end - end diff -r 8aa775cb7c0a -r f2288bb384bb vendor/plugins/redmine_bibliography/app/views/publications/_edit.html.erb --- a/vendor/plugins/redmine_bibliography/app/views/publications/_edit.html.erb Tue Jun 14 17:51:26 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/views/publications/_edit.html.erb Wed Jun 15 17:40:18 2011 +0100 @@ -1,4 +1,5 @@ -<% form_for @publication do |f| -%> +<% form_for @publication, :url => { :project_id => @project_id, :action => :create } do |f| -%> + <%= f.error_messages %>

<%= f.label :title, l(:title) %> <%= f.text_field :title %>

@@ -14,6 +15,7 @@ <%= render :partial => 'bibtex_fields', :locals => { :f => builder} %> <%- end -%> + <%= f.submit %> <% end -%> diff -r 8aa775cb7c0a -r f2288bb384bb vendor/plugins/redmine_bibliography/app/views/publications/index.html.erb --- a/vendor/plugins/redmine_bibliography/app/views/publications/index.html.erb Tue Jun 14 17:51:26 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/app/views/publications/index.html.erb Wed Jun 15 17:40:18 2011 +0100 @@ -1,7 +1,5 @@ -
- <% if User.current.allowed_to?(:add_publication, @project) %> - <%= link_to l(:label_publication_new), {:controller => 'publications', :action => 'new', :parent_id => @project}, :class => 'icon icon-add' %> - <% end %> +
+ <%= link_to l(:label_publication_new), {:controller => 'publications', :action => 'new', :project_id => @project}, :class => 'icon icon-add' %>
diff -r 8aa775cb7c0a -r f2288bb384bb vendor/plugins/redmine_bibliography/init.rb --- a/vendor/plugins/redmine_bibliography/init.rb Tue Jun 14 17:51:26 2011 +0100 +++ b/vendor/plugins/redmine_bibliography/init.rb Wed Jun 15 17:40:18 2011 +0100 @@ -26,8 +26,8 @@ project_module :redmine_bibliography do permission :publications, { :publications => :index }, :public => true - permission :edit_redmine_bibliography, {:redmine_bibliography => [:index, :edit]} - permission :add_publication, {:redmine_bibliography => :index}, :public => :true + permission :edit_redmine_bibliography, {:redmine_bibliography => [:edit, :update]}, :public => true + permission :add_publication, {:redmine_bibliography => [:new, :create]}, :public => true end # extending the Project Menu