diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-11-04 11:15:04 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-11-04 11:15:04 +0000 |
commit | d4e47d5d649844aa2d29b79334946cf4765c8482 (patch) | |
tree | 68c4ff1afe6390ef876ae427c319c441ea1eceb9 /app/controllers | |
parent | 11cf016c58e9e6e741e8306639940cfdef104564 (diff) | |
download | redmine-d4e47d5d649844aa2d29b79334946cf4765c8482.tar.gz redmine-d4e47d5d649844aa2d29b79334946cf4765c8482.zip |
Added radio buttons on the documents list to sort documents by category, date, title or author.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@879 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/projects_controller.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 394e545d0..ae9c242e0 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -188,7 +188,19 @@ class ProjectsController < ApplicationController # Show documents list of @project def list_documents - @documents = @project.documents.find :all, :include => :category + @sort_by = %w(category date title author).include?(params[:sort_by]) ? params[:sort_by] : 'category' + documents = @project.documents.find :all, :include => [:attachments, :category] + case @sort_by + when 'date' + @grouped = documents.group_by {|d| d.created_on.to_date } + when 'title' + @grouped = documents.group_by {|d| d.title.first.upcase} + when 'author' + @grouped = documents.select{|d| d.attachments.any?}.group_by {|d| d.attachments.last.author} + else + @grouped = documents.group_by(&:category) + end + render :layout => false if request.xhr? end # Add a new issue to @project |