From fb5555e17cccef371ec4215236e9525ae4e8f4dc Mon Sep 17 00:00:00 2001 From: JT Smith Date: Mon, 17 Oct 2005 18:19:20 +0000 Subject: [PATCH] fix [ 1328763 ] 6.7.3 FileAsset file size has incorrect value when displayed --- docs/changelog/6.x.x.txt | 3 +++ lib/WebGUI/Asset/File.pm | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index b8c16591d..cd6c6b54d 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -45,6 +45,9 @@ - fix [ 1328105 ] Pages should contain "no-cache" tags - fix [ 1216810 ] anonymous registration errors persist - fix [ 1323272 ] Site modifications using GET in stead of POST + - fix [ 1328763 ] 6.7.3 FileAsset file size has incorrect value when + displayed + 6.7.6 diff --git a/lib/WebGUI/Asset/File.pm b/lib/WebGUI/Asset/File.pm index dc36146c0..6898a4f12 100644 --- a/lib/WebGUI/Asset/File.pm +++ b/lib/WebGUI/Asset/File.pm @@ -196,6 +196,7 @@ sub processPropertiesFromFormPost { my $self = shift; $self->SUPER::processPropertiesFromFormPost; my $storage = $self->getStorageLocation; + delete $self->{_storageLocation}; my $filename = $storage->addFileFromFormPost("file"); if (defined $filename) { my %data; @@ -205,10 +206,7 @@ sub processPropertiesFromFormPost { $data{menuTitle} = $filename unless ($session{form}{menuTitle}); $data{url} = $self->getParent->get('url').'/'.$filename unless ($session{form}{url}); $self->update(\%data); - $self->setSize($storage->getFileSize($filename)); - $self->{_storageLocation} = $storage; } - $storage->setPrivileges($self->get("ownerUserId"), $self->get("groupIdView"), $self->get("groupIdEdit")); } @@ -232,6 +230,16 @@ sub purgeRevision { return $self->SUPER::purgeRevision; } +#------------------------------------------------------------------- +sub setSize { + my $self = shift; + my $fileSize = shift || 0; + my $storage = $self->getStorageLocation; + foreach my $file (@{$storage->getFiles}) { + $fileSize += $storage->getFileSize($file); + } + $self->SUPER::setSize($fileSize); +} #-------------------------------------------------------------------