% if ( scalar(@attachments) ) { <& /elements/init_overlib.html &> <& /elements/table-grid.html &> <% mt('Date') |h %> % if ( $conf->exists('cust_main_note-display_times') ) { <% mt('Time') |h %> % } <% mt('Person') |h %> <% mt('Filename') |h %> <% mt('Description') |h %> <% mt('Type') |h %> <% mt('Size') |h %> % my $bgcolor1 = '#eeeeee'; % my $bgcolor2 = '#ffffff'; % my $bgcolor = ''; % if($cgi->param('show_deleted')) { % if ($curuser->access_right('View deleted attachments')) { % @attachments = grep { $_->disabled } @attachments; % } % else { % @attachments = (); % } % } % else { % @attachments = grep { not $_->disabled } @attachments; % } % % foreach my $attach (@attachments) { % % if ( $bgcolor eq $bgcolor1 ) { % $bgcolor = $bgcolor2; % } else { % $bgcolor = $bgcolor1; % } % % my $pop = popurl(3); % my $attachnum = $attach->attachnum; % my $edit = ''; % if($attach->disabled) { # then you can undelete it or purge it. % if ($curuser->access_right('Undelete attachment')) { % my $clickjs = popup('edit/process/cust_main_attach.cgi?'. % "custnum=$custnum;attachnum=$attachnum;". % "undelete=1", % emt('Undelete attachment')); % $edit .= linkstr($clickjs, emt('undelete')); % } % if ($curuser->access_right('Purge attachment')) { % my $clickjs = popup('edit/process/cust_main_attach.cgi?'. % "custnum=$custnum;attachnum=$attachnum;". % "purge=1", % emt('Purge attachment'), % emt('Permanently remove this file?') ); % $edit .= linkstr($clickjs,emt('purge')); % } % } % else { # you can download or edit it % if ($curuser->access_right('Edit attachment') ) { % my $clickjs = popup('edit/cust_main_attach.cgi?'. % "custnum=$custnum;attachnum=$attachnum", % emt('Edit attachment properties')); % $edit .= linkstr($clickjs,emt('edit')); % } % if($curuser->access_right('Delete attachment') ) { % my $clickjs = popup('edit/process/cust_main_attach.cgi?'. % "custnum=$custnum;attachnum=$attachnum;delete=1", % 'Delete attachment', % 'Delete this file?'); % $edit .= linkstr($clickjs,emt('delete')); % } % if ($curuser->access_right('Download attachment') ) { % $edit .= qq!  (! % . emt('download') .')'; % } % } <% note_datestr($attach,$conf,$bgcolor) %>  <% $attach->usernum ? $attach->access_user->name : $attach->otaker %>  <% $attach->filename |h %>  <% $attach->title |h %>  <% $attach->mime_type |h %>  <% size_units( $attach->size ) %> <% $edit %> % } #end display notes % } <%init> my $conf = new FS::Conf; my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" if !$curuser->access_right('View attachments'); my(%opt) = @_; my $custnum = $opt{'custnum'}; my $cust_main = qsearchs('cust_main', {'custnum' => $custnum} ); die "Customer not found!" unless $cust_main; my (@attachments) = qsearch('cust_attachment', {'custnum' => $custnum}); #subroutines sub note_datestr { my($note, $conf, $bgcolor) = @_ or return ''; my $td = qq{}; my $format = "$td%b %o, %Y"; $format .= "$td%l:%M%P" if $conf->exists('cust_main_note-display_times'); ( my $strip = time2str($format, $note->_date) ) =~ s/ (\d)/$1/g; $strip; } sub linkstr { my ($clickjs, $label) = (shift,shift); '  (' . emt($label) . ')'; } sub size_units { my $bytes = shift; return $bytes if $bytes < 1024; return int($bytes / 1024)."K" if $bytes < 1048576; return int($bytes / 1048576)."M"; } sub popup { my ($url, $label, $confirm) = @_; my $onclick = include('/elements/popup_link_onclick.html', 'action' => popurl(2).$url, 'actionlabel' => $label, 'width' => 510, 'height' => 315, 'frame' => 'top', ); $onclick = qq!if(confirm('$confirm')) { $onclick }! if $confirm; return qq!onclick="$onclick"!; }