Bug 36190: Fix problems found by test
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / suggestion / suggestion.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Branches %]
4 [% USE AuthorisedValues %]
5 [% USE KohaDates %]
6 [% USE Price %]
7 [% USE TablesSettings %]
8 [% PROCESS 'i18n.inc' %]
9 [% PROCESS 'patron-search.inc' %]
10 [% SET footerjs = 1 %]
11 [% INCLUDE 'doc-head-open.inc' %]
12 <title>[% FILTER collapse %]
13     [% IF op == 'save' %]
14         [% IF ( suggestionid ) %]
15             [% tx("Edit suggestion #{suggestion_number}", { suggestion_number = suggestionid }) | html %] &rsaquo;
16         [% ELSE %]
17             [% t("Add suggestion") | html %] &rsaquo;
18         [% END %]
19     [% ELSIF ( op == 'show' ) %]
20         [% tx("Show suggestion #{suggestion_number}", { suggestion_number = suggestionid }) | html %] &rsaquo;
21     [% END %]
22     [% t("Suggestions") | html %] &rsaquo;
23     [% t("Acquisitions") | html %] &rsaquo;
24     [% t("Koha") | html %]
25 [% END %]</title>
26 [% INCLUDE 'doc-head-close.inc' %]
27 [% IF op == 'else' %]
28     [% FILTER collapse %]
29         <style>
30             h4.local_collapse a {
31                 font-size: 80%;
32                 text-decoration: none;
33             }
34             #limits fieldset.brief,
35             #limits fieldset.action {
36                 display: none;
37             }
38             .overlay {
39                 background: #eeffd4;
40                 color: #000;
41                 display: none;
42                 left: 50%;
43                 margin-left: -100px;
44                 margin-top: -10px;
45                 padding: .5em;
46                 position: absolute;
47                 text-align: center;
48                 top: 180px;
49                 width: 200px;
50             }
51         </style>
52     [% END %]
53 [% END %]
54 </head>
55
56 <body id="acq_suggestion" class="acq">
57     [% WRAPPER 'header.inc' %]
58         [% INCLUDE 'cat-search.inc' %]
59     [% END %]
60
61     [% WRAPPER 'sub-header.inc' %]
62         [% WRAPPER breadcrumbs %]
63             [% WRAPPER breadcrumb_item %]
64                 <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>
65             [% END %]
66             [% IF ( op == 'save' || op == 'show' ) %]
67                 [% WRAPPER breadcrumb_item %]
68                     <a href="/cgi-bin/koha/suggestion/suggestion.pl">Suggestions</a>
69                 [% END %]
70             [% END %]
71             [% IF op == 'save' %]
72                 [% IF ( suggestionid ) %]
73                     [% WRAPPER breadcrumb_item bc_active= 1 %]
74                         <span>Edit suggestion #[% suggestionid | html %]</span>
75                     [% END %]
76                 [% ELSE %]
77                     [% WRAPPER breadcrumb_item bc_active= 1 %]
78                         <span>Add suggestion</span>
79                     [% END %]
80                 [% END %]
81             [% ELSIF ( op == 'show' ) %]
82                 [% WRAPPER breadcrumb_item bc_active= 1 %]
83                     <span>Show suggestion #[% suggestionid | html %]</span>
84                 [% END %]
85             [% ELSE %]
86                 [% WRAPPER breadcrumb_item bc_active= 1 %]
87                     <span>Suggestions management</span>
88                 [% END %]
89             [% END %]
90         [% END #/ WRAPPER breadcrumbs %]
91     [% END #/ WRAPPER sub-header.inc %]
92
93     [% IF ( op == 'show' ) %]
94         <div class="main container-fluid">
95             <div class="row">
96                 <div class="col-md-8 col-md-offset-2">
97                     [% INCLUDE 'messages.inc' %]
98
99                     <div id="toolbar" class="btn-toolbar">
100                         <a class="btn btn-default" id="editsuggestion" href="suggestion.pl?op=edit_form&amp;suggestionid=[% suggestionid | html %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
101                         <form class="delete_form" method="post" action="/cgi-bin/koha/suggestion/suggestion.pl">
102                             [% INCLUDE 'csrf-token.inc' %]
103                             <fieldset class="action">
104                                 <input type="hidden" name="op" value="cud-delete" />
105                                 <input type="hidden" name="suggestionid" value="[% suggestionid | html %]" />
106                                 <button type="submit" class="btn btn-primary">Delete</button>
107                             </fieldset>
108                         </form>
109                     </div>
110
111                     <fieldset class="rows">
112                         <legend>Bibliographic information</legend>
113                             <ol>
114                                 [% IF ( title ) %]
115                                     <li>
116                                         <span class="label">Title:</span>
117                                         [% IF suggestion.biblionumber %]
118                                             <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% suggestion.biblionumber | uri %]">[% suggestion.title | html %]</a>
119                                         [% ELSE %]
120                                             [% title | html %]
121                                         [% END %]
122                                     </li>
123                                 [% END %]
124                                 [% IF ( author ) %]
125                                 <li>
126                                     <span class="label">Author:</span>
127                                     [% author | html %]
128                                 </li>
129                             [% END %]
130                             [% IF ( copyrightdate ) %]
131                                 <li>
132                                     <span class="label">Copyright date:</span>
133                                     [% copyrightdate | html %]
134                                 </li>
135                             [% END %]
136                             [% IF ( isbn ) %]
137                                 <li>
138                                     <span class="label">ISBN or ISSN or other standard number:</span>
139                                     [% isbn | html %]
140                                 </li>
141                             [% END %]
142                             [% IF ( publishercode ) %]
143                                 <li>
144                                     <span class="label">Publisher:</span>
145                                     [% publishercode | html %]
146                                 </li>
147                             [% END %]
148                             [% IF ( place ) %]
149                                 <li>
150                                     <span class="label">Publication place:</span>
151                                     [% place | html %]
152                                 </li>
153                             [% END %]
154                             [% IF ( collectiontitle ) %]
155                                 <li>
156                                     <span class="label">Collection title:</span>
157                                     [% collectiontitle | html %]
158                                 </li>
159                             [% END %]
160                             [% IF ( itemtype ) %]
161                                 <li>
162                                     <span class="label">Document type:</span>
163                                     [% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', itemtype, 0 ) | html %]
164                                 </li>
165                             [% END %]
166                             [% IF ( patron_reason_loop ) %]
167                                 <li>
168                                     <span class="label">Reason for suggestion: </span>
169                                     [% FOREACH patron_reason_loo IN patron_reason_loop %]
170                                         [% IF patron_reason_loo.authorised_value == patronreason %]
171                                             [% patron_reason_loo.lib | html %]
172                                         [% END %]
173                                     [% END %]
174                                 </li>
175                             [% END %]
176                             [% IF ( note ) %]
177                                 <li>
178                                     <span class="label">Notes:</span>
179                                     [% note | html %]
180                                 </li>
181                             [% END %]
182                             [% IF ( staff_note ) %]
183                                 <li>
184                                     <span class="label">Notes:</span>
185                                     [% staff_note | html %]
186                                 </li>
187                             [% END %]
188                         </ol>
189                     </fieldset>
190
191                     <fieldset class="rows">
192                         <legend>Suggestion management</legend>
193                         <ol>
194                             <li>
195                                 <span class="label">Status:</span>
196                                 [% SET status_found = 0 %]
197                                 [% IF ( STATUS == 'ASKED' ) %]
198                                     <span>Pending</span>
199                                     [% SET status_found = 1 %]
200                                 [% ELSIF ( STATUS == 'ACCEPTED' ) %]
201                                     <span>Accepted</span>
202                                     [% SET status_found = 1 %]
203                                 [% ELSIF ( STATUS == 'CHECKED' ) %]
204                                     <span>Checked</span>
205                                     [% SET status_found = 1 %]
206                                 [% ELSIF ( STATUS == 'REJECTED' ) %]
207                                     <span>Rejected</span>
208                                     [% SET status_found = 1 %]
209                                 [% ELSIF ( STATUS == 'ORDERED' ) %]
210                                     <span>Ordered</span>
211                                     [% SET status_found = 1 %]
212                                 [% ELSIF ( STATUS == 'AVAILABLE' ) %]
213                                     <span>Available</span>
214                                     [% SET status_found = 1 %]
215                                 [% ELSE %]
216                                     [% FOREACH s IN SuggestionStatuses %]
217                                         [% IF STATUS == s.authorised_value %]
218                                             [% s.lib | html %]
219                                             [% SET status_found = 1 %]
220                                         [% END %]
221                                     [% END %]
222                                 [% END %]
223                             </li>
224                             <li>
225                                 <span class="label">Reason:</span>
226                                 [% IF ( reason ) %]
227                                     [% AuthorisedValues.GetByCode( 'SUGGEST', reason, 0 ) | html %]
228                                 [% END %]
229                             </li>
230                         </ol>
231
232                         <table>
233                             <thead>
234                                 <tr>
235                                     <th>&nbsp;</th>
236                                     <th>Date</th>
237                                     <th>By</th>
238                                 </tr>
239                             </thead>
240                             <tbody>
241                                 <tr>
242                                     <th>[% tp('purchase suggestion created by', 'Created by:') | html %]</th>
243                                     <td>[% suggesteddate | $KohaDates %]</td>
244                                     <td>
245                                         [% IF ( suggestedby_patron.borrowernumber ) %]
246                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggestedby_patron.borrowernumber | uri %]">[% suggestedby_patron.surname | html %], [% suggestedby_patron.firstname | html %] ([% suggestedby_patron.cardnumber | html %])</a>
247                                             [% Branches.GetName( suggestedby_patron.branchcode ) | html %] ([% suggestedby_patron.category.description | html %])
248                                         [% END %]
249                                     </td>
250                                 </tr>
251                                 <tr>
252                                     <th>Managed by:</th>
253                                     <td>[% manageddate | $KohaDates %]</td>
254                                     <td>
255                                         [% IF ( managedby_patron.borrowernumber ) %]
256                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% managedby_patron.borrowernumber | uri %]">[% managedby_patron.surname | html %], [% managedby_patron.firstname | html %] ([% managedby_patron.cardnumber | html %])</a>
257                                             [% Branches.GetName( managedby_patron.branchcode ) | html %] ([% managedby_patron.category.description | html %])
258                                         [% END %]
259                                     </td>
260                                 </tr>
261                                 <tr>
262                                     <th>Accepted on:</th>
263                                     <td>[% accepteddate | $KohaDates %]</td>
264                                     <td>
265                                         [% IF ( acceptedby_patron.borrowernumber ) %]
266                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_patron.borrowernumber | uri %]">[% acceptedby_patron.surname | html %], [% acceptedby_patron.firstname | html %] ([% acceptedby_patron.cardnumber | html %])</a>
267                                             [% Branches.GetName( acceptedby_patron.branchcode ) | html %] ([% acceptedby_patron.category.description | html %])
268                                         [% END %]
269                                     </td>
270                                 </tr>
271                                 <tr>
272                                     <th>Last modification on:</th>
273                                     <td>[% lastmodificationdate | $KohaDates %]</td>
274                                     <td>
275                                         [% IF ( lastmodificationby_patron.borrowernumber ) %]
276                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% lastmodificationby_patron.borrowernumber | uri %]">[% lastmodificationby_patron.surname | html %], [% lastmodificationby_patron.firstname | html %] ([% lastmodificationby_patron.cardnumber | html %])</a>
277                                             [% Branches.GetName( lastmodificationby_patron.branchcode ) | html %] ([% lastmodificationby_patron.category.description | html %])
278                                         [% END %]
279                                     </td>
280                                 </tr>
281                             </tbody>
282                         </table>
283                     </fieldset>
284
285                     <fieldset class="rows">
286                         <legend>Acquisition information</legend>
287                         <ol>
288                             <li>
289                                 <span class="label">Library:</span>
290                                 [% Branches.GetName( branchcode ) | html %]
291                             </li>
292                             <li>
293                                 <span class="label">Fund:</span>
294                                 [% budgetname | html %]
295                             </li>
296                             <li>
297                                 <span class="label">Copies:</span>
298                                 [% quantity | html %]
299                             </li>
300                             <li>
301                                 <span class="label">Currency:</span>
302                                 [% currency | html %]
303                             </li>
304                             <li>
305                                 <span class="label">Price:</span>
306                                 [% price | $Price %]
307                             </li>
308                             <li>
309                                 <span class="label">Total</span>
310                                 [% total | $Price %]
311                             </li>
312                         </ol>
313                     </fieldset>
314
315                     <fieldset class="action">
316                         <a href="suggestion.pl">&lt;&lt; Back to suggestions</a>
317                     </fieldset>
318
319                 </div> <!-- /.col-md-8 col-md-offset-2 -->
320             </div> <!-- /.row -->
321     [% ELSE # IF op == "show" %]
322
323         [% IF op == 'save' %]
324             <div class="main container-fluid">
325                 <div class="row">
326                     <div class="col-md-8 col-md-offset-2">
327                         [% INCLUDE 'messages.inc' %]
328         [% ELSE %]
329             <div class="main container-fluid">
330                 <div class="row">
331                     <div class="col-sm-10 col-sm-push-2">
332                         [% INCLUDE 'messages.inc' %]
333         [% END %]
334
335         [% IF op == 'save' %]
336             [% FOR m IN messages %]
337                 <div class="dialog [% m.type | html %]">
338                     [% SWITCH m.code %]
339                     [% CASE 'biblio_exists' %]
340                         <span>A similar document already exists: <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.id | uri %]">[% m.title | html %]</a>. Click on "Confirm your suggestion" to ignore this message.</span>
341                     [%  CASE 'manager_not_enough_permissions' %]
342                         <span>The manager you selected does not have sufficient permissions.</span>
343                     [% CASE %]
344                         <span>[% m.code | html %]</span>
345                     [% END %]
346                 </div> <!-- /.dialog -->
347             [% END %]
348
349             <form id="add_edit" action="suggestion.pl" method="post" class="validated">
350                 [% INCLUDE 'csrf-token.inc' %]
351                 <input type="hidden" name="redirect" id="redirect" value="[% redirect | html %]" />
352                 <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber | html %]" />
353                 [% IF ( suggestionid ) %]
354                     <h1>Edit purchase suggestion #[% suggestionid | html %]</h1>
355                     <input type="hidden" name="suggestionid" value="[% suggestionid | html %]"/>
356                 [% ELSE %]
357                     <h1>Enter a new purchase suggestion</h1>
358                 [% END %]
359
360                 <fieldset class="rows">
361                     <legend>Bibliographic information</legend>
362                     <ol>
363                         <li>
364                             <label for="title" class="required">Title:</label>
365                             <input type="text" id="title" name="title" size="80" maxlength="255" value="[% title | html %]" required="required" class="required" />
366                             <span class="required">Required</span>
367                         </li>
368                         <li>
369                             <label for="author">Author:</label>
370                             <input type="text" id="author" name="author" size="50" maxlength="80" value="[% author | html %]"/>
371                         </li>
372                         <li>
373                             <label for="copyrightdate">Copyright date:</label>
374                             <input type="text" id="copyrightdate" name="copyrightdate" size="4" maxlength="4" value="[% copyrightdate | html %]" />
375                         </li>
376                         <li>
377                             <label for="isbn">ISBN or ISSN or other standard number:</label>
378                             <input type="text" id="isbn" name="isbn" size="50" maxlength="80" value="[% isbn | html %]"/>
379                         </li>
380                         <li>
381                             <label for="publishercode">Publisher:</label>
382                             <input type="text" id="publishercode" name="publishercode" size="50" maxlength="80" value="[% publishercode | html %]"/>
383                         </li>
384                         <li>
385                             <label for="place">Publication place:</label>
386                             <input type="text" id="place" name="place" size="50" maxlength="80" value="[% place | html %]"/>
387                         </li>
388                         <li>
389                             <label for="collectiontitle">Collection title:</label>
390                             <input type="text" id="collectiontitle" name="collectiontitle" size="50" maxlength="80" value="[% collectiontitle | html %]"/>
391                         </li>
392                         <li>
393                             <label for="itemtype">Document type:</label>
394                             [% PROCESS 'av-build-dropbox.inc' name="itemtype", category="SUGGEST_FORMAT", size=20, default=itemtype, empty=1 %]
395                         </li>
396                         [% IF patron_reason_loop %]
397                             <li>
398                                 <label for="patronreason">Reason for suggestion: </label>
399                                 <select name="patronreason" id="patronreason">
400                                     <option value=""> -- Choose -- </option>
401                                     [% FOREACH patron_reason_loo IN patron_reason_loop %]
402                                         [% IF patron_reason_loo.authorised_value == patronreason %]
403                                             <option value="[% patron_reason_loo.authorised_value | html %]" selected="selected">[% patron_reason_loo.lib | html %]</option>
404                                         [% ELSE %]
405                                             <option value="[% patron_reason_loo.authorised_value | html %]">[% patron_reason_loo.lib | html %]</option>
406                                         [% END %]
407                                     [% END %]
408                                 </select>
409                             </li>
410                         [% END # /IF patron_reason_loop %]
411                         <li>
412                             <label for="note">Notes:</label>
413                             <textarea name="note" id="note" rows="5" cols="40">[% note | html %]</textarea>
414                         </li>
415                         <li>
416                             <label for="note">Non-public notes:</label>
417                             <textarea name="staff_note" id="staff_note" rows="5" cols="40">[% staff_note | html %]</textarea>
418                         </li>
419                     </ol>
420                 </fieldset>
421
422                 <fieldset class="rows">
423                     <legend>Suggestion management</legend>
424                     <ol>
425                         [% IF ( suggestionid ) %]
426                             <li>
427                                 <label for="STATUS">Status:</label>
428                                 <select id="STATUS" name="STATUS">
429                                     <option value="">No status</option>
430
431                                     [% IF (statusselected_ASKED ) %]
432                                         <option value="ASKED" selected="selected">Pending</option>
433                                     [% ELSE %]
434                                         <option value="ASKED">Pending</option>
435                                     [% END %]
436
437                                     [% IF (statusselected_ACCEPTED ) %]
438                                         <option value="ACCEPTED" selected="selected">Accepted</option>
439                                     [% ELSE %]
440                                         <option value="ACCEPTED">Accepted</option>
441                                     [% END %]
442
443                                     [% IF (statusselected_CHECKED ) %]
444                                         <option value="CHECKED" selected="selected">Checked</option>
445                                     [% ELSE %]
446                                         <option value="CHECKED">Checked</option>
447                                     [% END %]
448
449                                     [% IF ( statusselected_REJECTED ) %]
450                                         <option value="REJECTED" selected="selected">Rejected</option>
451                                     [% ELSE %]
452                                         <option value="REJECTED">Rejected</option>
453                                     [% END %]
454
455                                     [% IF ( statusselected_ORDERED ) %]
456                                         <option value="ORDERED" selected="selected">Ordered</option>
457                                     [% ELSE %]
458                                         <option value="ORDERED">Ordered</option>
459                                     [% END %]
460
461                                     [% FOREACH s IN SuggestionStatuses %]
462                                         [% IF s.authorised_value == suggestion.STATUS %]
463                                             <option value="[% s.authorised_value | html %]" selected="selected">[% s.lib | html %]</option>
464                                         [% ELSE %]
465                                             <option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
466                                         [% END %]
467                                     [% END %]
468                                 </select>
469                             </li>
470                             <li>
471                                 <label for="reason">Reason:</label>
472                                 <select class="select-reason" id="reason" name="reason">
473                                     <option value=""> -- Choose a reason -- </option>
474                                     [% FOREACH reasonsloo IN suggestion.reasonsloop %]
475                                         [% IF (reasonsloo.lib == suggestion.reason) %]
476                                             <option value="[% reasonsloo.lib | html %]" selected="selected">[% reasonsloo.lib | html %]</option>
477                                         [% ELSE %]
478                                             <option value="[% reasonsloo.lib | html %]">[% reasonsloo.lib | html %]</option>
479                                         [% END %]
480                                     [% END %]
481                                     <option value="other">Others...</option>
482                                 </select>
483
484                                 <span id="other_reason" name="other_reason">
485                                     [% IF other_reason %]
486                                         <input type="text" size="31" id="select-other_reason" name="other_reason" placeholder="please note your reason here..." value="[% suggestion.reason | html %]"/>
487                                     [% ELSE %]
488                                         <input type="text" size="31" id="select-other_reason" name="other_reason" placeholder="please note your reason here..." />
489                                     [% END %]
490                                     <a href="#back">Cancel</a>
491                                 </span>
492                             </li>
493                         [% END %]
494                         <li>
495                             <table>
496                                 <thead>
497                                     <tr>
498                                         <th>&nbsp;</th>
499                                         <th>Date</th>
500                                         <th>By</th>
501                                         <th>Action</th>
502                                     </tr>
503                                 </thead>
504                                 <tbody>
505                                     <tr>
506                                         <th>
507                                             <label for="suggesteddate">[% tp('purchase suggestion created by', 'Created by:') | html %]</label>
508                                         </th>
509                                         <td>
510                                             <input type="text" id="suggesteddate" name="suggesteddate" class="flatpickr" size="10" maxlength="10" value="[% suggesteddate | html %]"/> [% INCLUDE 'date-format.inc' %]
511                                         </td>
512                                         <td id="tdsuggestedby">
513                                             <input type="hidden" id="suggestedby" name="suggestedby" value="[% suggestedby | html %]"/>
514                                             [% IF ( suggestedby_patron.borrowernumber ) %]
515                                                 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggestedby_patron.borrowernumber | uri %]">[% suggestedby_patron.surname | html %], [% suggestedby_patron.firstname | html %] ([% suggestedby_patron.cardnumber | html %])</a>  [% Branches.GetName( suggestedby_patron.branchcode ) | html %] ([% suggestedby_patron.category.description | html %])
516                                             [% END %]
517                                         </td>
518                                         <td>
519                                             <a href="#patron_search_modal_suggester" id="edit_suggester" class="btn btn-default" data-toggle="modal">Set to patron</a>
520                                         </td>
521                                     </tr>
522                                     <tr>
523                                         <th>
524                                             <label for="accepteddate">Accepted on:</label>
525                                         </th>
526                                         <td>
527                                             <input type="text" id="accepteddate" name="accepteddate" class="flatpickr" size="10" maxlength="10" value="[% accepteddate | html %]" />[% INCLUDE 'date-format.inc' %]
528                                         </td>
529                                         <td>
530                                             <input type="hidden" id="acceptedby" name="acceptedby" value="[% acceptedby | html %]"/>
531                                             [% IF ( acceptedby_patron.borrowernumber ) %]
532                                                 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% acceptedby_patron.borrowernumber | uri %]">[% acceptedby_patron.surname | html %], [% acceptedby_patron.firstname | html %] ([% acceptedby_patron.cardnumber | html %])</a>
533                                                 [% Branches.GetName( acceptedby_patron.branchcode ) | html %] ([% acceptedby_patron.category.description | html %])
534                                             [% END %]
535                                         </td>
536                                         <td></td>
537                                     </tr>
538                                     <tr>
539                                         <th>
540                                             <label for="lastmodificationdate">Last modification on:</label>
541                                         </th>
542                                         <td>
543                                             [% lastmodificationdate | $KohaDates %]
544                                         </td>
545                                         <td>
546                                             [% IF lastmodificationby_patron %]
547                                                 [% INCLUDE 'patron-title.inc' patron=lastmodificationby_patron hide_patron_infos_if_needed=1 %] [% Branches.GetName( lastmodificationby_patron.branchcode ) | html %] ([% lastmodificationby_patron.category.description | html %])
548                                             [% END %]
549                                         </td>
550                                         <td></td>
551                                     </tr>
552                                 </tbody>
553                             </table>
554                         </li>
555                         <li>
556                             <label for="managedon">Managed on:</label>
557                             <input type="text" id="managedon" name="manageddate" class="flatpickr" size="10" maxlength="10" value="[% manageddate | html %]" />[% INCLUDE 'date-format.inc' %]
558                         </li>
559                         <li>
560                             <label for="managedby_name">by:</label>
561                             <div>
562                                 <span id="managedby_name" name="managedby_name">
563                                     <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% logged_in_user.borrowernumber | uri %]">You</a>
564                                 </span>
565                                 [% IF managedby_patron.borrowernumber && logged_in_user.borrowernumber != managedby_patron.borrowernumber %]
566                                     | Previously was [% INCLUDE 'patron-title.inc' patron=managedby_patron hide_patron_infos_if_needed=1 %] [% Branches.GetName( managedby_patron.branchcode ) | html %] ([% managedby_patron.category.description | html %])
567                                 [% END %]
568                                 <br />
569                                 <a href="#patron_search_modal_manager" id="edit_manager" data-toggle="modal"><i class="fa fa-search"></i> Select manager</a>
570                                 [% IF managedby_patron.borrowernumber && logged_in_user.borrowernumber != managedby_patron.borrowernumber %]
571                                     <a id="restore_previous_manager" href="#"><i class="fa fa-trash-can"></i> Keep existing manager</a>
572                                 [% END %]
573                                 <input type="hidden" name="managedby" id="managedby" value="[% logged_in_user.borrowernumber | html %]" />
574
575                                 <br/>
576                                 <label for="notify">Notify manager:</label>
577                                 <input type="checkbox" id="notify" name="notify" value="notify" disabled="disabled" title="A NOTIFY_MANAGER notice will be generated and send to the manager if a valid email address is defined. This can be checked if a new manager has been selected." />
578                             </div> <!-- /div -->
579                         </li>
580                     </ol>
581                 </fieldset>
582
583                 <fieldset class="rows">
584                     <legend>Acquisition information</legend>
585                     <ol>
586                         <li>
587                             <label for="branchcode">Library:</label>
588                             <select name="branchcode" id="branchcode">
589                                 <option value="">Any</option>
590                                 [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
591                             </select>
592                         </li>
593                         <li>
594                             <label for="budgetid">Fund:</label>
595                             <select name="budgetid" id="budgetid">
596                                 <option value="">Any</option>
597                                 [% FOREACH budget IN sugg_budgets %]
598                                     [% IF ( budget.selected ) %]
599                                         <option value="[% budget.b_id | html %]" selected="selected">[% budget.b_txt | html %] [% IF ( !budget.b_active ) %](inactive)[% END %]</option>
600                                     [% ELSIF ( budget.b_active ) %]
601                                         <option value="[% budget.b_id | html %]">[% budget.b_txt | html %]</option>
602                                     [% ELSE %]
603                                         <option value="[% budget.b_id | html %]" class="b_inactive">[% budget.b_txt | html %] (inactive)</option>
604                                     [% END %]
605                                 [% END %]
606                             </select>
607                             <label for="showallfunds" style="float:none;width:auto;">&nbsp;Show inactive:</label>
608                             <input type="checkbox" id="showallfunds" />
609                         </li>
610                         <li>
611                             <label for="quantity">Copies:</label>
612                             <input type="text" size="10" id="quantity" name="quantity" value="[% quantity | html %]" />
613                         </li>
614                         <li>
615                             <label for="currency">Currency:</label>
616                             [% FOREACH c IN currencies %]
617                                 <input type="hidden" value="[% c.rate | html %]" id="currency_rate_[% c.currency | html %]" name="currency_rate_[% c.currency | html %]" />
618                                 <input type="hidden" id="[% c.currency | html %]" name="[% c.currency | html %]" value="[% c.rate | html %]" />
619                             [% END %]
620                             <select name="currency" id="currency">
621                                 [% FOREACH c IN currencies %]
622                                     [% IF suggestionid and suggestion.currency == c.currency or not suggestionid and c.active %]
623                                         <option value="[% c.currency | html %]" selected="selected">[% c.currency | html %]</option>
624                                     [% ELSIF not c.archived %]
625                                         <option value="[% c.currency | html %]">[% c.currency | html %]</option>
626                                     [% END %]
627                                 [% END %]
628                             </select>
629                         </li>
630                         <li>
631                             <label for="price">Price:</label>
632                             <input class="decimal" type="text" size="20" name="price" id="price" value="[% price | $Price on_editing => 1 %]" />
633                         </li>
634                         <li>
635                             <label for="total">Total: </label>
636                             <input type="text" readonly="readonly" id="total" name="total" size="10" value="[% total | html %]"/>
637                         </li>
638                     </ol>
639                 </fieldset> <!-- /.rows -->
640
641                 <fieldset class="action">
642                     <input type="hidden" id="returnsuggested" name="returnsuggested" value="[% IF ( returnsuggestedby ) %][% returnsuggestedby | html %][% ELSE %]noone[% END %]"/>
643                     [% IF ( suggestionid ) %]
644                         <input type="hidden" name="op" value="cud-save" />
645                         [% IF ( need_confirm ) %]
646                             <input type="hidden" name="save_confirmed" value="1" />
647                             <input type="submit" class="btn btn-primary" value="Confirm your suggestion" />
648                         [% ELSE %]
649                             <input type="submit" class="btn btn-primary" value="Save" />
650                         [% END %]
651                         <a class="cancel" href="[% IF ( returnsuggestedby ) %]/cgi-bin/koha/members/moremember.pl?borrowernumber=[% returnsuggestedby | uri %]#suggestions[% ELSE %]suggestion.pl[% END %]">Cancel</a>
652                     [% ELSE %]
653                         <input type="hidden" name="op" value="cud-save" />
654                         [% IF ( need_confirm ) %]
655                             <input type="hidden" name="save_confirmed" value="1" />
656                             <input type="submit" class="btn btn-primary" value="Confirm your suggestion" />
657                         [% ELSE %]
658                             <input type="submit" class="btn btn-primary" value="Submit your suggestion" />
659                         [% END %]
660                         <a class="cancel" href="suggestion.pl">Cancel</a>
661                     [% END %]
662                 </fieldset> <!-- /.action -->
663             </form> <!-- /#add_edit -->
664         [% END %]
665
666         [% IF op == 'else' %]
667             <div id="toolbar" class="btn-toolbar">
668                 <a class="btn btn-default" id="newsuggestion" href="suggestion.pl?op=add_form&branchcode=[% branchcode | uri %]"><i class="fa fa-plus"></i> New purchase suggestion</a>
669             </div>
670
671             <h1>Suggestions management</h1>
672
673             [% IF ( displayby != "branchcode" ) %]
674                 <label for="branchcode">Viewing suggestions for library:</label>
675                 <select name="branchcode" id="branchcode">
676                     <option value="__ANY__">Any</option>
677                     [% PROCESS options_for_libraries libraries => Branches.all( selected => branchfilter || branchcode ) %]
678                 </select>
679             [% END %]
680
681             [% FOR m IN messages %]
682                 <div class="dialog [% m.type | html %]">
683                     [% SWITCH m.code %]
684                     [% CASE 'already_exists' %]
685                         <span>The suggestion has not been added. A suggestion with this title already exists (<a href='/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% m.id | html %]&op=show'>suggestion #[% m.id | html %]</a>)</span>
686                     [% CASE 'biblio_exists' %]
687                         <span>A similar document already exists: <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.id | uri %]">[% m.title | html %]</a>. Click on "Confirm your suggestion" to ignore this message.</span>
688                     [% CASE %]
689                         <span>[% m.code | html %]</span>
690                     [% END %]
691                 </div> <!-- /.dialog -->
692             [% END # /FOR m %]
693
694             [% WRAPPER tabs id= "suggestiontabs" %]
695                 [% WRAPPER tabs_nav %]
696                     [% FOREACH suggestion IN suggestions %]
697                         [% WRAPPER tab_item tabname= suggestion.suggestiontype %]
698                             [% IF ( suggestion.suggestiontypelabel ) %]
699                                 [% IF (suggestion.suggestiontypelabel == "Pending") %]<span>Pending</span>
700                                 [% ELSIF (suggestion.suggestiontypelabel == "Accepted") %]<span>Accepted</span>
701                                 [% ELSIF (suggestion.suggestiontypelabel == "Checked") %]<span>Checked</span>
702                                 [% ELSIF (suggestion.suggestiontypelabel == "Rejected") %]<span>Rejected</span>
703                                 [% ELSIF (suggestion.suggestiontypelabel == "Available") %]<span>Available</span>
704                                 [% ELSIF (suggestion.suggestiontypelabel == "Ordered") %]<span>Ordered</span>
705                                 [% ELSIF (suggestion.suggestiontypelabel == "Unknown") %]<span>Status unknown</span>
706                                 [% ELSIF (suggestion.suggestiontypelabel == "__ANY__") %]<span>Any</span>
707                                 [% ELSE %][% suggestion.suggestiontypelabel | html %][% END %]
708                             [% ELSE %]
709                                 [% IF ( suggestion.suggestiontype ) %]
710                                     [% AuthorisedValues.GetByCode( 'SUGGEST_STATUS', suggestion.suggestiontype ) | html %]
711                                 [% ELSE %]
712                                     <span>No name</span>
713                                 [% END %]
714                             [% END %]
715                             ([% suggestion.suggestions.size| html %])
716                         [% END %]
717                     [% END # /FOREACH suggestion %]
718                 [% END # /WRAPPER tabs_nav %]
719
720                 [% WRAPPER tab_panels %]
721                     [% FOREACH suggestion IN suggestions %]
722                         [% WRAPPER tab_panel tabname= suggestion.suggestiontype %]
723                             <form id="action_form" method="post" action="/cgi-bin/koha/suggestion/suggestion.pl">
724                                 [% INCLUDE 'csrf-token.inc' %]
725                                 <input type="hidden" name="op" value="cud-" />[%# filled by click event %]
726                                 <input type="hidden" name="suggestionid" value="" />
727                             </form>
728                             <form class="update_suggestions" method="post" action="/cgi-bin/koha/suggestion/suggestion.pl#[% suggestion.suggestiontype| uri %]">
729                                 [% INCLUDE 'csrf-token.inc' %]
730                                 <input type="hidden" name="op" value="cud-" />[%# filled by submit %]
731
732                                 [% IF suggestion.suggestions.size %]
733                                     <p>
734                                         <a class="checkall" href="#">Check all</a> | <a class="uncheckall" href="#">Uncheck all</a>
735                                     </p>
736
737                                     <table id="table_[% loop.count | html %]" class="sorted">
738                                         <thead>
739                                             <tr>
740                                                 <th class="NoSort noExport">&nbsp;</th>
741                                                 <th class="anti-the">Suggestion</th>
742                                                 <th>Suggested by</th>
743                                                 <th>Suggester category</th>
744                                                 <th>Suggested on</th>
745                                                 <th>Patron reason</th>
746                                                 <th>Managed by</th>
747                                                 <th>Managed on</th>
748                                                 <th>Last modification by</th>
749                                                 <th>Last modification on</th>
750                                                 <th>Last updated</th>
751                                                 <th>Library</th>
752                                                 <th>Fund</th>
753                                                 <th>Non-public note</th>
754                                                 <th>Status</th>
755                                                 <th class="NoSort noExport">&nbsp;</th>
756                                             </tr>
757                                         </thead>
758                                         <tbody>
759                                             [% FOREACH s IN suggestion.suggestions %]
760                                                 <tr>
761                                                     <td>
762                                                         <input type="checkbox" name="suggestionid" value="[% s.suggestionid | html %]" />
763                                                     </td>
764                                                     <td>
765                                                         <a href="suggestion.pl?suggestionid=[% s.suggestionid | uri %]&amp;op=show" title="suggestion" >
766                                                             [% s.title | html %][% IF ( s.author ) %], by [% s.author | html %][% END %]
767                                                         </a>
768                                                         <br />
769                                                         [% IF ( s.copyrightdate ) %]
770                                                             &copy; <span class="suggestion_copyrightdate">[% s.copyrightdate | html %]</span>
771                                                         [% END %]
772                                                         [% IF ( s.volumedesc ) %]
773                                                             ; <span class="suggestion_volume">Volume:<em>[% s.volumedesc | html %]</em></span>
774                                                         [% END %]
775                                                         [% IF ( s.isbn ) %]
776                                                             ; <span class="suggestion_isbn">ISBN: <em>[% s.isbn | html %]</em></span>
777                                                         [% END %]
778                                                         [% IF ( s.publishercode ) %]
779                                                             ; <span class="suggestion_publishercode">Published by [% s.publishercode | html %]</span>
780                                                         [% END %]
781                                                         [% IF ( s.publicationyear ) %]
782                                                             in <span class="suggestion_publicationyear"><em>[% s.publicationyear | html %]</em></span>
783                                                         [% END %]
784                                                         [% IF ( s.place ) %]
785                                                             in <span class="suggestion_place"><em>[% s.place | html %]</em></span>
786                                                         [% END %]
787                                                         [% IF ( s.collectiontitle ) %]
788                                                             ; <span class="suggestion_collectiontitle">[% s.collectiontitle | html %]</span>
789                                                         [% END %]
790                                                         [% IF ( s.itemtype ) %]
791                                                             ; <span class="suggestion_itype">[% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', s.itemtype, 0 ) | html %]</span>
792                                                         [% END %]
793                                                         <br />
794                                                         [% IF ( s.note ) %]
795                                                             <div class="suggestion_note"><i class="fa fa-comment"></i> [% s.note | html %]</div>
796                                                         [% END %]
797                                                         [% IF s.archived %]
798                                                             <br /><i class="fa fa-archive"></i> Archived
799                                                         [% END %]
800                                                     </td>
801                                                     <td>
802                                                         [% SET suggester = s.suggester %]
803                                                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% suggester.borrowernumber | uri %]">[% suggester.surname | html %][% IF suggester.firstname %], [% suggester.firstname | html %][% END %] [% IF suggester.cardnumber %]([% suggester.cardnumber | html %])[% END %]</a>
804                                                     </td>
805                                                     <td>
806                                                         [% suggester.category.description | html %]
807                                                     </td>
808                                                     <td data-order="[% s.suggesteddate | html %]">
809                                                         [% IF ( s.suggesteddate ) %][% s.suggesteddate | $KohaDates %][% END %]
810                                                     </td>
811                                                     <td>[% AuthorisedValues.GetByCode( 'OPAC_SUG', s.patronreason ) | html %]</td>
812                                                     <td>
813                                                         [% SET manager = s.manager %]
814                                                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% manager.borrowernumber | uri %]">[% manager.surname | html %][% IF manager.firstname %], [% manager.firstname | html %][% END %]</a>
815                                                     </td>
816                                                     <td data-order="[% s.manageddate | html %]">
817                                                         [% IF ( s.manageddate ) %][% s.manageddate | $KohaDates %][% END %]
818                                                     </td>
819                                                     <td>
820                                                         [% SET last_modifier = s.last_modifier %]
821                                                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% last_modifier.borrowernumber | uri %]">[% last_modifier.surname | html %][% IF last_modifier.firstname %], [% last_modifier.firstname | html %][% END %]</a>
822                                                     </td>
823                                                     <td data-order="[% s.lastmodificationdate | html %]">
824                                                         [% IF ( s.lastmodificationdate ) %][% s.lastmodificationdate | $KohaDates %][% END %]
825                                                     </td>
826                                                     <td>
827                                                         [% s.lastmodificationdate | $KohaDates %]
828                                                     </td>
829                                                     <td>
830                                                         [% Branches.GetName( s.branchcode ) | html %]
831                                                     </td>
832                                                     <td>
833                                                         [% s.fund.budget_name | html %]
834                                                     </td>
835                                                     <td>
836                                                         [% s.staff_note | html %]
837                                                     </td>
838                                                     <td>
839                                                         [% IF s.STATUS == 'ASKED' %]
840                                                             <span>Pending</span>
841                                                         [% ELSIF s.STATUS == 'ACCEPTED' %]
842                                                             <span>Accepted</span>
843                                                         [% ELSIF s.STATUS == 'ORDERED' %]
844                                                             <span>Ordered</span>
845                                                         [% ELSIF s.STATUS == 'REJECTED' %]
846                                                             <span>Rejected</span>
847                                                         [% ELSIF s.STATUS == 'CHECKED' %]
848                                                             <span>Checked</span>
849                                                         [% ELSIF s.STATUS == 'AVAILABLE' %]
850                                                             <span>Available</span>
851                                                         [% ELSIF AuthorisedValues.GetByCode( 'SUGGEST_STATUS', s.STATUS ) %]
852                                                             [% AuthorisedValues.GetByCode( 'SUGGEST_STATUS', s.STATUS ) | html %]
853                                                         [% ELSE %]
854                                                             <span>Status unknown</span>
855                                                         [% END %]
856
857                                                         [% IF ( s.reason ) %]
858                                                             <br />([% s.reason | html %])
859                                                         [% END %]
860                                                     </td>
861                                                     <td class="actions">
862                                                         <div class="btn-group dropup">
863                                                             <a class="btn btn-default btn-xs" role="button" href="suggestion.pl?suggestionid=[% s.suggestionid | html %]&amp;op=edit_form"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a><a class="btn btn-default btn-xs dropdown-toggle" id="more_actions_[% s.suggestionid | html %]" role="button" data-toggle="dropdown" href="#"><b class="caret"></b></a>
864                                                             <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="more_actions_[% s.suggestionid | html %]">
865                                                                 <li>
866                                                                     <button data-op="cud-delete" data-suggestionid="[% s.suggestionid | html %]" class="btn btn-default trigger_action">Delete</button>
867                                                                 </li>
868                                                                 [% UNLESS s.archived %]
869                                                                     <li>
870                                                                         <button class="btn btn-default trigger_action" data-op="cud-archive" data-suggestionid="[% s.suggestionid | html %]">Archive</button>
871                                                                     </li>
872                                                                 [% ELSE %]
873                                                                     <li>
874                                                                         <button class="btn btn-default trigger_action" data-op="cud-unarchive" data-suggestionid="[% s.suggestionid | html %]">Unarchive</button>
875                                                                     </li>
876                                                                 [% END %]
877                                                             </ul>
878                                                         </div>
879                                                     </td>
880                                                 </tr>
881                                             [% END # /FOREACH s %]
882                                         </tbody>
883                                     </table> <!-- /#table_[% loop.count | html %] -->
884
885                                     <div class="row">
886                                         <div class="col-sm-12">
887                                             <h2>Change selected suggestions</h2>
888                                         </div>
889                                     </div>
890                                     <div class="suggestions_batch_ops row">
891                                         <div class="col-sm-4">
892                                             <fieldset class="brief">
893                                                 <div id="select-reason[% loop.index | html %]">
894                                                     <label for="STATUSreason[% loop.index | html %]">Mark selected as: </label>
895                                                     <select name="STATUS" id="STATUSreason[% loop.index | html %]">
896                                                         <option value=""> -- Choose a status --</option>
897
898                                                         [% IF (statusselected_ASKED ) %]
899                                                             <option value="ASKED" selected="selected">Pending</option>
900                                                         [% ELSE %]
901                                                             <option value="ASKED">Pending</option>
902                                                         [% END %]
903
904                                                         [% IF (statusselected_ACCEPTED ) %]
905                                                             <option value="ACCEPTED" selected="selected">Accepted</option>
906                                                         [% ELSE %]
907                                                             <option value="ACCEPTED">Accepted</option>
908                                                         [% END %]
909
910                                                         [% IF (statusselected_CHECKED ) %]
911                                                             <option value="CHECKED" selected="selected">Checked</option>
912                                                         [% ELSE %]
913                                                             <option value="CHECKED">Checked</option>
914                                                         [% END %]
915
916                                                         [% IF ( statusselected_REJECTED ) %]
917                                                             <option value="REJECTED" selected="selected">Rejected</option>
918                                                         [% ELSE %]
919                                                             <option value="REJECTED">Rejected</option>
920                                                         [% END %]
921
922                                                         [% IF ( statusselected_ORDERED ) %]
923                                                             <option value="ORDERED" selected="selected">Ordered</option>
924                                                         [% ELSE %]
925                                                             <option value="ORDERED">Ordered</option>
926                                                         [% END %]
927
928                                                         [% FOREACH s IN SuggestionStatuses %]
929                                                             <option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
930                                                         [% END %]
931                                                     </select>
932
933                                                     <label for="choosereason[% loop.index | html %]">with this reason:</label>
934                                                     <select name="reason" id="choosereason[% loop.index | html %]">
935                                                         <option value=""> -- Choose a reason -- </option>
936                                                         [% FOREACH reasonsloo IN suggestion.reasonsloop %]
937                                                             <option value="[% reasonsloo.lib | html %]">[% reasonsloo.lib | html %]</option>
938                                                         [% END %]
939                                                         <option value="other">Others...</option>
940                                                     </select>
941
942                                                     <span class="other_reason">
943                                                         <input type="text" size="31" name="other_reason" placeholder="please note your reason here..." />
944                                                         <a href="#" class="cancel_note">Cancel</a>
945                                                     </span>
946                                                 </div>
947
948                                             </fieldset>
949                                             <fieldset class="action">
950                                                 <input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
951                                                 <input type="hidden" name="filter_archived" value="[% filter_archived | html %]" />
952                                                 <button type="submit" data-op="cud-update_status" class="btn btn-primary">Submit</button>
953                                             </fieldset>
954                                         </div> <!-- /.col-sm-4 -->
955
956                                         <div class="col-sm-2">
957                                             <fieldset class="brief">
958                                                 <label id="suggestion_itemtype">
959                                                     Update item types with:
960                                                 </label>
961                                                 [% PROCESS 'av-build-dropbox.inc' name="suggestion_itemtype", category="SUGGEST_FORMAT", size = 20  %]
962                                             </fieldset>
963                                             <fieldset class="action">
964                                                 <input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
965                                                 <input type="hidden" name="filter_archived" value="[% filter_archived | html %]" />
966                                                 <button type="submit" data-op="cud-update_itemtype" class="btn btn-primary">Submit</button>
967                                             </fieldset>
968                                         </div> <!-- /.col-sm-4 -->
969
970                                         <div class="col-sm-2">
971                                             <fieldset class="brief">
972                                                 <span class="label">Update manager</span>
973                                                 <a href="#patron_search_modal_manager_[% loop.count | uri %]" id="set_manager_[% loop.count | uri %]" data-tab="[% loop.count | uri %]" class="set_manager" data-toggle="modal"><i class="fa fa-search"></i> Select manager</a>
974                                                 <span id="managedby_name[% loop.count | html %]"></span>
975                                             </fieldset>
976                                             <fieldset class="action">
977                                                 <input type="hidden" name="suggestion_managedby" id="managedby[% loop.count | html %]" value="[% logged_in_user.borrowernumber | html %]" />
978                                                 <input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
979                                                 <input type="hidden" name="filter_archived" value="[% filter_archived | html %]" />
980                                                 <button type="submit" data-op="cud-update_manager" class="btn btn-primary">Submit</button>
981                                             </fieldset>
982                                         </div> <!-- /.col-sm-2 -->
983
984                                         <div class="col-sm-2">
985                                             <fieldset class="brief">
986                                                 <span class="label">Delete selected</span>
987                                             </fieldset>
988                                             <fieldset class="action">
989                                                 <input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
990                                                 <input type="hidden" name="filter_archived" value="[% filter_archived | html %]" />
991                                                 <button type="submit" data-op="cud-delete" class="btn btn-primary">Delete</button>
992                                             </fieldset>
993                                         </div> <!-- /.col-sm-2 -->
994                                         <div class="col-sm-2">
995                                             <fieldset class="brief">
996                                                 <span class="label">Archive selected</span>
997                                                 <fieldset class="action">
998                                                     <input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
999                                                     <input type="hidden" name="filter_archived" value="[% filter_archived | html %]" />
1000                                                     <button type="submit" data-op="cud-archive" class="btn btn-primary">Archive</button>
1001                                                 </fieldset>
1002                                             </fieldset>
1003                                         </div> <!-- /.col-sm-2 -->
1004                                     </div> <!-- /.row -->
1005
1006                                 [% ELSE %]
1007                                     <strong>No results.</strong>
1008                                 [% END # /IF ( suggestion.suggestions_loop ) %]
1009                             </form> <!-- /.update_suggestions -->
1010                         [% END # /tab_panel# %]
1011                     [% END # /FOREACH suggestion %]
1012                 [% END # /WRAPPER tab_panels %]
1013             [% END # /WRAPPER tabs %]
1014         [% END # /IF op == 'else' %]
1015
1016         [% UNLESS op == 'save' %]
1017             [% UNLESS ( op == 'show' ) %]
1018                 </div> <!-- /.col-sm-10.col-sm-push-2 -->
1019
1020                 <div class="col-sm-2 col-sm-pull-10">
1021                     <aside>
1022                         <form name="suggestionfilter" action="suggestion.pl" method="get">
1023                             <input type="hidden" name="branchcode" value="[% branchfilter | html %]" />
1024                             <fieldset class="brief">
1025                                 <h4>Organize by:</h4>
1026                                 <ol>
1027                                     <li>
1028                                         <label for="displayby" class="sr-only">Organize by: </label>
1029                                         <select name="displayby" id="displayby">
1030                                             [% IF ( displayby == "STATUS" ) %]
1031                                                 <option value="STATUS" selected="selected">Status</option>
1032                                             [% ELSE %]
1033                                                 <option value="STATUS">Status</option>
1034                                             [% END %]
1035                                             [% IF ( displayby == "branchcode" ) %]
1036                                                 <option value="branchcode" selected="selected">Library</option>
1037                                             [% ELSE %]
1038                                                 <option value="branchcode">Library</option>
1039                                             [% END %]
1040                                             [% IF ( displayby == "itemtype" ) %]
1041                                                 <option value="itemtype" selected="selected">Item type</option>
1042                                             [% ELSE %]
1043                                                 <option value="itemtype">Item type</option>
1044                                             [% END %]
1045                                             [% IF ( displayby == "managedby" ) %]
1046                                                 <option value="managedby" selected="selected">Managed by</option>
1047                                             [% ELSE %]
1048                                                 <option value="managedby">Managed by</option>
1049                                             [% END %]
1050                                             [% IF ( displayby == "acceptedby" ) %]
1051                                                 <option value="acceptedby" selected="selected">Accepted by</option>
1052                                             [% ELSE %]
1053                                                 <option value="acceptedby">Accepted by</option>
1054                                             [% END %]
1055                                         </select>
1056                                     </li>
1057                                 </ol>
1058                             </fieldset> <!-- /.brief -->
1059                             <fieldset class="action">
1060                                 <input type="submit" class="btn btn-primary" value="Go" />
1061                             </fieldset>
1062
1063                             <fieldset class="brief">
1064                                 <h4>Filter by: <a style="font-size:80%;font-weight:normal;" href="/cgi-bin/koha/suggestion/suggestion.pl">[clear]</a></h4>
1065
1066                                 <div id="limits">
1067                                     <h4 class="local_collapse"><a href="#" data-target="biblio_information">Bibliographic information</a></h4>
1068                                     <fieldset class="brief biblio_information">
1069                                         <ol>
1070                                             <li>
1071                                                 <label for="title"> Title:</label>
1072                                                 <input type="text" id="title" name="title" value="[% title | html %]" />
1073                                             </li>
1074                                             <li>
1075                                                 <label for="author"> Author:</label>
1076                                                 <input type="text" id="author" name="author" value="[% author | html %]" />
1077                                             </li>
1078                                             <li>
1079                                                 <label for="isbn"> ISBN:</label>
1080                                                 <input type="text" id="isbn"  name="isbn" value="[% isbn | html %]" />
1081                                             </li>
1082                                             <li>
1083                                                 <label for="publishercode"> Publisher:</label>
1084                                                 <input type="text" id="publishercode" name="publishercode" value="[% publishercode | html %]" />
1085                                             </li>
1086                                             <li>
1087                                                 <label for="copyrightdate_filter"> Copyright date:</label>
1088                                                 <input type="text" id="copyrightdate_filter" name="copyrightdate" value="[% copyrightdate | html %]" />
1089                                             </li>
1090                                             <li>
1091                                                 <label for="collectiontitle"> Collection title:</label>
1092                                                 <input type="text" id="collectiontitle" name="collectiontitle" value="[% collectiontitle | html %]" />
1093                                             </li>
1094                                         </ol>
1095                                     </fieldset> <!-- /.biblio_information -->
1096                                     <fieldset class="action biblio_information">
1097                                         <input type="submit" value="Go" />
1098                                     </fieldset>
1099
1100                                     <h4 class="local_collapse"><a href="#" data-target="suggestion_information">Suggestion information</a></h4>
1101                                     <fieldset class="brief suggestion_information">
1102                                         <ol>
1103                                             <li>
1104                                                 <label for="STATUS[% loop.index | html %]"> Status:</label>
1105                                                 <select name="STATUS" id="STATUS[% loop.index | html %]">
1106                                                     <option value="">Any</option>
1107                                                     [% IF (statusselected_ASKED ) %]
1108                                                         <option value="ASKED" selected="selected">Pending</option>
1109                                                     [% ELSE %]
1110                                                         <option value="ASKED">Pending</option>
1111                                                     [% END %]
1112
1113                                                     [% IF (statusselected_ACCEPTED ) %]
1114                                                         <option value="ACCEPTED" selected="selected">Accepted</option>
1115                                                     [% ELSE %]
1116                                                         <option value="ACCEPTED">Accepted</option>
1117                                                     [% END %]
1118
1119                                                     [% IF (statusselected_CHECKED ) %]
1120                                                         <option value="CHECKED" selected="selected">Checked</option>
1121                                                     [% ELSE %]
1122                                                         <option value="CHECKED">Checked</option>
1123                                                     [% END %]
1124
1125                                                     [% IF ( statusselected_REJECTED ) %]
1126                                                         <option value="REJECTED" selected="selected">Rejected</option>
1127                                                     [% ELSE %]
1128                                                         <option value="REJECTED">Rejected</option>
1129                                                     [% END %]
1130
1131                                                     [% IF ( statusselected_ORDERED ) %]
1132                                                         <option value="ORDERED" selected="selected">Ordered</option>
1133                                                     [% ELSE %]
1134                                                         <option value="ORDERED">Ordered</option>
1135                                                     [% END %]
1136
1137                                                     [% FOREACH s IN SuggestionStatuses %]
1138                                                         [% IF s.authorised_value == selected_status %]
1139                                                             <option value="[% s.authorised_value | html %]" selected="selected">[% s.lib | html %]</option>
1140                                                         [% ELSE %]
1141                                                             <option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
1142                                                         [% END %]
1143                                                     [% END %]
1144                                                 </select>
1145                                             </li>
1146
1147                                             <li>
1148                                                 <label for="suggestedby"> Suggested by:</label>
1149                                                 <select id="suggestedby" name="suggestedby">
1150                                                     <option value="">Any</option>
1151                                                     [% FOREACH suggestedby_loo IN suggestedby_loop %]
1152                                                         [% IF ( suggestedby_loo.selected ) %]
1153                                                             <option value="[% suggestedby_loo.code | html %]" selected="selected">[% suggestedby_loo.desc | html %]</option>
1154                                                         [% ELSE %]
1155                                                             <option value="[% suggestedby_loo.code | html %]">[% suggestedby_loo.desc | html %]</option>
1156                                                         [% END %]
1157                                                     [% END %]
1158                                                 </select>
1159                                             </li>
1160                                             <li>
1161                                                 <label for="suggesteddate_from">Suggested date from:</label>
1162                                                 <input type="text" id="suggesteddate_from" size="10" name="suggesteddate_from" value="[% suggesteddate_from | html %]" data-date_to="suggesteddate_to" class="flatpickr" />
1163                                             </li>
1164                                             <li>
1165                                                 <label for="suggesteddate_to">To:</label>
1166                                                 <input type="text" id="suggesteddate_to" size="10" name="suggesteddate_to" value="[% suggesteddate_to | html %]" class="flatpickr" />
1167                                             </li>
1168                                             <li>
1169                                                 <label for="managedby"> Managed by:</label>
1170                                                 <select id="managedby" name="managedby">
1171                                                     <option value="">Any</option>
1172                                                     [% FOREACH managedby_loo IN managedby_loop %]
1173                                                         [% IF ( managedby_loo.selected ) %]
1174                                                             <option value="[% managedby_loo.code | html %]" selected="selected">[% managedby_loo.desc | html %]</option>
1175                                                         [% ELSE %]
1176                                                             <option value="[% managedby_loo.code | html %]">[% managedby_loo.desc | html %]</option>
1177                                                         [% END %]
1178                                                     [% END %]
1179                                                 </select>
1180                                             </li>
1181                                             <li>
1182                                                 <label for="manageddate_from">Management date from:</label>
1183                                                 <input type="text" id="manageddate_from" size="10" name="manageddate_from" value="[% manageddate_from | html %]" data-date_to="manageddate_to" class="flatpickr" />
1184                                             </li>
1185                                             <li>
1186                                                 <label for="manageddate_to">To:</label>
1187                                                 <input type="text" id="manageddate_to" size="10" name="manageddate_to" value="[% manageddate_to | html %]" class="flatpickr" />
1188                                             </li>
1189                                             <li>
1190                                                 <label for="acceptedby"> Accepted by:</label>
1191                                                 <select id="acceptedby" name="acceptedby">
1192                                                     <option value="">Any</option>
1193                                                     [% FOREACH acceptedby_loo IN acceptedby_loop %]
1194                                                         [% IF ( acceptedby_loo.selected ) %]
1195                                                             <option value="[% acceptedby_loo.code | html %]" selected="selected">[% acceptedby_loo.desc | html %]</option>
1196                                                         [% ELSE %]
1197                                                             <option value="[% acceptedby_loo.code | html %]">[% acceptedby_loo.desc | html %]</option>
1198                                                         [% END %]
1199                                                     [% END %]
1200                                                 </select>
1201                                             </li>
1202                                             <li>
1203                                                 <label for="accepteddate_from">Accepted date from:</label>
1204                                                 <input type="text" id="accepteddate_from" size="10" name="accepteddate_from" value="[% accepteddate_from | html %]" data-date_to="accepteddate_to" class="flatpickr" />
1205                                             </li>
1206                                             <li>
1207                                                 <label for="accepteddate_to">To:</label>
1208                                                 <input type="text" id="accepteddate_to" size="10" name="accepteddate_to" value="[% accepteddate_to | html %]" class="flatpickr" />
1209                                             </li>
1210                                         </ol>
1211                                     </fieldset> <!-- /#suggestion_information -->
1212                                     <fieldset class="action suggestion_information">
1213                                         <input type="submit" value="Go" />
1214                                     </fieldset>
1215
1216                                     <h4 class="local_collapse">
1217                                         <a href="#" data-target="acquisition_information">Acquisition information</a>
1218                                     </h4>
1219                                     <fieldset class="brief acquisition_information">
1220                                         <ol>
1221                                             <li>
1222                                                 <label for="budgetid"> Book fund:</label>
1223                                                 <select name="budgetid" id="budgetid">
1224                                                     <option value="__ANY__">Any</option>
1225                                                     [% IF budgetid == '__NONE__' %]
1226                                                         <option value="__NONE__" selected="selected">None</option>
1227                                                     [% ELSE %]
1228                                                         <option value="__NONE__">None</option>
1229                                                     [% END %]
1230                                                     [% FOREACH budgetsloo IN budgetsloop %]
1231                                                         [% IF ( budgetsloo.selected ) %]
1232                                                             <option value="[% budgetsloo.budget_id | html %]" selected="selected">[% budgetsloo.budget_name | html %]</option>
1233                                                         [% ELSE %]
1234                                                             <option value="[% budgetsloo.budget_id | html %]">[% budgetsloo.budget_name | html %]</option>
1235                                                         [% END %]
1236                                                     [% END %]
1237                                                 </select>
1238                                             </li>
1239                                         </ol>
1240                                     </fieldset> <!-- /#acquisition_information -->
1241                                     <fieldset class="action acquisition_information">
1242                                         <input type="submit" value="Go" />
1243                                     </fieldset>
1244
1245                                     <div id="filter_archived_information">
1246                                         <ol>
1247                                             <li>
1248                                                 <label for="archived" style="display: inline;">Include archived:</label>
1249                                                 [% IF filter_archived %]
1250                                                     <input type="checkbox" id="archived" value="1" name="filter_archived" checked="checked" title="Include archived suggestions in the search" />
1251                                                 [% ELSE %]
1252                                                     <input type="checkbox" id="archived" value="1" name="filter_archived" title="Include archived suggestions in the search" />
1253                                                 [% END %]
1254                                             </li>
1255                                         </ol>
1256                                     </div>
1257                                 </div> <!-- /#limits -->
1258                             </fieldset> <!-- /.brief -->
1259                         </form> <!-- /suggestionsfilter -->
1260
1261                         [% INCLUDE 'acquisitions-menu.inc' %]
1262
1263                     </aside>
1264                 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
1265             [% END # /UNLESS ( op == 'show' ) %]
1266         [% END # /UNLESS op == 'save' %]
1267         </div> <!-- /.row -->
1268
1269     [% END # /IF op == "show" %]
1270
1271 [% MACRO jsinclude BLOCK %]
1272     [% INCLUDE 'calendar.inc' %]
1273
1274     <script>
1275         var tab = '';
1276         function select_manager(borrowernumber, borrower) {
1277             var managedby_name = $("#managedby_name"+tab);
1278             var managedby = $("#managedby"+tab);
1279             managedby_name.empty();
1280             managedby.val('');
1281             var borrowername = borrower.firstname + ' ' + borrower.surname;
1282             if (borrowernumber) {
1283                 var managerlink = '<a href="/cgi-bin/koha/members/moremember.pl'
1284                     + '?borrowernumber=' + borrowernumber + '">'
1285                     + borrowername + '</a>';
1286                 managedby_name.html(managerlink);
1287                 managedby.val(borrowernumber);
1288             }
1289
1290             [% IF op == "save" %]
1291                 var notify = $('#notify');
1292                 if ( notify.length ) {
1293                     [% IF managedby_patron %]
1294                         if ( borrowernumber == [% logged_in_user.borrowernumber | html %] || borrowernumber == [% managedby_patron.borrowernumber | html %] ) {
1295                     [% ELSE %]
1296                         if ( borrowernumber == [% logged_in_user.borrowernumber | html %] ) {
1297                     [% END %]
1298                         $(notify).prop('checked', false).prop('disabled', true);
1299                     } else {
1300                         $(notify).prop('disabled', false);
1301                     }
1302                 }
1303             [% END %]
1304         }
1305
1306         function select_suggester(borrowernumber, borrower) {
1307             $.ajax({
1308                 type: 'GET',
1309                 url: '/api/v1/patrons/' + borrowernumber,
1310                 headers: {
1311                     "x-koha-embed": "+strings"
1312                 },
1313                 success: function (data) {
1314                     var suggested = '<input type="hidden" id="suggestedby" name="suggestedby" value="' + data.borrowernumber + '" />';
1315                     suggested += '<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=' + data.borrowernumber + '">';
1316                     suggested += data.surname.escapeHtml() + ', ' + data.firstname.escapeHtml() + ' (' + data.cardnumber.escapeHtml() + ')';
1317                     suggested += '</a> ';
1318                     suggested += data._strings.library_id.str.escapeHtml() + ' (' + data._strings.category_id.str.escapeHtml() + ')';
1319                     $("#tdsuggestedby").html(suggested);
1320
1321                 },
1322                 error: function (data) {
1323                     alert(_("Cannot retrieve info for this patron."));
1324                 },
1325             });
1326             return 0;
1327         }
1328     </script>
1329
1330     [% IF ( op == 'show' || op == 'else' ) %]
1331         <script>
1332             $(document).ready(function(){
1333                 $(".deletesuggestion").on("click",function(){
1334                     return confirm(_("Are you sure you want to delete this suggestion?"));
1335                 });
1336             });
1337         </script>
1338     [% END %]
1339     [% IF op == 'else' %]
1340         [% INCLUDE 'datatables.inc' %]
1341         [% INCLUDE 'columns_settings.inc' %]
1342         <script>
1343             $(document).ready(function() {
1344                 if( $("#suggestiontabs .tab-pane.active").length < 1 ){
1345                     $("#suggestiontabs a:first").tab("show");
1346                 }
1347
1348                 var table_settings = [% TablesSettings.GetTableSettings( 'acqui', 'suggestions', 'suggestions', 'json' ) | $raw %]
1349                 var saved_table = localStorage.getItem("DataTables_suggestions_/cgi-bin/koha/suggestion/suggestion.pl");
1350                 var updated_settings = get_columns_saved_state(saved_table, table_settings);
1351
1352                 [% FOREACH suggestion IN suggestions %]
1353                     [% IF suggestion.suggestions.size %]
1354                         KohaTable("table_[% loop.count| html %]", {
1355                             "sorting": [[ 4, "asc" ]],
1356                             "autoWidth": false,
1357                             "stateSave": true,
1358                         }, updated_settings );
1359                     [% END %]
1360                 [% END %]
1361
1362                 $("#branchcode").on('change',function(){
1363                 [%# Modify the hidden input in the filters block from the library %]
1364                 [%# dropdown list at the top of suggestion list %]
1365                     let branchcode = $(this).val();
1366                     $('input[name="branchcode"]').val( branchcode );
1367                     $('form[name="suggestionfilter"]').submit();
1368                 });
1369
1370                 $(".checkall").click(function(e){
1371                     e.preventDefault();
1372                     $(this).parents('form').find("input:checkbox").each(function(){
1373                         $(this).prop("checked", true);
1374                     });
1375                 });
1376                 $(".uncheckall").click(function(e){
1377                     e.preventDefault();
1378                     $(this).parents('form').find("input:checkbox").each(function(){
1379                         $(this).prop("checked", false);
1380                     });
1381                 });
1382                 $(".other_reason").hide();
1383                 $("select[name='reason']").change(function(){
1384                     if($(this).val() == "other"){
1385                         $(this).hide();
1386                         $(this).siblings(".other_reason").show();
1387                     }
1388                 });
1389
1390                 $("a.cancel_note").click(function(e) {
1391                     $(this).parent().siblings("select").show().find("option[value='']").attr("selected","selected");
1392                     $(this).siblings("input[name='other_reason']").hide();
1393                     e.preventDefault();
1394                 });
1395
1396                 $("h4.local_collapse a").on("click", function(e){
1397                     e.preventDefault();
1398                     const target = $(this).data("target");
1399                     $("." + target).toggle();
1400                 });
1401
1402                 $("button.trigger_action").on("click", function(e) {
1403                     var id = $(this).data('suggestionid');
1404                     var op = $(this).data('op');
1405                     if ( op == 'cud-delete' && !confirm(_("Are you sure you want to delete this suggestion?")) ) {
1406                         e.preventDefault();
1407                         return false;
1408                     }
1409                     $('#action_form input[name="op"]').val(op);
1410                     $('#action_form input[name="suggestionid"]').val(id);
1411                     $('#action_form').submit();
1412                     return false;
1413                 });
1414
1415                 $("form.update_suggestions button[type='submit']").on("click", function(e) {
1416                     var submit_button = this;
1417                     var op = $(submit_button).data('op');
1418                     var selected_suggestions = $('form.update_suggestions').find("input[type='checkbox'][name='suggestionid']:checked");
1419
1420                     if ( selected_suggestions.length == 0 ) {
1421                         alert(_("Please select at least one suggestion"));
1422                         e.preventDefault();
1423                         return false;
1424                     }
1425
1426                     if ( op === "cud-delete" ) {
1427                         if ( ! confirm(_("Are you sure you want to delete these suggestions?")) ) {
1428                             e.preventDefault();
1429                             return false;
1430                         }
1431                     } else if ( op === "cud-update_manager" ) {
1432                         var managedby = $(submit_button).siblings("suggestion_managedby");
1433                         if ( managedby.val() == "" ) {
1434                             alert(_("Please select a manager to assign to the selected suggestions"));
1435                             e.preventDefault();
1436                             return false;
1437                         }
1438                     }
1439                     $("form.update_suggestions input[name='op']").val(op);
1440                     return true;
1441                 });
1442             });
1443         </script>
1444     [% END %]
1445     [% IF op == 'save'  %]
1446         <script>
1447
1448             $(document).ready(function(){
1449                 calcNewsuggTotal();
1450                 $("#quantity,#price,#currency").on("change",function(){
1451                     calcNewsuggTotal();
1452                 });
1453
1454                 [% IF other_reason %]
1455                     $(".select-reason").hide();
1456                     $(".select-reason").find("option[value='other']").attr("selected","selected");
1457                     $("#other_reason").show();
1458                 [% ELSE %]
1459                     $("#other_reason").hide();
1460                 [% END %]
1461                 $(".select-reason").change(function(){
1462                     if($(this).val() == "other"){
1463                         $(this).hide();
1464                         $("#other_reason").show();
1465                     }
1466                 });
1467                 $("a[href*=back]").click(function(){
1468                     $(".select-reason").show().find("option[value='']").attr("selected","selected");
1469                     $("#other_reason").hide();
1470                 });
1471
1472                 $("#restore_previous_manager").on("click",function(e){
1473                     e.preventDefault();
1474
1475                     $("#managedby_name").empty();
1476                     $("#managedby").val('');
1477                     var borrowername = "[% managedby_patron.firstname | html %] [% managedby_patron.surname | html %]";
1478                     var managerlink = '<a href="/cgi-bin/koha/members/moremember.pl'
1479                         + '?borrowernumber=[% managedby_patron.borrowernumber | html %]">'
1480                         + borrowername + '</a>';
1481                     $('#managedby_name').html(managerlink);
1482                     $('#managedby').val([% managedby_patron.borrowernumber | html %]);
1483                     $('#notify').prop('checked', false).prop('disabled', true);
1484                 });
1485
1486                 //keep a copy of all budgets before removing the inactives
1487                 var budgetId = $("form#add_edit #budgetid");
1488                 var disabledBudgetsCopy = budgetId.html();
1489                 $('.b_inactive').remove();
1490
1491                 $('#showallfunds').click(function() {
1492                     if ($(this).is(":checked")) {
1493                         budgetId.html(disabledBudgetsCopy); //Puts back all the funds
1494                     }
1495                     else {
1496                         $('.b_inactive').remove();
1497                     }
1498                 });
1499
1500             });
1501         </script>
1502     [% END %]
1503     [% Asset.js("js/acq.js") | $raw %]
1504     [% Asset.js("js/acquisitions-menu.js") | $raw %]
1505
1506     [% INCLUDE 'select2.inc' %]
1507     [% SET columns = ['cardnumber','name','category','branch','action'] %]
1508     [% IF op == 'save' %]
1509         [% PROCESS patron_search_modal columns => columns, modal_title => t("Select suggester"), patron_search_modal_id => 'patron_search_modal_suggester', table_id => 'patron_search_modal_suggester_table' %]
1510         [% PROCESS patron_search_js columns => columns, actions => ["select"], preview_on_name_click => 1, table_id => 'patron_search_modal_suggester_table', callback => 'select_suggester' %]
1511         [% PROCESS patron_search_modal columns => columns, modal_title => t("Select manager"), patron_search_modal_id => 'patron_search_modal_manager', table_id => 'patron_search_modal_manager_table' %]
1512         [% PROCESS patron_search_js columns => columns, filter => 'suggestions_managers', actions => ["select"], preview_on_name_click => 1, table_id => 'patron_search_modal_manager_table', callback => 'select_manager' %]
1513     [% ELSIF op == 'else' %]
1514         [% FOREACH suggestion IN suggestions %]
1515             <script>tab = [% loop.count | html %];</script>
1516             [% PROCESS patron_search_modal columns => columns, modal_title => t("Select manager"), patron_search_modal_id => 'patron_search_modal_manager_' _ loop.count, table_id => 'patron_search_modal_manager_table_' _ loop.count %]
1517             [% PROCESS patron_search_js columns => columns, filter => 'suggestions_managers', actions => ["select"], preview_on_name_click => 1, table_id => 'patron_search_modal_manager_table_' _ loop.count, callback => 'select_manager' %]
1518         [% END %]
1519     [% END %]
1520
1521
1522 [% END %]
1523 [% INCLUDE 'intranet-bottom.inc' %]