Bug 21345: Patron records with attached files not obvious from patron details view
authorOwen Leonard <oleonard@myacpl.org>
Mon, 27 Jul 2020 15:57:40 +0000 (15:57 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 13 Aug 2020 05:55:44 +0000 (07:55 +0200)
This patch adds a section to the patron details page for listing files
which have been attached to the patron record.

To test, apply the patch and enable the EnableBorrowerFiles system
preference.

- If necessary, attach some files to a patron record by viewing a patron
  record and choosing "Files" from the sidebar menu.
- View the detail page (moremember.pl) for a patron who has files
  attached.
- You should see a new section under "Alternative contact" with the
  heading "Files."
  - Test the "Manage" button to make sure it takes you to that patron's
    files.
  - Confirm that all the attached files are listed.
  - Confirm that the links to each file work correctly.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

JD amended patch: replace a html filter with uri

Bug 21345: (follow-up) Hide files information if EnableBorrowerFiles is disabled

This patch wraps the new patron file information in a check for the
EnableBorrowerFiles system preference.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
members/moremember.pl

index 5803963..11f9897 100644 (file)
                                     </div>
                                 [% END %]
                             </div> [% # /div#patron-alternative-contact %]
+
+                            [% IF Koha.Preference('EnableBorrowerFiles') %]
+                                <div id="patron-files" class="patroninfo-section">
+                                    <div class="patroninfo-heading">
+                                        <h3>Files</h3>
+                                        <a class="btn btn-default btn-xs" href="/cgi-bin/koha/members/files.pl?borrowernumber=[% patron.borrowernumber | uri %]"><i class="fa fa-list"></i> Manage</a>
+
+                                        [% IF ( files ) %]
+                                            <div class="rows">
+                                                <ol>
+                                                    [% FOREACH f IN files %]
+                                                        <li>
+                                                            <a href="/cgi-bin/koha/members/files.pl?borrowernumber=[% patron.borrowernumber | uri %]&amp;op=download&amp;file_id=[% f.file_id | uri %]">[% f.file_name | html %]</a>
+                                                            [% IF ( f.file_description ) %]
+                                                                - [% f.file_description | html %]
+                                                            [% END %]
+                                                        </li>
+                                                    [% END # /FOREACH f %]
+                                                </ol>
+                                            </div>
+                                        [% END # /IF files %]
+
+                                    </div> <!-- /.patroninfo-heading -->
+                                </div> <!-- /#patron-files -->
+                            [% END # /IF EnableBorrowerFiles %]
+
                         </div> <!-- /div.col-sm-6 -->
                     </div> <!-- /div.row -->
 
index 93efa7a..5d7d522 100755 (executable)
@@ -40,6 +40,7 @@ use Koha::Patron::Messages;
 use Koha::DateUtils;
 use Koha::CsvProfiles;
 use Koha::Patrons;
+use Koha::Patron::Files;
 use Koha::Token;
 use Koha::Checkouts;
 
@@ -209,6 +210,7 @@ $template->param(
     relatives_issues_count => $relatives_issues_count,
     relatives_borrowernumbers => \@relatives,
     logged_in_user => $logged_in_user,
+    files => Koha::Patron::Files->new( borrowernumber => $borrowernumber ) ->GetFilesInfo(),
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;