Bug 4985: Edit a calendar entry for all branches
[srvgit] / tools / upload.pl
index dafb8dd..afb7c51 100755 (executable)
@@ -25,6 +25,10 @@ use C4::Auth;
 use C4::Output;
 use Koha::UploadedFiles;
 
+use constant ERR_READING     => 'UPLERR_FILE_NOT_READ';
+use constant ALERT_DELETED   => 'UPL_FILE_DELETED'; # alert, no error
+use constant ERR_NOT_DELETED => 'UPLERR_FILE_NOT_DELETED';
+
 my $input  = CGI::->new;
 my $op     = $input->param('op') // 'new';
 my $plugin = $input->param('plugin');
@@ -57,10 +61,14 @@ if ( $op eq 'new' ) {
 
 } elsif ( $op eq 'search' ) {
     my $uploads;
-    if( $id ) {
-        my $rec = Koha::UploadedFiles->find( $id );
-        undef $rec if $rec && $plugin && !$rec->public;
-        push @$uploads, $rec->unblessed if $rec;
+    if( $id ) { # might be a comma separated list
+        my @id = split /,/, $id;
+        foreach my $recid (@id) {
+            my $rec = Koha::UploadedFiles->find( $recid );
+            push @$uploads, $rec->unblessed
+                if $rec && ( $rec->public || !$plugin );
+                # Do not show private uploads in the plugin mode (:editor)
+        }
     } else {
         $uploads = Koha::UploadedFiles->search_term({
             term => $term,
@@ -83,9 +91,9 @@ if ( $op eq 'new' ) {
     my $delete = $rec ? $rec->delete : undef;
     #TODO Improve error handling
     my $msg = $delete
-        ? JSON::to_json({ $fn => { code => 6 }})
+        ? JSON::to_json({ $fn => { code => ALERT_DELETED }})
         : $id
-        ? JSON::to_json({ $fn || $id, { code => 7 }})
+        ? JSON::to_json({ $fn || $id, { code => ERR_NOT_DELETED }})
         : '';
     $template->param(
         mode             => 'deleted',
@@ -100,7 +108,7 @@ if ( $op eq 'new' ) {
     if ( !$rec || !$fh ) {
         $template->param(
             mode             => 'new',
-            msg              => JSON::to_json({ $id => { code => 5 }}),
+            msg              => JSON::to_json({ $id => { code => ERR_READING }}),
         );
         output_html_with_http_headers $input, $cookie, $template->output;
     } else {