Re: [rt-users] Large attachments - how to warn user before dropped
Hi, Can anyone answer my request ? please. I need the changes made to Create.html to notify users that the attachment has not been added because it exceeds the Max size. Thanks in advance. For the Update.html, I used the code from Eric Shultz and it works fine. My RT version is 3.8.1 Best regards. ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: sa...@bestpractical.com Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
Re: [rt-users] Large attachments - how to warn user before dropped
Please Help. 2009/6/11 samir marhoum samir.marh...@gmail.com Hi, I need the changes made to Create.html to notify users that the attachment has not been added because it exceeds the Max size. Thanks in advance. For the Update.html, I used the code from Eric Shultz and it works fine. My RT version is 3.8.1 Best regards. ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: sa...@bestpractical.com Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
[rt-users] Large attachments - how to warn user before dropped
Hi, I need the changes made to Create.html to notify users that the attachment has not been added because it exceeds the Max size. Thanks in advance. For the Update.html, I used the code from Eric Shultz and it works fine. My RT version is 3.8.1 Best regards. ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: sa...@bestpractical.com Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
RE: [rt-users] Large attachments - how to warn user before dropped
I would like to warn the user before dropping a large attachment and give them the opportunity to make a different selection. I saw this in an earlier email (dated 2006-02-24 from Eric Shultz TruncateLongAttachments ..), where he had modified the RT code to do just that. I've been attempting to do the same thing in Update.html, but failing. I can't seem to determine the filesize with the information at hand. Can anyone point me in the right direction? Or is Update.html not the place to be making these changes? Hi Karen. Unfortunately, I've made a bunch of other changes to the 3.4.x code, so I can't easily provide you with just a simple patch. What I can provide is the code I added for this functionality, however, and at about what point in the file share/html/Ticket/Update.html. Note, however, that I did not set TruncateLongAttachments in RT_SiteConfig.pm, I set DropLongAttachments to 1. Here are my changes: #1: --- /Ticket/Elements/Tabs, Ticket = $TicketObj, Title= $title + /Elements/ListActions, actions = [EMAIL PROTECTED] + FORM ACTION=Update.html NAME=TicketUpdate METHOD=POST enctype=multipart/form-data input type=hidden name=QuoteTransaction value=% $ARGS{QuoteTransaction} % --- #2: --- %INIT my $CanRespond = 0; my $CanComment = 0; my $title; + my @Actions; my $TicketObj = LoadTicket($id); --- #3: --- $session{'Attachments'} = { %{$session{'Attachments'} || {}}, $ARGS{'Attach'} = $attachment }; + + my $latest_attach = $ARGS{'Attach'}; + + # Check the length of all attachments put together, compensating + # for encoding overhead (* .75) like is done elsewhere in the code. + my $total_length = 0; + foreach my $key (keys %{$session{'Attachments'}}) { + my $length = length( ${$session{'Attachments'}}{$key}-stringify_body ); + $total_length += int($length * .75 / 1024); + } + + # If the total of all attachments exceeds the RT config parameter, + # and we're told to drop long attachments, drop all of them. + # But still allow a message update. + my $maxsize = int($RT::MaxAttachmentSize * .75 / 1024); + if ($total_length $maxsize and $RT::DropLongAttachments) { + $RT::Logger-warning( Exceeded maximum attachment size. Total length: ${total_length}k (max: ${maxsize}k) ); + push( @Actions, Attachment '$latest_attach' not uploaded: total size of all attachments (${total_length}k) would exceed limit (${maxsize}k) ); + delete ${$session{'Attachments'}}{$latest_attach}; # remove only the latest one that tipped the scales + delete $ARGS{SubmitTicket}; # don't go to the Display.html page + } } # }}} # delete temporary storage entry to make WebUI clean unless (keys %{$session{'Attachments'}} and $ARGS{'UpdateAttach'}) { delete $session{'Attachments'}; --- Let me know how that works for you. Eric Schultz United Online, Inc. I neglected to mention that I also do pretty much the same thing in Create.html, so people can't make a ticket with too large of an attachment. The only difference is I have a commitme flag: my $commitme = 1; If the $total_length exceeds $maxsize, I set $commitme = 0, then later I have this: if ( $commitme and (!exists $ARGS{'AddMoreAttach'}) ($ARGS{'id'} eq 'new')) { So I don't go to Display.html yet (giving them another opportunity to attach something smaller). Eric Schultz United Online, Inc. ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
Re: [rt-users] Large attachments - how to warn user before dropped
Thanks Eric for all your help. Worked great. Karen Schultz, Eric wrote: I would like to warn the user before dropping a large attachment and give them the opportunity to make a different selection. I saw this in an earlier email (dated 2006-02-24 from Eric Shultz "TruncateLongAttachments .."), where he had modified the RT code to do just that. I've been attempting to do the same thing in Update.html, but failing. I can't seem to determine the filesize with the information at hand. Can anyone point me in the right direction? Or is Update.html not the place to be making these changes? Hi Karen. Unfortunately, I've made a bunch of other changes to the 3.4.x code, so I can't easily provide you with just a simple patch. What I can provide is the code I added for this functionality, however, and at about what point in the file share/html/Ticket/Update.html. Note, however, that I did not set TruncateLongAttachments in RT_SiteConfig.pm, I set DropLongAttachments to 1. Here are my changes: #1: --- /Ticket/Elements/Tabs, Ticket = $TicketObj, Title= $title + /Elements/ListActions, actions = [EMAIL PROTECTED] + FORM ACTION="" NAME="TicketUpdate" METHOD=POST enctype="multipart/form-data" input type="hidden" name="QuoteTransaction" value="% $ARGS{QuoteTransaction} %" --- #2: --- %INIT my $CanRespond = 0; my $CanComment = 0; my $title; + my @Actions; my $TicketObj = LoadTicket($id); --- #3: --- $session{'Attachments'} = { %{$session{'Attachments'} || {}}, $ARGS{'Attach'} = $attachment }; + + my $latest_attach = $ARGS{'Attach'}; + + # Check the length of all attachments put together, compensating + # for encoding overhead (* .75) like is done elsewhere in the code. + my $total_length = 0; + foreach my $key (keys %{$session{'Attachments'}}) { + my $length = length( ${$session{'Attachments'}}{$key}-stringify_body ); + $total_length += int($length * .75 / 1024); + } + + # If the total of all attachments exceeds the RT config parameter, + # and we're told to drop long attachments, drop all of them. + # But still allow a message update. + my $maxsize = int($RT::MaxAttachmentSize * .75 / 1024); + if ($total_length $maxsize and $RT::DropLongAttachments) { + $RT::Logger-warning( "Exceeded maximum attachment size. Total length: ${total_length}k (max: ${maxsize}k)" ); + push( @Actions, "Attachment '$latest_attach' not uploaded: total size of all attachments (${total_length}k) would exceed limit (${maxsize}k)" ); + delete ${$session{'Attachments'}}{$latest_attach}; # remove only the latest one that tipped the scales + delete $ARGS{SubmitTicket}; # don't go to the Display.html page + } } # }}} # delete temporary storage entry to make WebUI clean unless (keys %{$session{'Attachments'}} and $ARGS{'UpdateAttach'}) { delete $session{'Attachments'}; --- Let me know how that works for you. Eric Schultz United Online, Inc. I neglected to mention that I also do pretty much the same thing in Create.html, so people can't make a ticket with too large of an attachment. The only difference is I have a commitme flag: my $commitme = 1; If the $total_length exceeds $maxsize, I set $commitme = 0, then later I have this: if ( $commitme and (!exists $ARGS{'AddMoreAttach'}) ($ARGS{'id'} eq 'new')) { So I don't go to Display.html yet (giving them another opportunity to attach something smaller). Eric Schultz United Online, Inc. ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com