afb81e6c0f
New module to handle management of circulation to Housebound readers. - Ability to create housebound profiles & scheduled visits for patrons. - Ability to record users as Deliverers or Choosers (or both), using extended patron attributes. - Ability to link choosers and deliverers to individual delivery runs. - 'Delivery Frequencies' are customizable through authorised values ('HSBND_FREQ'). * koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc: add Housebound menu if appropriate. * Koha/Patron.pm (housebound_profile): New method. * Koha/Patrons.pm (housebound_choosers, housebound_deliverers): New methods. * Koha/Patron/HouseboundProfile.pm: New File. * Koha/Patron/HouseboundProfiles.pm: New File. * Koha/Patron/HouseboundVisits.pm: New File. * Koha/Patron/HouseboundVisit.pm: New File. * koha-tmpl/intranet-tmpl/prog/en/modules/members/housebound.tt: New file. * members/housebound.pl: New file. * installer/data/mysql/kohastructure.sql: Add housebound_* tables. * installer/data/mysql/sysprefs.sql: Add HouseboundModule syspref. * koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref: Add HouseboundModule syspref. * installer/data/mysql/atomicupdate/housebound_tables.sql: New file. * t/db_dependent/Patron/Borrower_Housebound.t: New file. * t/db_dependent/Patron/Borrower_HouseboundProfiles.t: New file. * t/db_dependent/Patron/Borrower_HouseboundVisits.t: New file. Test plan: - Apply patch. - Run atomic update script. - Run Unit Tests (t/db_dependent/Patron/Housebound*) - Optionally, add additional authorised values to 'HSBND_FREQ'. - Switch on 'HouseboundModule' syspref. - Ensure 'ExtendedPatronAttributes syspref is on. - On patron pages, when editing, add some to the Housebound deliverer and chooser groups. - On a patron page, the Housebound menu should now be present. - create housebound profile + ensure Frequency values seem pulled from 'HSBND_FREQ'. - create 'housebound visits' (deliveries) + ensure chooser/deliverer lists are populated with patrons that have the Chooser or Deliverer Attribute type. - edit visits. - delete visits. - Switch off 'HouseboundModule' - the Housebound menu should disappear Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Claire Gravely <claire_gravely@hotmail.com> Bug 5670: [Followup] Rename test files. * t/db_dependent/Patron/Borrower_Housebound.t: Rename to t/db_dependent/Patron/Housebound.t. * t/db_dependent/Patron/Borrower_HouseboundProfiles.t: Rename to t/db_dependent/Patron/HouseboundProfiles.t. * t/db_dependent/Patron/Borrower_HouseboundVisits.t: Rename to t/db_dependent/Patron/HouseboundVisits.t. Signed-off-by: Claire Gravely <claire_gravely@hotmail.com> Bug 5670: [QA Followup] Fix category_type ref. * koha-tmpl/intranet-tmpl/prog/en/modules/members/housebound.tt: Replace references to `category_type` with `categorycode`. Signed-off-by: Claire Gravely <claire_gravely@hotmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
112 lines
6.5 KiB
HTML
112 lines
6.5 KiB
HTML
[% USE Koha %]
|
|
[% IF ( borrowernumber ) %]
|
|
<div class="patroninfo"><h5>[% INCLUDE 'patron-title.inc' %]</h5>
|
|
<!--[if IE 6]>
|
|
<style type="tex/css">img { width: expression(this.width > 140 ? 140: true);
|
|
}</style>
|
|
<![endif]-->
|
|
<ul class="patronbriefinfo">
|
|
[% IF ( patronimages ) %]
|
|
[% IF ( picture ) %]
|
|
<li><img src="/cgi-bin/koha/members/patronimage.pl?borrowernumber=[% borrowernumber | uri %]" id="patronimage" alt="[% firstname | html %] [% surname | html %] ([% cardnumber | html %])" style="max-width : 140px; margin: .3em 0 .3em .3em; padding: .2em; border: 1px solid #CCCCCC; width:auto !important; width:130px;" /></li>
|
|
[% ELSE %]
|
|
<li id="patronbasics"><img src="[% interface %]/[% theme %]/img/patron-blank.png" alt="[% firstname | html %] [% surname | html %] ([% cardnumber | html %])" style="margin: .3em 0 .3em .3em; padding: .2em; border: 1px solid #CCCCCC;" /></li>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF Koha.Preference( 'AddressFormat' ) %]
|
|
[% INCLUDE "member-display-address-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
|
|
[% ELSE %]
|
|
[% INCLUDE 'member-display-address-style-us.inc' %]
|
|
[% END %]
|
|
|
|
[% IF ( phone ) %]<li class="patronphone">
|
|
<a href="tel:[% phone | url %]">[% phone | html %]</a>
|
|
[% ELSE %]
|
|
[% IF ( mobile ) %]
|
|
<a href="tel:[% mobile | url %]">[% mobile | html %]</a>
|
|
[% ELSE %]
|
|
[% IF ( phonepro ) %]
|
|
<a href="tel:[% phonepro | url %]">[% phonepro | html %]</a>
|
|
[% END %]
|
|
[% END %]</li>
|
|
[% END %]
|
|
[% IF ( email ) %]
|
|
<li class="email"> <a href="mailto:[% email | url %]" title="[% email | html %]">[% email | html %]</a></li>
|
|
[% ELSE %]
|
|
[% IF ( emailpro ) %]
|
|
<li class="email"> <a href="mailto:[% emailpro | url %]" title="[% emailpro | html %]">[% emailpro | html %]</a></li>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% UNLESS ( address or address2 ) %]
|
|
<li><span class="empty" id="noaddressstored">No address stored.</span></li>
|
|
[% END %]
|
|
[% UNLESS ( city ) %]
|
|
<li><span class="empty" id="nocitystored">No city stored.</span></li>
|
|
[% END %]
|
|
[% UNLESS ( phone or mobile or phonepro) %]
|
|
<li> <span class="empty">No phone stored.</span></li>
|
|
[% END %]
|
|
[% UNLESS ( email or emailpro) %]
|
|
<li> <span class="empty">No email stored.</span></li>
|
|
[% END %]
|
|
|
|
[% IF ( ExtendedPatronAttributes ) %][% FOREACH extendedattribute IN extendedattributes %]
|
|
[% IF ( extendedattribute.display_checkout ) %]
|
|
[% IF ( extendedattribute.value ) %]
|
|
<li class="patronattribute"><span class="patronattributelabel">[% extendedattribute.description %]</span> : [% IF ( extendedattribute.value_description ) %][% extendedattribute.value_description %][% ELSE %][% extendedattribute.value %][% END %]</li>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %][% END %]
|
|
<li class="patroncategory">Category: [% categoryname %] ([% categorycode %])</li>
|
|
<li class="patronlibrary">Home library: [% Branches.GetName( branchcode ) %]</li>
|
|
</ul></div>
|
|
<div id="menu">
|
|
<ul>
|
|
[% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
|
|
[% IF ( circview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% borrowernumber %]">Check out</a></li>
|
|
[% IF Koha.Preference('BatchCheckouts') &&
|
|
Koha.Preference('BatchCheckoutsValidCategories').split('\|').grep('^' _ categorycode _ '$').size > 0 %]
|
|
[% IF ( batch_checkout_view ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% borrowernumber %]&batch=1">Batch check out</a></li>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( CAN_user_borrowers ) %]
|
|
[% IF ( detailview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Details</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_updatecharges ) %]
|
|
[% IF ( finesview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrowernumber %]">Fines</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
|
|
[% IF ( RoutingSerials ) %][% IF ( routinglistview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/routing-lists.pl?borrowernumber=[% borrowernumber %]">Routing lists</a></li>[% END %]
|
|
[% END %]
|
|
[% IF ( CAN_user_borrowers ) %]
|
|
[% IF ( intranetreadinghistory ) %]
|
|
[% IF ( readingrecordview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]">Circulation history</a></li>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters ) %]
|
|
[% IF ( logview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/tools/viewlog.pl?do_it=1&modules=MEMBERS&modules=circulation&object=[% borrowernumber %]&src=circ">Modification log</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_borrowers ) %]
|
|
[% IF ( sentnotices ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% borrowernumber %]">Notices</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_borrowers ) %]
|
|
[% IF ( statisticsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/statistics.pl?borrowernumber=[% borrowernumber %]">Statistics</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_borrowers ) %]
|
|
[% IF ( EnableBorrowerFiles ) %]
|
|
[% IF ( borrower_files ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/files.pl?borrowernumber=[% borrowernumber %]">Files</a></li>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_borrowers ) %]
|
|
[% IF ( suggestionsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/purchase-suggestions.pl?borrowernumber=[% borrowernumber %]">Purchase suggestions</a></li>
|
|
[% END %]
|
|
[% IF CAN_user_borrowers && useDischarge %]
|
|
[% IF dischargeview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% borrowernumber %]">Discharges</a></li>
|
|
[% END %]
|
|
[% IF Koha.Preference('HouseboundModule') %]
|
|
[% IF houseboundview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/housebound.pl?borrowernumber=[% borrowernumber %]">Housebound</a></li>
|
|
[% END %]
|
|
</ul></div>
|
|
[% END %]
|