diff options
author | mark <mark> | 2009-11-18 09:09:34 +0000 |
---|---|---|
committer | mark <mark> | 2009-11-18 09:09:34 +0000 |
commit | fc195fd7a0a2ca670cfdd62ef646436b58795c21 (patch) | |
tree | db77fc6fb625e27c4b1e6a7e5de51b37cb7fe170 /httemplate/misc/cust_attachment.cgi | |
parent | 012d0eb8b78e68b1c3ea8da6af659ade6a976351 (diff) |
cust_attachment improvement, RT#4964 and #6225
Diffstat (limited to 'httemplate/misc/cust_attachment.cgi')
-rw-r--r-- | httemplate/misc/cust_attachment.cgi | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/httemplate/misc/cust_attachment.cgi b/httemplate/misc/cust_attachment.cgi new file mode 100644 index 000000000..d1ec777d8 --- /dev/null +++ b/httemplate/misc/cust_attachment.cgi @@ -0,0 +1,34 @@ +<% '',$cgi->redirect(popurl(2). "browse/cust_attachment.html?$browse_opts") %> +<%init> + +$cgi->param('action') =~ /^(Delete|Undelete|Purge) selected$/ + or die "Illegal action"; +my $action = $1; + +my $browse_opts = join(';', map { $_.'='.$cgi->param($_) } + qw( orderby show_deleted ) + ); + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right("$action attachment"); + +foreach my $attachnum ( + map { /^attachnum(\d+)$/; $1; } grep /^attachnum\d+$/, $cgi->param + ) { + my $attach = qsearchs('cust_attachment', { 'attachnum' => $attachnum }); + my $error; + if ( $action eq 'Delete' and !$attach->disabled ) { + $attach->disabled(time); + $error = $attach->replace; + } + elsif ( $action eq 'Undelete' and $attach->disabled ) { + $attach->disabled(''); + $error = $attach->replace; + } + elsif ( $action eq 'Purge' and $attach->disabled ) { + $error = $attach->delete; + } + die $error if $error; +} + +</%init> |