+[% INCLUDE 'blocking_errors.inc' %]
[% USE Koha %]
-[% USE Borrowers %]
[% USE Branches %]
+[% USE Categories %]
[% USE AuthorisedValues %]
-[% SET NorwegianPatronDBEnable = Koha.Preference( 'NorwegianPatronDBEnable' ) %]
-<script type="text/javascript">
-//<![CDATA[
-$(document).ready(function(){
- [% IF ( CAN_user_borrowers ) %]
- [% IF ( NorwegianPatronDBEnable == 1 ) %]
- $("#deletepatronlocal").click(function(){
- confirm_local_deletion();
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#deletepatronremote").click(function(){
- confirm_remote_deletion();
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#deletepatronboth").click(function(){
- confirm_both_deletion();
- $(".btn-group").removeClass("open");
- return false;
- });
- [% ELSE %]
- $("#deletepatron").click(function(){
- window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber | url%]';
- });
- [% END %]
- $("#renewpatron").click(function(){
- confirm_reregistration();
- $(".btn-group").removeClass("open");
- return false;
- });
- [% IF ( is_child ) %]$("#updatechild").click(function(){
- update_child();
- $(".btn-group").removeClass("open");
- });[% END %]
- [% END %]
- $("#updatechild, #patronflags, #renewpatron, #deletepatron, #exportbarcodes").tooltip();
- $("#exportcheckins").click(function(){
- export_barcodes();
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#printsummary").click(function(){
- printx_window("page");
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#printslip").click(function(){
- printx_window("slip");
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#printquickslip").click(function(){
- printx_window("qslip");
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#print_overdues").click(function(){
- window.open("/cgi-bin/koha/members/print_overdues.pl?borrowernumber=[% borrowernumber %]", "printwindow");
- $(".btn-group").removeClass("open");
- return false;
- });
- $("#searchtohold").click(function(){
- searchToHold();
- return false;
- })
-});
-function confirm_local_deletion() {
- var is_confirmed = window.confirm(_("Are you sure you want to delete this patron from the local database? This cannot be undone."));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]&deletelocal=true&deleteremote=false';
- }
-}
-function confirm_remote_deletion() {
- var is_confirmed = window.confirm(_("Are you sure you want to delete this patron from the Norwegian national patron database? This cannot be undone."));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]&deletelocal=false&deleteremote=true';
- }
-}
-function confirm_both_deletion() {
- var is_confirmed = window.confirm(_("Are you sure you want to delete this patron both from the local database and from the Norwegian national patron database? This cannot be undone."));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]&deletelocal=true&deleteremote=true';
- }
-}
-
-[% IF ( is_child ) %]function confirm_updatechild() {
- var is_confirmed = window.confirm(_("Are you sure you want to update this child to an Adult category? This cannot be undone."));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/update-child.pl?op=update&borrowernumber=[% borrowernumber %]&catcode=[% catcode %]&catcode_multi=[% CATCODE_MULTI %]';
- }
-}
-
-function update_child() {
- [% IF ( CATCODE_MULTI ) %]
- window.open('/cgi-bin/koha/members/update-child.pl?op=multi&borrowernumber=[% borrowernumber %]','UpdateChild','width=400,height=300,toolbar=no,scrollbars=yes,resizable=yes');
- [% ELSE %]
- confirm_updatechild();
- [% END %]
-}
-[% END %]
-
-function confirm_reregistration() {
- var is_confirmed = window.confirm(_("Are you sure you want to renew this patron's registration?"));
- if (is_confirmed) {
- window.location = '/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&destination=[% destination %]&reregistration=y';
- }
-}
-function export_barcodes() {
- window.open('/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]&op=export_barcodes');
-}
-var slip_re = /slip/;
-function printx_window(print_type) {
- var handler = print_type.match(slip_re) ? "printslip" : "summary-print";
- window.open("/cgi-bin/koha/members/" + handler + ".pl?borrowernumber=[% borrowernumber %]&print=" + print_type, "printwindow");
- return false;
-}
-function searchToHold(){
- var date = new Date();
- date.setTime(date.getTime() + (10 * 60 * 1000));
- $.cookie("holdfor", "[% borrowernumber %]", { path: "/", expires: date });
- location.href="/cgi-bin/koha/catalogue/search.pl";
-}
-//]]>
-</script>
-
+[% USE scalar %]
<div id="toolbar" class="btn-toolbar">
- [% IF ( CAN_user_borrowers ) %]
- [% IF ( guarantor ) %]
- <a id="editpatron" class="btn btn-small" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&guarantorid=[% guarantorborrowernumber %]&categorycode=[% categorycode %]">
- [% ELSE %]
- <a id="editpatron" class="btn btn-small" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]">
- [% END %]
- <i class="fa fa-pencil"></i> Edit</a>
+ [% IF CAN_user_borrowers_edit_borrowers %]
+ <a id="editpatron" class="btn btn-default" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% patron.borrowernumber | html %]"><i class="fa fa-pencil"></i> Edit</a>
[% END %]
- [% IF ( CAN_user_borrowers ) %]
- [% IF ( adultborrower AND activeBorrowerRelationship ) %]
- <a id="addchild" class="btn btn-small" href="/cgi-bin/koha/members/memberentry.pl?op=add&guarantorid=[% borrowernumber %]"><i class="fa fa-plus"></i> Add child</a>
- [% END %]
- [% IF ( CAN_user_borrowers ) %]
- <a id="changepassword" class="btn btn-small" href="/cgi-bin/koha/members/member-password.pl?member=[% borrowernumber %]"><i class="fa fa-lock"></i> Change password</a>
+ [% IF CAN_user_borrowers_edit_borrowers %]
+ [% IF patron.is_adult AND Koha.Preference("borrowerRelationship") %]
+ <a id="addchild" class="btn btn-default" href="/cgi-bin/koha/members/memberentry.pl?op=add&guarantor_id=[% patron.borrowernumber | html %]&category_type=C"><i class="fa fa-plus"></i> Add guarantee</a>
[% END %]
- <a id="duplicate" class="btn btn-small" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]"><i class="fa fa-copy"></i> Duplicate</a>
+ <a id="changepassword" class="btn btn-default" href="/cgi-bin/koha/members/member-password.pl?member=[% patron.borrowernumber | html %]"><i class="fa fa-lock"></i> Change password</a>
+ <a id="duplicate" class="btn btn-default" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&borrowernumber=[% patron.borrowernumber | html %]"><i class="fa fa-copy"></i> Duplicate</a>
[% END %]
+ [% IF CAN_user_circulate_circulate_remaining_permissions %]
<div class="btn-group">
- <button class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="fa fa-print"></i> Print <span class="caret"></span></button>
+ <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-print"></i> Print <span class="caret"></span></button>
<ul class="dropdown-menu">
- [% IF ( CAN_user_borrowers ) %]<li><a id="printsummary" href="#">Print summary</a></li>[% END %]
+ <li><a id="printsummary" href="#">Print summary</a></li>
<li><a id="printslip" href="#">Print slip</a></li>
<li><a id="printquickslip" href="#">Print quick slip</a></li>
- [% IF Borrowers.HasOverdues( borrowernumber ) %]
+ [% IF patron.has_overdues %]
<li><a id="print_overdues" href="#">Print overdues</a></li>
[% END %]
+ <li><a id="printcheckinslip" href="#">Print checkin slip</a></li>
</ul>
</div>
+ [% END %]
[% IF ( CAN_user_reserveforothers ) %]
- <a id="searchtohold" class="btn btn-small" href="#"><i class="fa fa-search"></i> Search to hold</a>
+ <a id="searchtohold" class="btn btn-default" href="#"><i class="fa fa-search"></i> Search to hold</a>
[% END %]
- <a id="addnewmessageLabel" href="#add_message_form" data-toggle="modal" class="btn btn-small"><i class="fa fa-comment-o"></i> Add message</a>
+ <a id="addnewmessageLabel" href="#add_message_form" data-toggle="modal" class="btn btn-default"><i class="fa fa-comment-o"></i> Add message</a>
<div class="btn-group">
- <button class="btn btn-small dropdown-toggle" data-toggle="dropdown">More <span class="caret"></span></button>
- <ul class="dropdown-menu">
- [% IF ( CAN_user_borrowers ) %]
- <li><a id="renewpatron" href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&destination=[% destination %]&reregistration=y">Renew patron</a></li>
+ <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">More <span class="caret"></span></button>
+ <ul class="dropdown-menu dropdown-menu-right">
+ [% IF CAN_user_borrowers_edit_borrowers %]
+ <li><a id="renewpatron" href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% patron.borrowernumber | html %]&destination=[% destination | html %]&reregistration=y">Renew patron</a></li>
[% ELSE %]
<li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to renew patrons" id="renewpatron" href="#">Renew patron</a></li>
[% END %]
[% IF ( CAN_user_permissions ) %]
- <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]">Set permissions</a></li>
+ <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% patron.borrowernumber | html %]">Set permissions</a></li>
[% ELSE %]
<li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to set permissions" id="patronflags" href="#">Set permissions</a></li>
[% END %]
- [% IF CAN_user_borrowers && useDischarge %]
- <li><a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% borrowernumber %]">Discharge</a></li>
+
+ [% IF Koha.Preference('TwoFactorAuthentication') && logged_in_user.borrowernumber == patron.borrowernumber %]
+ <li><a id="twofa" href="/cgi-bin/koha/members/two_factor_auth.pl">Manage two-factor authentication</a></li>
[% END %]
- [% IF ( CAN_user_borrowers ) %]
- [% IF ( NorwegianPatronDBEnable == 1 ) %]
- <li><a id="deletepatronlocal" href="#">Delete local</a></li>
- <li><a id="deletepatronremote" href="#">Delete remote</a></li>
- <li><a id="deletepatronboth" href="#">Delete local and remote</a></li>
+
+ [% IF CAN_user_borrowers_edit_borrowers && useDischarge %]
+ <li><a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% patron.borrowernumber | uri %]">Discharge</a></li>
+ [% END %]
+
+ [% IF Koha.Preference('RESTOAuth2ClientCredentials') %]
+ [% IF CAN_user_superlibrarian OR loggedinusernumber == patron.borrowernumber %]
+ <li><a id="apikeys" href="/cgi-bin/koha/members/apikeys.pl?patron_id=[% patron.borrowernumber | html %]">Manage API keys</a></li>
[% ELSE %]
- <li><a id="deletepatron" href="#">Delete</a></li>
+ <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to manage API keys" id="apikeys" href="#">Manage API keys</a></li>
[% END %]
+ [% END %]
+
+ [% IF CAN_user_borrowers_edit_borrowers %]
+ <li><a id="sendwelcome" href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% patron.borrowernumber | uri %]&op=send_welcome">Send welcome email</a></li>
+ [% END %]
+
+ [% IF CAN_user_borrowers_delete_borrowers %]
+ <li><a id="deletepatron" href="#">Delete</a></li>
[% ELSE %]
<li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to delete patrons" id="deletepatron" href="#">Delete</a></li>
[% END %]
- [% IF ( is_child ) %]
- <li><a id="updatechild" href="#">Update child to adult patron</a></li>
- [% ELSE %]
- <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="Patron is an adult" id="updatechild" href="#">Update child to adult patron</a></li></li>
+ [% SET adult_categories = Categories.scalar.all(category_type => 'A') %]
+ [% IF adult_categories.count > 0 %]
+ [% IF patron.is_child %]
+ <li><a id="updatechild" href="#">Update child to adult patron</a></li>
+ [% ELSE %]
+ <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="Patron is an adult" id="updatechild" href="#">Update child to adult patron</a></li>
+ [% END %]
[% END %]
[% IF Koha.Preference('intranetreadinghistory') %]
[%IF ( privacy == 2 ) %]
</div>
<!-- Modal -->
-<div id="add_message_form" class="modal hide" tabindex="-1" role="dialog" aria-labelledby="addnewmessageLabel" aria-hidden="true">
- <div class="modal-body">
- <form method="post" action="/cgi-bin/koha/circ/add_message.pl" id="message_form" name="message_f">
- <fieldset id="borrower_messages" class="brief">
- <legend>Leave a message</legend>
- <ol>
- <li>
- <label for="message_type">Add a message for:</label>
- <select name="message_type" id="message_type">
- <option value="L">Staff - Internal note</option>
- <option value="B">OPAC - [% firstname %] [% surname %]</option>
- </select>
- </li>
- [% bor_notes = AuthorisedValues.Get( 'BOR_NOTES' ) %]
- [% IF bor_notes %]
- <li>
- <label for="type">Predefined notes: </label>
- <select name="type" id="type" onchange="this.form.borrower_message.value=this.options[this.selectedIndex].value;">
- <option value="">Select note</option>
- [% FOREACH bor_note IN bor_notes %]
- <option value="[% bor_note.lib %]">[% bor_note.lib %]</option>
- [% END %]
+<div id="add_message_form" class="modal" tabindex="-1" role="dialog" aria-labelledby="addnewmessageLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <form method="post" action="/cgi-bin/koha/circ/add_message.pl" id="message_form" name="message_f">
+ <div class="modal-header">
+ <h3>Leave a message</h3>
+ </div>
+ <div class="modal-body">
+ <div class="form-group">
+ <label for="message_type">Add a message for:</label>
+ <select name="message_type" id="message_type">
+ <option value="L">Staff - Internal note</option>
+ <option value="B">OPAC - [% patron.firstname | html %] [% patron.surname | html %]</option>
</select>
- </li>
- [% END %]
- <li>
- <textarea rows="3" cols="60" name="borrower_message" id="borrower_message" ></textarea>
- </li>
- </ol>
- <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
- <input type="hidden" name="batch" value="[% batch %]" />
- <input type="hidden" name="branchcode" value="[% LoginBranchcode %]" />
- </fieldset>
- </div>
- <div class="modal-footer">
- <fieldset class="action">
- <input type="submit" value="Save" /> </form><a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
- </fieldset>
+ </div>
+ [% bor_notes = AuthorisedValues.Get( 'BOR_NOTES' ) %]
+ [% IF bor_notes %]
+ <div class="form-group">
+ <label for="select_patron_messages">Predefined notes: </label>
+ <select name="type" id="select_patron_messages">
+ <option value="">Select note</option>
+ [% FOREACH bor_note IN bor_notes %]
+ <option value="[% bor_note.lib | html %]">[% bor_note.lib | html %]</option>
+ [% END %]
+ </select>
+ </div>
+ [% END %]
+ <div class="form-group">
+ <textarea rows="3" class="modal-textarea" name="borrower_message" id="borrower_message" ></textarea>
+ </div>
+ <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
+ <input type="hidden" name="batch" value="[% batch | html %]" />
+ <input type="hidden" name="branchcode" value="[% Branches.GetLoggedInBranchcode | html %]" />
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-default approve" type="submit"><i class="fa fa-check"></i> Save</button>
+ <button class="btn btn-default deny cancel" href="#" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times"></i> Cancel</button>
+ </div>
+ </form>
+ </div>
</div>
</div>