mirror of
				https://github.com/redmine/redmine.git
				synced 2025-10-31 10:25:55 +01:00 
			
		
		
		
	Show last update datetime (last attachment added) on document list (#4232).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3095 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
		| @@ -28,7 +28,7 @@ class DocumentsController < ApplicationController | |||||||
|     documents = @project.documents.find :all, :include => [:attachments, :category] |     documents = @project.documents.find :all, :include => [:attachments, :category] | ||||||
|     case @sort_by |     case @sort_by | ||||||
|     when 'date' |     when 'date' | ||||||
|       @grouped = documents.group_by {|d| d.created_on.to_date } |       @grouped = documents.group_by {|d| d.updated_on.to_date } | ||||||
|     when 'title' |     when 'title' | ||||||
|       @grouped = documents.group_by {|d| d.title.first.upcase} |       @grouped = documents.group_by {|d| d.title.first.upcase} | ||||||
|     when 'author' |     when 'author' | ||||||
|   | |||||||
| @@ -34,4 +34,12 @@ class Document < ActiveRecord::Base | |||||||
|       self.category ||= DocumentCategory.default |       self.category ||= DocumentCategory.default | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |    | ||||||
|  |   def updated_on | ||||||
|  |     unless @updated_on | ||||||
|  |       a = attachments.find(:first, :order => 'created_on DESC') | ||||||
|  |       @updated_on = (a && a.created_on) || created_on | ||||||
|  |     end | ||||||
|  |     @updated_on | ||||||
|  |   end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| <p><%= link_to h(document.title), :controller => 'documents', :action => 'show', :id => document %><br /> | <p><%= link_to h(document.title), :controller => 'documents', :action => 'show', :id => document %><br /> | ||||||
| <% unless document.description.blank? %><%=h(truncate(document.description, :length => 250)) %><br /><% end %> | <% unless document.description.blank? %><%=h(truncate(document.description, :length => 250)) %><br /><% end %> | ||||||
| <em><%= format_time(document.created_on) %></em></p> | <em><%= format_time(document.updated_on) %></em></p> | ||||||
							
								
								
									
										14
									
								
								test/fixtures/attachments.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								test/fixtures/attachments.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ attachments_001: | |||||||
|   filename: error281.txt |   filename: error281.txt | ||||||
|   author_id: 2 |   author_id: 2 | ||||||
| attachments_002:  | attachments_002:  | ||||||
|   created_on: 2006-07-19 21:07:27 +02:00 |   created_on: 2007-01-27 15:08:27 +01:00 | ||||||
|   downloads: 0 |   downloads: 0 | ||||||
|   content_type: text/plain |   content_type: text/plain | ||||||
|   disk_filename: 060719210727_document.txt |   disk_filename: 060719210727_document.txt | ||||||
| @@ -121,4 +121,16 @@ attachments_010: | |||||||
|   filename: picture.jpg |   filename: picture.jpg | ||||||
|   author_id: 2 |   author_id: 2 | ||||||
|   content_type: image/jpeg |   content_type: image/jpeg | ||||||
|  | attachments_011:  | ||||||
|  |   created_on: 2007-02-12 15:08:27 +01:00 | ||||||
|  |   container_type: Document | ||||||
|  |   container_id: 1 | ||||||
|  |   downloads: 0 | ||||||
|  |   disk_filename: 060719210727_picture.jpg | ||||||
|  |   digest: b91e08d0cf966d5c6ff411bd8c4cc3a2 | ||||||
|  |   id: 11 | ||||||
|  |   filesize: 452 | ||||||
|  |   filename: picture.jpg | ||||||
|  |   author_id: 2 | ||||||
|  |   content_type: image/jpeg | ||||||
|    |    | ||||||
							
								
								
									
										9
									
								
								test/fixtures/documents.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								test/fixtures/documents.yml
									
									
									
									
										vendored
									
									
								
							| @@ -4,4 +4,11 @@ documents_001: | |||||||
|   title: "Test document" |   title: "Test document" | ||||||
|   id: 1 |   id: 1 | ||||||
|   description: "Document description" |   description: "Document description" | ||||||
|   category_id: 1 |   category_id: 1 | ||||||
|  | documents_002:  | ||||||
|  |   created_on: 2007-02-12 15:08:27 +01:00 | ||||||
|  |   project_id: 1 | ||||||
|  |   title: "An other document" | ||||||
|  |   id: 2 | ||||||
|  |   description: "" | ||||||
|  |   category_id: 2 | ||||||
| @@ -18,7 +18,7 @@ | |||||||
| require File.dirname(__FILE__) + '/../test_helper' | require File.dirname(__FILE__) + '/../test_helper' | ||||||
|  |  | ||||||
| class DocumentTest < ActiveSupport::TestCase | class DocumentTest < ActiveSupport::TestCase | ||||||
|   fixtures :projects, :enumerations, :documents |   fixtures :projects, :enumerations, :documents, :attachments | ||||||
|  |  | ||||||
|   def test_create |   def test_create | ||||||
|     doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) |     doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation')) | ||||||
| @@ -43,4 +43,16 @@ class DocumentTest < ActiveSupport::TestCase | |||||||
|     assert_equal e, doc.category |     assert_equal e, doc.category | ||||||
|     assert doc.save |     assert doc.save | ||||||
|   end |   end | ||||||
|  |    | ||||||
|  |   def test_updated_on_with_attachments | ||||||
|  |     d = Document.find(1) | ||||||
|  |     assert d.attachments.any? | ||||||
|  |     assert_equal d.attachments.map(&:created_on).max, d.updated_on | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   def test_updated_on_without_attachments | ||||||
|  |     d = Document.find(2) | ||||||
|  |     assert d.attachments.empty? | ||||||
|  |     assert_equal d.created_on, d.updated_on | ||||||
|  |   end | ||||||
| end | end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user