From e5d2d9071b77f2379f9adef97a5e4a7d3e8db809 Mon Sep 17 00:00:00 2001 From: "vit.jonas@gmail.com" Date: Thu, 7 Jul 2011 08:27:22 +0000 Subject: [PATCH] * included total size for folders git-svn-id: http://redmine-dmsf.googlecode.com/svn/trunk/redmine_dmsf@195 5e329b0b-a2ee-ea63-e329-299493fc886d --- app/models/dmsf_file.rb | 4 ++++ app/models/dmsf_folder.rb | 7 +++++++ app/views/dmsf/show.html.erb | 8 ++++---- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index e079e54a..da95146d 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -143,6 +143,10 @@ class DmsfFile < ActiveRecord::Base self.last_revision.workflow end + def size + self.last_revision.size + end + def dmsf_path path = self.folder.nil? ? [] : self.folder.dmsf_path path.push(self) diff --git a/app/models/dmsf_folder.rb b/app/models/dmsf_folder.rb index 1a72b412..7a08aa0d 100644 --- a/app/models/dmsf_folder.rb +++ b/app/models/dmsf_folder.rb @@ -109,6 +109,13 @@ class DmsfFolder < ActiveRecord::Base file_count end + def deep_size + size = 0 + self.files.each {|file| size += file.size} + self.subfolders.each {|subfolder| size += subfolder.deep_size} + size + end + private def self.directory_subtree(tree, folder, level, current_folder) diff --git a/app/views/dmsf/show.html.erb b/app/views/dmsf/show.html.erb index 758ac51a..417d3111 100644 --- a/app/views/dmsf/show.html.erb +++ b/app/views/dmsf/show.html.erb @@ -61,7 +61,7 @@ form_tag({:action => "entries_operation", :id => @project, :folder_id => @folder :class => "icon icon-folder") %>
[<%= subfolder.deep_file_count %>]
- + <%= number_to_human_size(subfolder.deep_size) %> @@ -97,7 +97,7 @@ form_tag({:action => "entries_operation", :id => @project, :folder_id => @folder
0 - <%= subfolder.deep_file_count %> + <%= subfolder.deep_size %> <% end %> <% @files.each do |file| %> @@ -110,9 +110,9 @@ form_tag({:action => "entries_operation", :id => @project, :folder_id => @folder :title => l(:title_title_version_version_download, :title => h(file.title), :version => file.version)) %>
<%= h(file.display_name) %>
- <%= number_to_human_size(file.last_revision.size) unless file.last_revision.nil? %> + <%= number_to_human_size(file.last_revision.size) %> - <%= file.last_revision.updated_at.strftime("%Y-%m-%d %H:%M") unless file.last_revision.nil? %> + <%= file.last_revision.updated_at.strftime("%Y-%m-%d %H:%M") %> <% if file.locked_for_user? %> <%= link_to(image_tag("locked.png", :plugin => "redmine_dmsf"), {:controller => "users", :action => "show", :id => file.locks[0].user },