Bug 32841: Fix cataloguing/value_builder/unimarc_field_123i.pl
[koha-ffzg.git] / members / files.pl
index 628ef31..2abfbc7 100755 (executable)
@@ -21,15 +21,13 @@ use Modern::Perl;
 
 use CGI qw ( -utf8 );
 
-use C4::Auth;
-use C4::Output;
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
 use C4::Members;
-use C4::Members::Attributes qw(GetBorrowerAttributes);
-use C4::Debug;
 
-use Koha::DateUtils;
 use Koha::Patrons;
 use Koha::Patron::Files;
+use Koha::Patron::Categories;
 
 my $cgi = CGI->new;
 
@@ -38,15 +36,18 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         template_name   => "members/files.tt",
         query           => $cgi,
         type            => "intranet",
-        authnotrequired => 0,
-        flagsrequired   => { borrowers => 1 },
-        debug           => 1,
+        flagsrequired   => { borrowers => 'edit_borrowers' },
     }
 );
 $template->param( 'borrower_files' => 1 );
 
 my $borrowernumber = $cgi->param('borrowernumber');
-my $bf = Koha::Patron::Files->new( borrowernumber => $borrowernumber );
+
+my $logged_in_user = Koha::Patrons->find( $loggedinuser );
+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') || '';
 
@@ -62,14 +63,9 @@ if ( $op eq 'download' ) {
     print $file->{'file_content'};
 }
 else {
-    my $patron = Koha::Patrons->find( $borrowernumber );
-    unless ( $patron ) {
-        print $cgi->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber");
-        exit;
-    }
 
     my $patron_category = $patron->category;
-    $template->param(%{ $patron->unblessed});
+    $template->param( patron => $patron );
 
     my %errors;
 
@@ -107,23 +103,6 @@ else {
     }
 
     $template->param(
-        categoryname    => $patron_category->description,
-    );
-
-    if (C4::Context->preference('ExtendedPatronAttributes')) {
-        my $attributes = GetBorrowerAttributes($borrowernumber);
-        $template->param(
-            ExtendedPatronAttributes => 1,
-            extendedattributes => $attributes
-        );
-    }
-
-    $template->param( picture => 1 ) if $patron->image;
-
-    $template->param( adultborrower => 1 )
-        if ( $patron_category->category_type eq 'A' || $patron_category->category_type eq 'I' );
-
-    $template->param(
         files => Koha::Patron::Files->new( borrowernumber => $borrowernumber )
           ->GetFilesInfo(),