Bug 19935: Replace GetPendingIssues - summary-print
[koha.git] / members / files.pl
index 84bc41e..7927eae 100755 (executable)
@@ -4,50 +4,54 @@
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
-use CGI;
+use CGI qw ( -utf8 );
 
 use C4::Auth;
-use C4::Branch;
 use C4::Output;
 use C4::Members;
 use C4::Members::Attributes qw(GetBorrowerAttributes);
 use C4::Debug;
 
 use Koha::DateUtils;
-use Koha::Borrower::Files;
+use Koha::Patrons;
+use Koha::Patron::Files;
 
 my $cgi = CGI->new;
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
-        template_name   => "members/files.tmpl",
+        template_name   => "members/files.tt",
         query           => $cgi,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { borrowers => 1 },
+        flagsrequired   => { borrowers => 'edit_borrowers' },
         debug           => 1,
     }
 );
 $template->param( 'borrower_files' => 1 );
 
 my $borrowernumber = $cgi->param('borrowernumber');
-my $bf = Koha::Borrower::Files->new( borrowernumber => $borrowernumber );
+
+my $logged_in_user = Koha::Patrons->find( $loggedinuser ) or die "Not logged in";
+my $patron         = Koha::Patrons->find($borrowernumber);
+output_and_exit_if_error( $cgi, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } );
+
+my $bf = Koha::Patron::Files->new( borrowernumber => $borrowernumber ); # FIXME Should be $patron->get_files. Koha::Patron::Files needs to be Koha::Objects based first
 
 my $op = $cgi->param('op') || '';
 
@@ -63,8 +67,9 @@ if ( $op eq 'download' ) {
     print $file->{'file_content'};
 }
 else {
-    my $data = GetMember( borrowernumber => $borrowernumber );
-    $template->param(%$data);
+
+    my $patron_category = $patron->category;
+    $template->param( patron => $patron );
 
     my %errors;
 
@@ -90,7 +95,7 @@ else {
                     name    => $filename,
                     type    => $mimetype,
                     content => $file_content,
-                    description => $cgi->param('description'),
+                    description => scalar $cgi->param('description'),
                 );
             }
         }
@@ -98,14 +103,9 @@ else {
             $errors{'no_file'} = 1;
         }
     } elsif ( $op eq 'delete' ) {
-        $bf->DelFile( id => $cgi->param('file_id') );
+        $bf->DelFile( id => scalar $cgi->param('file_id') );
     }
 
-    $template->param(
-        categoryname    => $data->{'description'},
-        branchname      => GetBranchName($data->{'branchcode'}),
-    );
-
     if (C4::Context->preference('ExtendedPatronAttributes')) {
         my $attributes = GetBorrowerAttributes($borrowernumber);
         $template->param(
@@ -114,14 +114,11 @@ else {
         );
     }
 
-    my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
-    $template->param( picture => 1 ) if $picture;
-
     $template->param(
-        files => Koha::Borrower::Files->new( borrowernumber => $borrowernumber )
+        files => Koha::Patron::Files->new( borrowernumber => $borrowernumber )
           ->GetFilesInfo(),
 
-        errors => \%errors
+        errors => \%errors,
     );
     output_html_with_http_headers $cgi, $cookie, $template->output;
 }