Bugzilla – Attachment 74153 Details for
Bug 20563
ILL request list gives no indication of source and/or target
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 20563: Allow display of requested partners
Bug-20563-Allow-display-of-requested-partners.patch (text/plain), 7.49 KB, created by
Andrew Isherwood
on 2018-04-13 10:35:23 UTC
(
hide
)
Description:
Bug 20563: Allow display of requested partners
Filename:
MIME Type:
Creator:
Andrew Isherwood
Created:
2018-04-13 10:35:23 UTC
Size:
7.49 KB
patch
obsolete
>From 12ffd60060683617b21cc27729138fb7cb83e7be Mon Sep 17 00:00:00 2001 >From: Andrew Isherwood <andrew.isherwood@ptfs-europe.com> >Date: Fri, 13 Apr 2018 09:22:26 +0100 >Subject: [PATCH] Bug 20563: Allow display of requested partners > >This patch adds the display of requested partner email addresses when an >ILL backend provides the ability to send requests to partners. Partner >email addresses are displayed in the illlist and illview displays, they >are also included in the 'illrequests' API response. > >* api/v1/swagger/paths/illrequests.json: > - Add 'requested_partners' as an 'embed' enum >* Koha/Illrequest.pm: > - Add 'requested_partners' accessor calling optional backend 'get_requested_partners' method. > - Store requested partners upon email send, calling optional backend 'set_requested_partners' method. > - Add 'requested_parners' embed to overloaded TO_JSON method. >* koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt: > - Add 'requested_partners' embed to illrequests API call > - Add render function for "Additional status" datatables column > - Add display of requested partner email addresses to illlist table > - Add display of requested partner email addresses to illview display > >To test: >1) Enable Interlibrary loans >2) Add a backend that supports sending requests to partners, e.g. >FreeForm >3) Set up at least one partner >4) Create an ILL request >5) Send request to partner(s) >6) Observe partner(s) email address(es) are displayed in "View ILL >requests" view >7) Observe partner(s) email address(es) are displayed in "Manage ILL >request" view >--- > Koha/Illrequest.pm | 32 +++++++++++++++++++++- > api/v1/swagger/paths/illrequests.json | 3 +- > .../prog/en/modules/ill/ill-requests.tt | 26 ++++++++++++++++-- > 3 files changed, 57 insertions(+), 4 deletions(-) > >diff --git a/Koha/Illrequest.pm b/Koha/Illrequest.pm >index 99b97bdbe4..adb6b9ee12 100644 >--- a/Koha/Illrequest.pm >+++ b/Koha/Illrequest.pm >@@ -1,6 +1,6 @@ > package Koha::Illrequest; > >-# Copyright PTFS Europe 2016 >+# Copyright PTFS Europe 2016,2018 > # > # This file is part of Koha. > # >@@ -920,6 +920,13 @@ EOF > my $result = sendmail(%mail); > if ( $result ) { > $self->status("GENREQ")->store; >+ $self->_backend_capability( >+ 'set_requested_partners', >+ { >+ request => $self, >+ to => $to >+ } >+ ); > return { > error => 0, > status => '', >@@ -984,6 +991,23 @@ sub _censor { > return $params; > } > >+=head3 requested_partners >+ >+ my $partners_string = $illRequest->requested_partners; >+ >+Return the string representing the email addresses of the parters to >+whom a request has been sent >+ >+=cut >+ >+sub requested_partners { >+ my ( $self ) = @_; >+ return $self->_backend_capability( >+ 'get_requested_partners', >+ { request => $self } >+ ); >+} >+ > =head3 TO_JSON > > $json = $illrequest->TO_JSON >@@ -1023,6 +1047,11 @@ sub TO_JSON { > $self->branchcode > )->TO_JSON; > } >+ # Augment the request response with requested partner details >+ # if appropriate >+ if ( $embed->{requested_partners} ) { >+ $object->{requested_partners} = $self->requested_partners; >+ } > } > > return $object; >@@ -1041,6 +1070,7 @@ sub _type { > =head1 AUTHOR > > Alex Sassmannshausen <alex.sassmannshausen@ptfs-europe.com> >+Andrew Isherwood <andrew.isherwood@ptfs-europe.com> > > =cut > >diff --git a/api/v1/swagger/paths/illrequests.json b/api/v1/swagger/paths/illrequests.json >index 13ec426fce..5f2f020c1f 100644 >--- a/api/v1/swagger/paths/illrequests.json >+++ b/api/v1/swagger/paths/illrequests.json >@@ -17,7 +17,8 @@ > "patron", > "library", > "capabilities", >- "metadata" >+ "metadata", >+ "requested_partners" > ] > } > }, { >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt >index aab9a75346..20918ecbdd 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt >@@ -47,6 +47,7 @@ > 'biblio_id', > 'library', > 'status', >+ 'additional_status', > 'updated', > 'illrequest_id', > 'action' >@@ -156,6 +157,18 @@ > } > }; > >+ // Render function for additional status >+ var createAdditional = function(data, type, row) { >+ return ( >+ row.hasOwnProperty('requested_partners') && >+ row.requested_partners && >+ row.requested_partners.length > 0 >+ ) ? >+ "Requested from:<br>" + >+ row.requested_partners.replace('; ','<br>') : >+ ''; >+ }; >+ > // Render function for creating a row's action link > var createActionLink = function(data, type, row) { > return '<a class="btn btn-default btn-sm" ' + >@@ -183,6 +196,10 @@ > name: _("Status"), > func: createStatus > }, >+ additional_status: { >+ name: _("Additional status"), >+ func: createAdditional >+ }, > biblio_id: { > name: _("Biblio ID") > }, >@@ -218,7 +235,7 @@ > // Get our data from the API and process it prior to passing > // it to datatables > var ajax = $.ajax( >- '/api/v1/illrequests?embed=metadata,patron,capabilities,library' >+ '/api/v1/illrequests?embed=requested_partners,metadata,patron,capabilities,library' > ).done(function() { > var data = JSON.parse(ajax.responseText); > // Make a copy, we'll be removing columns next and need >@@ -263,7 +280,7 @@ > 'bSearchable': false > }, > ], >- 'aaSorting': [[ 6, 'desc' ]], // Default sort, updated descending >+ 'aaSorting': [[ 7, 'desc' ]], // Default sort, updated descending > 'processing': true, // Display a message when manipulating > 'iDisplayLength': 10, // 10 results per page > 'sPaginationType': "full_numbers", // Pagination display >@@ -526,6 +543,10 @@ > <div class="status"> > <span class="label status">Status:</span> > [% capabilities.$req_status.name %] >+ [% IF request.requested_partners.length > 0 %] >+ ([% request.requested_partners %]) >+ [% END %] >+ > </div> > <div class="updated"> > <span class="label updated">Last updated:</span> >@@ -591,6 +612,7 @@ > <th>Biblio ID</th> > <th>Library</th> > <th>Status</th> >+ <th>Additional status</th> > <th>Updated on</th> > <th>Request number</th> > <th class="actions"></th> >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 20563
:
74152
|
74153
|
75657
|
79523
|
79715
|
79716
|
80603
|
82166
|
82167
|
82511
|
82512
|
82734
|
84695
|
84696
|
84697
|
84698
|
86376
|
86377
|
86378
|
86427
|
86428
|
86429
|
86430
|
86431