5 [% USE AuthorisedValues %]
7 [% INCLUDE 'doc-head-open.inc' %]
8 <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog ›
9 [% IF ( op_add ) %]Enter a new purchase suggestion[% END %]
10 [% IF ( op_else ) %]Purchase Suggestions[% END %]</title>
11 [% INCLUDE 'doc-head-close.inc' %]
12 [% BLOCK cssinclude %][% END %]
14 [% IF ( loggedinusername ) %][% INCLUDE 'bodytag.inc' bodyid='opac-usersuggestions' bodyclass='scrollto' %][% ELSE %][% INCLUDE 'bodytag.inc' bodyid='opac-suggestions' bodyclass='scrollto' %][% END %]
15 [% INCLUDE 'masthead.inc' %]
18 <ul class="breadcrumb">
19 <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">›</span></li>
20 <li><a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a> <span class="divider">›</span></li>
21 <li><a href="#">Your purchase suggestions</a></li>
24 <div class="container-fluid">
25 <div class="row-fluid">
28 [% INCLUDE 'navigation.inc' IsPatronPage=1 %]
32 <div id="usersuggestions" class="maincontent">
34 [% IF ( Koha.Preference('MaxOpenSuggestions') != '' && patrons_pending_suggestions_count >= Koha.Preference('MaxOpenSuggestions') ) %]
35 <h1 class="TooManySuggestions">You cannot place any more suggestions</h1>
36 <h2 class="TooManySuggestionsText">You have reached your limit of suggestions you can place at this time ([% Koha.Preference('MaxOpenSuggestions') | html %]). Once the library has processed those suggestions you will be able to place more.</h2>
38 <h1>Enter a new purchase suggestion</h1>
40 <p>Please fill out this form to make a purchase suggestion. You will receive an email when the library processes your suggestion.</p>
41 <p>Only certain fields (marked in red) are required, but the more information you enter the easier it will be for the librarians to find the title you're requesting. The "Notes" field can be used to provide any additional information.</p>
43 [% FOR m IN messages %]
44 <div class="alert alert-[% m.type | html %]">
46 [% CASE 'biblio_exists' %]
47 A similar document already exists: <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% m.id | uri %]">[% m.title | html %]</a>. Click on "Confirm your suggestion" to ignore this message.
54 <form action="/cgi-bin/koha/opac-suggestions.pl" method="post" id="add_suggestion_form">
55 <fieldset class="rows">
58 [% IF ( title_required ) %]
59 <label for="title" class="required">Title:</label>
60 <input type="text" id="title" name="title" class="span6" maxlength="255" value="[% title | html %]" required="required" />
61 <span class="required">Required</span>
63 <label for="title">Title:</label>
64 <input type="text" id="title" name="title" class="span6" maxlength="255" value="[% title | html %]" />
68 [% IF ( author_required ) %]
69 <label for="author" class="required">Author:</label>
70 <input type="text" id="author" name="author" class="span6" maxlength="80" value="[% author | html %]" required="required" />
71 <span class="required">Required</span>
73 <label for="author">Author:</label>
74 <input type="text" id="author" name="author" class="span6" maxlength="80" value="[% author | html %]" />
78 <div title="Copyright or publication year, for example: 2016">
79 [% IF ( copyrightdate_required ) %]
80 <label for="copyrightdate" class="required">Copyright date:</label>
81 <input type="text" id="copyrightdate" name="copyrightdate" pattern="[12]\d{3}" size="4" maxlength="4" value="[% copyrightdate | html %]" required="required" />
82 <span class="required">Required</span>
84 <label for="copyrightdate">Copyright date:</label>
85 <input type="text" id="copyrightdate" name="copyrightdate" pattern="[12]\d{3}" size="4" maxlength="4" value="[% copyrightdate | html %]" />
90 [% IF ( isbn_required ) %]
91 <label for="isbn" class="required">Standard number (ISBN, ISSN or other):</label>
92 <input type="text" id="isbn" name="isbn" maxlength="80" value="[% isbn | html %]" required="required" />
93 <span class="required">Required</span>
95 <label for="isbn">Standard number (ISBN, ISSN or other):</label>
96 <input type="text" id="isbn" name="isbn" maxlength="80" value="[% isbn | html %]" />
100 [% IF ( publishercode_required ) %]
101 <label for="publishercode" class="required">Publisher:</label>
102 <input type="text" id="publishercode" name="publishercode" class="span6" maxlength="80" value="[% publishercode | html %]" required="required" />
103 <span class="required">Required</span>
105 <label for="publishercode">Publisher:</label>
106 <input type="text" id="publishercode" name="publishercode" class="span6" maxlength="80" value="[% publishercode | html %]" />
110 [% IF ( collectiontitle_required ) %]
111 <label for="collectiontitle" class="required">Collection title:</label>
112 <input type="text" id="collectiontitle" name="collectiontitle" class="span6" maxlength="80" value="[% collectiontitle | html %]" required="required" />
113 <span class="required">Required</span>
115 <label for="collectiontitle">Collection title:</label>
116 <input type="text" id="collectiontitle" name="collectiontitle" class="span6" maxlength="80" value="[% collectiontitle | html %]" />
120 [% IF ( place_required ) %]
121 <label for="place" class="required">Publication place:</label>
122 <input type="text" id="place" name="place" required="required" maxlength="80" value="[% place | html %]" />
123 <span class="required">Required</span>
125 <label for="place">Publication place:</label>
126 <input type="text" id="place" name="place" maxlength="80" value="[% place | html %]" />
129 <li id="opac-suggestion-quantity">
130 [% IF ( quantity_required ) %]
131 <label for="quantity" class="required">Quantity:</label>
132 <input type="text" id="quantity" name="quantity" required="required" maxlength="4" size="4" />
133 <span class="required">Required</span>
135 <label for="quantity">Quantity:</label>
136 <input type="text" id="quantity" name="quantity" maxlength="4" size="4" />
140 [% IF ( itemtype_required ) %]
141 <label for="itemtype" class="required">Item type:</label>
142 [% PROCESS 'av-build-dropbox.inc' name="itemtype", category="SUGGEST_FORMAT", size = 20 %]
143 <span class="required">Required</span>
145 <label for="itemtype">Item type:</label>
146 [% PROCESS 'av-build-dropbox.inc' name="itemtype", category="SUGGEST_FORMAT", size = 20 %]
151 [% IF ( branchcode_required ) %]
152 <label for="branch" class="required">Library:</label>
153 <select name="branchcode" id="branch" required="required">
154 [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
156 <span class="required">Required</span>
158 <label for="branch">Library:</label>
159 <select name="branchcode" id="branch">
160 [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
165 [% IF ( patron_reason_loop ) %]
167 [% IF ( patronreason_required ) %]
168 <label for="patronreason" class="required">Reason for suggestion: </label>
169 <select name="patronreason" id="patronreason" required="required">
170 <option value="">-- Choose --</option>
171 [% FOREACH patron_reason_loo IN patron_reason_loop %]
172 <option value="[% patron_reason_loo.authorised_value | html %]">[% patron_reason_loo.lib | html %]</option>
175 <span class="required">Required</span>
177 <label for="patronreason">Reason for suggestion: </label>
178 <select name="patronreason" id="patronreason">
179 <option value="">-- Choose --</option>
180 [% FOREACH patron_reason_loo IN patron_reason_loop %]
181 <option value="[% patron_reason_loo.authorised_value | html %]">[% patron_reason_loo.lib | html %]</option>
188 [% IF ( note_required ) %]
189 <label for="note" class="required">Notes:</label>
190 <textarea name="note" id="note" rows="5" cols="40" required="required">[% note | html %]</textarea>
191 <span class="required">Required</span>
193 <label for="note">Notes:</label>
194 <textarea name="note" id="note" rows="5" cols="40">[% note | html %]</textarea>
198 <!-- Add a hidden 'negcap' field -->
199 <li id="negcap" style="position: absolute; left: -2000px;">
200 negcap <input type="text" name="negcap"/>
205 <fieldset class="action">
206 <input type="hidden" name="suggested_by_anyone" value="[% suggested_by_anyone | html %]" />
207 [% IF need_confirm # Confirm that we want a duplicate %]
208 <input type="hidden" name="op" value="add_confirm" />
209 <input type="submit" class="btn" value="Confirm your suggestion" />
210 [% ELSIF biblionumber # Create from an existing title %]
211 <input type="hidden" name="op" value="add_confirm" />
212 <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
213 <input type="submit" class="btn" value="Submit your suggestion" />
214 [% ELSE # Not created from an existing title, search for possible duplicate %]
215 <input type="hidden" name="op" value="add_validate" />
216 <input type="submit" class="btn" value="Submit your suggestion" />
218 <a class="action" href="/cgi-bin/koha/opac-suggestions.pl">Cancel</a>
222 [% END # IF op_add %]
226 [% IF Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]
229 [% IF ( loggedinusername ) %]
230 Your purchase suggestions
236 [% FOR m IN messages %]
237 <div class="alert alert-[% m.type | html %]">
239 [% CASE 'too_many' %]
240 The suggestion has not been added. You have reached your limit of suggestions you can place at this time ([% Koha.Preference('MaxOpenSuggestions') | html %]). Once the library has processed those suggestions you will be able to place more.
241 [% CASE 'already_exists' %]
242 The suggestion has not been added. A suggestion with this title already exists.
243 [% CASE 'success_on_inserted' %]
244 Your suggestion has been submitted.
251 [% IF ( deleted ) %]<div class="alert alert-info">The selected suggestions have been deleted.</div>[% END %]
253 [% IF ( suggestions_loop ) %]
254 <form action="/cgi-bin/koha/opac-suggestions.pl" class="form-inline" method="get">
256 <label for="title">Search for:</label>
257 <input type="text" name="title" id="title" value="[% title | html %]" />
258 [% IF Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]
259 [% IF loggedinusername %]
260 <label for="suggested_by_anyone">Suggested by:</label>
261 <div class="input-append">
262 <select name="suggested_by_anyone" id="suggested_by_anyone">
263 [% IF suggested_by_anyone %]
264 <option value="0">Me</option>
265 <option value="1" selected="selected">Anyone</option>
267 <option value="0" selected="selected">Me</option>
268 <option value="1">Anyone</option>
271 <button type="submit" class="btn">Go</button>
277 <form action="/cgi-bin/koha/opac-suggestions.pl" method="post" id="delete_suggestions">
278 <input type="hidden" name="op" value="delete_confirm" />
279 [% IF ( loggedinusername || ( Koha.Preference( 'AnonSuggestions' ) == 1 ) ) %]
280 <div id="toolbar" class="toolbar clearfix">
281 [% IF ( Koha.Preference('MaxOpenSuggestions') != '' && patrons_pending_suggestions_count >= Koha.Preference('MaxOpenSuggestions') ) %]
282 <p class="TooManySuggestionsText">You have reached your limit of suggestions you can place at this time ([% Koha.Preference('MaxOpenSuggestions') | html %]).</br>Once the library has processed those suggestions you will be able to place more.</p>
284 <a class="btn btn-link new" href="/cgi-bin/koha/opac-suggestions.pl?op=add"><i class="fa fa-plus"></i> New purchase suggestion</a>
289 [% IF ( loggedinusername ) %]
290 <div id="selections-toolbar" class="toolbar">
291 <span class="checkall"></span> <span class="clearall"></span> <span class="sep">|</span>
293 <span id="selections">Select suggestions to: </span>
294 <span id="removeitems"></span>
299 <table id="suggestt" class="checkboxed table table-bordered table-striped">
302 [% IF ( loggedinusername ) %]<th> </th>[% END %]
304 <th>Suggested on</th>
306 [% IF Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]<th>Suggested for</th>[% END %]
307 [% IF Koha.Preference( 'OpacSuggestionManagedBy' ) %]<th>Managed by</th>[% END %]
312 [% FOREACH suggestions_loo IN suggestions_loop %]
314 [% IF ( loggedinusername ) %]
316 [% IF ( suggestions_loo.showcheckbox ) %]
317 <input type="checkbox" class="cb" id="id[% suggestions_loo.suggestionid | html %]" name="delete_field" data-title="[% suggestions_loo.title | html %]" value="[% suggestions_loo.suggestionid | html %]" />
323 <label for="id[% suggestions_loo.suggestionid | html %]">
324 [% IF suggestions_loo.biblionumber %]
325 <strong><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% suggestions_loo.biblionumber | uri %]">[% suggestions_loo.title | html %]</a></strong>
327 <strong>[% suggestions_loo.title | html %]</strong>
331 <p>[% IF ( suggestions_loo.author ) %][% suggestions_loo.author | html %],[% END %]
332 [% IF ( suggestions_loo.copyrightdate ) %] - [% suggestions_loo.copyrightdate | html %],[% END %]
333 [% IF ( suggestions_loo.publishercode ) %] - [% suggestions_loo.publishercode | html %][% END %]
334 [% IF ( suggestions_loo.place ) %]([% suggestions_loo.place | html %])[% END %]
335 [% IF ( suggestions_loo.collectiontitle ) %] , [% suggestions_loo.collectiontitle | html %][% END %]
336 [% IF ( suggestions_loo.itemtype ) %] - [% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', suggestions_loo.itemtype, 1 ) | html %][% END %]
340 [% IF ( suggestions_loo.suggesteddate ) %][% suggestions_loo.suggesteddate |$KohaDates %][% END %]
343 [% IF ( suggestions_loo.note ) %]
344 <span class="tdlabel">Note: </span>
345 [% suggestions_loo.note | html %]
348 [% IF Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]
350 [% IF ( suggestions_loo.branchcodesuggestedby ) %]
351 <span class="tdlabel">Suggested for:</span>
352 [% suggestions_loo.branchcodesuggestedby | html %]
356 [% IF Koha.Preference( 'OpacSuggestionManagedBy' ) %]
358 [% IF ( suggestions_loo.surnamemanagedby ) %]
359 <span class="tdlabel">Managed by:</span>
360 [% suggestions_loo.surnamemanagedby | html %]
361 [% IF ( suggestions_loo.firstnamemanagedby ) %] , [% suggestions_loo.firstnamemanagedby | html %]
367 <span class="tdlabel">Status:</span>
368 [% IF ( suggestions_loo.ASKED ) %]Requested
369 [% ELSIF ( suggestions_loo.CHECKED ) %]Checked by the library
370 [% ELSIF ( suggestions_loo.ACCEPTED ) %]Accepted by the library
371 [% ELSIF ( suggestions_loo.ORDERED ) %]Ordered by the library
372 [% ELSIF ( suggestions_loo.REJECTED ) %]Suggestion declined
373 [% ELSIF ( suggestions_loo.AVAILABLE ) %]Available in the library
374 [% ELSE %] [% AuthorisedValues.GetByCode( 'SUGGEST_STATUS', suggestions_loo.STATUS, 1 ) | html %] [% END %]
375 [% IF ( suggestions_loo.reason ) %]([% suggestions_loo.reason | html %])[% END %]
378 [% END # / FOREACH suggestions_loo %]
382 [% IF ( loggedinusername ) %]
383 <fieldset class="action">
384 <input type="submit" class="btn btn-danger removeitems" value="Delete selected" />
389 [% UNLESS Koha.Preference( 'OPACViewOthersSuggestions' ) or loggedinusername %]
390 <p>You are not authorized to see pending purchase suggestions.</p>
392 <p>There are no pending purchase suggestions.</p>
394 [% IF ( loggedinusername || ( Koha.Preference( 'AnonSuggestions' ) == 1 ) ) %]
395 [% IF ( Koha.Preference('MaxOpenSuggestions') != '' && patrons_pending_suggestions_count >= Koha.Preference('MaxOpenSuggestions') ) %]
396 <p class="TooManySuggestionsText">You have reached your limit of suggestions you can place at this time.</br>Once the library has processed those suggestions you will be able to place more.</p>
398 <p><a class="btn btn-link new" href="/cgi-bin/koha/opac-suggestions.pl?op=add"><i class="fa fa-plus"></i> New purchase suggestion</a></p>
401 [% END # / IF suggestions_loop %]
403 [% END # IF op_else %]
404 </div> <!-- / #usersuggestions -->
405 </div> <!-- / .span10 -->
406 </div> <!-- / .row-fluid -->
407 </div> <!-- / .container-fluid -->
408 </div> <!-- / .main -->
410 [% INCLUDE 'opac-bottom.inc' %]
411 [% BLOCK jsinclude %]
412 [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
413 [% INCLUDE 'datatables.inc' %]
415 [% IF ( loggedinusername ) %]
416 function enableCheckboxActions(){
417 // Enable/disable controls if checkboxes are checked
418 var checkedBoxes = $(".checkboxed input:checkbox:checked");
419 if ($(checkedBoxes).size()) {
420 $("#selections").html(_("With selected suggestions: "));
421 $("#selections-toolbar .links a").removeClass("disabled");
423 $("#selections").html(_("Select suggestions to: "));
424 $("#selections-toolbar .links a").addClass("disabled");
430 $("#suggestt").dataTable($.extend(true, {}, dataTablesDefaults, {
431 "order": [[ 1, "asc" ]],
433 [% IF ( loggedinusername ) %]{ "targets": [ 0 ], "sortable": false, "searchable": false }[% END %]
436 [% IF ( loggedinusername ) %]null,[% END %]
437 { "type": "anti-the" },
440 [% IF Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]null,[% END %]
441 [% IF Koha.Preference( 'OpacSuggestionManagedBy' ) %]null,[% END %]
445 [% IF ( loggedinusername ) %]$("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
446 $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
447 $("#CheckAll").click(function(){
448 $(".checkboxed").checkCheckboxes();
449 enableCheckboxActions();
452 $("#CheckNone").click(function(){
453 $(".checkboxed").unCheckCheckboxes();
454 enableCheckboxActions();
457 $(".cb").click(function(){
458 enableCheckboxActions();
460 $("#removeitems").html("<a href=\"#\" class=\"btn btn-link removeitems tag_hides btn-disabled\"><i class=\"fa fa-trash\"></i> "+_("Delete")+"</a>");
462 enableCheckboxActions();
464 $(".removeitems").on("click", function(e) {
466 var selected_titles = $("input:checked");
471 if ( selected_titles.size() < 1 ) {
472 alert(MSG_NO_SUGGESTION_SELECTED);
475 if( selected_titles.size() > 1 ){
476 message = $("<ul></ul>");
477 title = _("Are you sure you want to delete these suggestions?");
478 yes_label = _("Yes, delete suggestions");
479 no_label = _("No, do not delete suggestions");
480 selected_titles.each(function(){
481 message.append( "<li>" + $(this).data("title") + "</li>" );
484 title = _("Are you sure you want to delete this suggestion?");
485 yes_label = _("Yes, delete suggestion");
486 no_label = _("No, do not delete suggestion");
487 selected_titles.each(function(){
488 message += $(this).data("title");
491 confirmModal( message, title, yes_label, no_label, function( result ){
493 $("#delete_suggestions").submit();