3 [% PROCESS 'i18n.inc' %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>[% FILTER collapse %]
7 [% t("Patron lists") | html %] ›
8 [% t("Tools") | html %] ›
11 [% INCLUDE 'doc-head-close.inc' %]
12 [% INCLUDE 'greybox.inc' %]
15 <body id="patlist_lists" class="pat patlist">
16 [% WRAPPER 'header.inc' %]
17 [% INCLUDE 'cat-search.inc' %]
20 [% WRAPPER 'sub-header.inc' %]
21 [% WRAPPER breadcrumbs %]
22 [% WRAPPER breadcrumb_item %]
23 <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
25 [% WRAPPER breadcrumb_item bc_active= 1 %]
26 <span>Patron lists</span>
28 [% END #/ WRAPPER breadcrumbs %]
29 [% END #/ WRAPPER sub-header.inc %]
31 <div class="main container-fluid">
33 <div class="col-sm-10 col-sm-push-2">
36 <div id="toolbar" class="btn-toolbar">
37 <div class="btn-group">
38 <a class="btn btn-default" href="add-modify.pl"><i class="fa fa-plus"></i> New patron list</a>
46 <div class="page-section">
47 <table id="patron-lists-table">
50 <input type="button" type="submit" class="btn btn-default btn-sm disabled" value="Delete selected lists" id="delete_selected_lists"/>
52 <th>Patrons in list</th>
54 <th class="NoSort"> </th>
59 [% FOREACH l IN lists %]
60 [% SET shared_by_other = l.owner.id != logged_in_user.id %]
63 <input class="select_patron" type="checkbox" autocomplete="off" data-patron-list-id="[% l.patron_list_id | html %]">
64 <a href="/cgi-bin/koha/patron_lists/list.pl?patron_list_id=[% l.patron_list_id | uri %]">[% l.name | html %]</a>
66 <td>[% l.patron_list_patrons_rs.count || 0 | html %]</td>
69 [% IF shared_by_other %]
70 by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% l.owner.id | uri %]">[% INCLUDE 'patron-title.inc' patron=l.owner %]</a>
78 <div class="btn-group dropup">
79 <a class="btn btn-default btn-xs dropdown-toggle" id="listactions[% l.patron_list_id | html %]" role="button" data-toggle="dropdown" href="#">
80 Actions <b class="caret"></b>
82 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="listactions[% l.patron_list_id | html %]">
83 <li><a href="/cgi-bin/koha/patron_lists/list.pl?patron_list_id=[% l.patron_list_id | uri %]"><i class="fa fa-user"></i> Add patrons</a></li>
84 [% UNLESS shared_by_other %]
85 <li><a href="/cgi-bin/koha/patron_lists/add-modify.pl?patron_list_id=[% l.patron_list_id | uri %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit list</a></li>
86 <li><a class="delete_patron" href="/cgi-bin/koha/patron_lists/delete.pl?patron_list_id=[% l.patron_list_id | html %]" data-list-name="[% l.name | html %]"><i class="fa fa-trash-can"></i> Delete list</a></li>
88 [% IF ( l.patron_list_patrons_rs.count ) %]
89 <li class="divider"></li>
91 <a class="print_cards" href="/cgi-bin/koha/patroncards/print.pl?patronlist_id=[% l.patron_list_id | html %]" data-patron_list_id="[% l.patron_list_id | html %]"><i class="fa fa-print"></i> Print patron cards</a>
93 [% IF CAN_user_tools_edit_patrons %]
95 <a href="/cgi-bin/koha/tools/modborrowers.pl?patron_list_id=[% l.patron_list_id | uri %]&op=show">
96 <i class="fa-solid fa-pencil" aria-hidden="true"></i> Batch edit patrons
100 [% IF CAN_user_tools_delete_anonymize_patrons %]
102 <a href="/cgi-bin/koha/tools/cleanborrowers.pl?step=2&patron_list_id=[% l.patron_list_id | uri %]&checkbox=borrower">
103 <i class="fa fa-trash-can"></i> Batch delete patrons
115 </div> <!-- /.page-section -->
117 <!-- Modal to print patron cards -->
118 <div class="modal" id="patronExportModal" tabindex="-1" role="dialog" aria-labelledby="patronExportModal_label" aria-hidden="true">
119 <div class="modal-dialog">
120 <div class="modal-content">
121 <div class="modal-header">
122 <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
123 <h3 id="patronExportModal_label">Print patron cards</h3>
125 <div class="modal-body">
126 <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
133 <div class="dialog message">There are no patron lists.</div>
137 </div> <!-- /.col-sm-10.col-sm-push-2 -->
139 <div class="col-sm-2 col-sm-pull-10">
141 [% INCLUDE 'tools-menu.inc' %]
143 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
144 </div> <!-- /.row -->
146 [% MACRO jsinclude BLOCK %]
147 [% Asset.js("js/tools-menu.js") | $raw %]
148 [% INCLUDE 'datatables.inc' %]
151 $(document).ready(function() {
152 var patronExportModal = $("#patronExportModal");
153 var patronExportModalBody = $("#patronExportModal .modal-body");
155 let selectedPatronLists = new Array();
157 $('#patron-lists-table').dataTable($.extend(true, {}, dataTablesDefaults, {
160 {"bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ]}
162 "sPaginationType": "full"
164 $(".delete_patron").on("click", function(){
165 $(".dropdown").removeClass("open");
166 var list = $(this).data("list-name");
167 return confirmDelete( _("Are you sure you want to delete the list %s?").format(list));
170 $("#delete_selected_lists").on("click", function() {
171 if (selectedPatronLists.length != 0) {
172 if (confirm(_("Are you sure you want to delete the selected lists ?"))) {
173 var delete_lists_url = '/cgi-bin/koha/patron_lists/delete.pl?patron_lists_ids=' + selectedPatronLists.join("&patron_lists_ids=");
174 window.location.href = delete_lists_url;
179 $(".select_patron").on("click", function() {
180 if($(this).is(':checked')){
181 $("#delete_selected_lists").attr("class","btn btn-default btn-sm");
182 selectedPatronLists.push($(this).data("patron-list-id"));
185 selectedPatronLists = selectedPatronLists.filter(item => item !== $(this).data("patron-list-id"));
186 if(selectedPatronLists.length === 0){
187 $("#delete_selected_lists").attr("class","btn btn-default btn-sm disabled");
192 $(".print_cards").on("click", function(e){
194 var page = $(this).attr("href");
195 patronExportModalBody.load(page + " #exportingf");
196 patronExportModal.modal("show");
199 patronExportModal.on("hidden.bs.modal", function(){
200 patronExportModalBody.html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
203 patronExportModal.on("submit", "#exportingf", function(e){
205 modal_body = patronExportModalBody;
206 modal_body.html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
207 target_url = $(this).attr("action");
208 params = $( this ).serialize();
209 $("#patronExportModal .modal-body").load( target_url + "?" + params + " #export_patron_list");
212 patronExportModal.on("click",".closebtn,.gb-close",function(e){
214 patronExportModal.modal("hide");
221 [% INCLUDE 'intranet-bottom.inc' %]