]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/myopac/lists.tt2
LP1873286: Fix Bad End Tags
[Evergreen.git] / Open-ILS / src / templates / opac / myopac / lists.tt2
1 [%  PROCESS "opac/parts/header.tt2";
2     PROCESS "opac/parts/misc_util.tt2";
3     WRAPPER "opac/parts/myopac/base.tt2";
4     myopac_page = "lists"  
5     limit = ctx.bookbags_limit;
6     offset = ctx.bookbags_offset;
7     item_page = ctx.bookbags_item_page;
8     bb_publish_text = l(
9 "Sharing a list means that the contents " _
10 "of the list will be visible to others. " _
11 "To see the public view of a shared list, " _
12 "click on the HTML View link in the Saved Lists section.");
13 %]
14 <h3 class="sr-only">[% l('My Lists') %]</h3>
15 <div id='myopac_bookbag_div' style="padding:5px;">
16
17     <!-- new list creation -->
18     <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="post" id="create_form">
19         <h1>[% l('Create New List') %]</h1><a name="createnewlist"></a>
20         <table class="table_no_cell_pad" id="list_create_table">
21             <tr>
22                 <td class="list_create_table_label">
23                     <label for="list_create_name">[% l('Enter the name of the new list:') %]</label>
24                 </td>
25                 <td>
26                     [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
27                     <input id="list_create_name" type="text" name="name" />
28                     <input type="hidden" name="action" value="create" />
29                     [% IF ctx.add_rec %]
30                     <input type="hidden" name="add_rec" value="[% ctx.add_rec %]" />
31                     [% END %]
32                     [% IF ctx.where_from %]
33                     <input type="hidden" name="where_from" value="[% ctx.where_from %]" />
34                     [% END %]
35                 </td>
36             </tr>
37             <tr>
38                 <td class="list_create_table_label">
39                     <label for="list_description">[% l("List description (optional):") %]</label>
40                 </td>
41                 <td>
42                     <textarea name="description" id="list_description"></textarea>
43                 </td>
44             </tr>
45             <tr>
46                 <td class="list_create_table_label">
47                     <label for="list_create_shared">[% l('Share this list?') %]</label>
48                 </td>
49                 <td>
50                     <select name="shared" id="list_create_shared">
51                         <option value="0">[% l('No') %]
52                         <option value="1">[% l('Yes') %]
53                     </select>
54                     <a href="javascript:void(0);" 
55                         onclick="alert('[% bb_publish_text %]')">
56                         <img alt="[% l('Sharing Help') %]"
57                             [% html_text_attr('title', bb_publish_text) %]
58                             src="[% ctx.media_prefix %]/images/question-mark.png[% ctx.cache_key %]" />
59                     </a>
60                 </td>
61             </tr>
62             [% IF ctx.mylist.size %]
63             <tr>
64                 <td class="list_create_table_label">
65                     <label for="list_move_cart">[% l('Move contents of basket to this list?') %]</label>
66                 </td>
67                 <td>
68                     <select name="move_cart" id="list_move_cart">
69                         <option value="0">[% l('No') %]
70                         <option value="1" [% IF CGI.param('move_cart_by_default') %]selected="selected"[% END%]>[% l('Yes') %]
71                     </select>
72                 </td>
73             </tr>
74             [% END %]
75             <tr>
76                 <td>&nbsp;</td>
77                 <td class="list-create-table-buttons">
78                     <input type="reset"
79                         value="[% l('Cancel') %]"
80                         alt="[% l('Cancel') %]"
81                         class="opac-button" />
82                     &nbsp;&nbsp;&nbsp;
83                     <input type="submit"
84                         value="[% l('Submit') %]"
85                         alt="[% l('Submit') %]"
86                         class="opac-button"/>
87                 </td>
88             </tr>
89         </table>
90     </form>
91
92     [% IF CGI.param('from_basket'); %]
93     <h1>[% l("... from basket") %]</h1>
94     [% INCLUDE "opac/parts/anon_list.tt2" %]
95     [% ELSE %]
96     <h1>[% l("My Existing Basket and Lists") %]</h1>
97     [% INCLUDE "opac/parts/anon_list.tt2" %]
98     [% IF ctx.bookbags.size %]
99     <div class="header_middle">
100         <span class="float-left">[% l('Saved Lists') %]</span>
101         [% IF limit < ctx.bookbag_count; %]
102         <span class='float-left' style='padding-left: 10px;'>
103             [%- IF offset > 0 -%]
104                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
105                     offset => (offset - limit)
106                 }) %]'><span class="nav_arrow_fix">&#9668;</span>[% l('Previous') %]</a>
107             [%- END; -%]
108             [%- IF (offset - (limit * 3)) >= 0 -%]
109                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
110                     offset => (offset - (limit * 3))
111                 }) %]'>[% ((offset - (limit * 3)) / limit) + 1 %]</a>
112             [%- END; -%]
113             [%- IF (offset - (limit * 2)) >= 0 -%]
114                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
115                     offset => (offset - (limit * 2))
116                 }) %]'>[% ((offset - (limit * 2)) / limit) + 1 %]</a>
117             [%- END; -%]
118             [%- IF (offset - limit) >= 0 -%]
119                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
120                     offset => (offset - limit)
121                 }) %]'>[% ((offset - limit) / limit) + 1 %]</a>
122             [%- END; -%]
123             <span class="bookbag-paginator-selected" >[% (offset / limit) + 1 %]</span>
124             [%- IF (offset + limit) < ctx.bookbag_count -%]
125                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
126                     offset => (offset + limit)
127                 }) %]'>[% ((offset + limit) / limit) + 1 %]</a>
128             [%- END; -%]
129             [%- IF (offset + (limit * 2)) < ctx.bookbag_count -%]
130                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
131                     offset => (offset + (limit * 2))
132                 }) %]'>[% ((offset + (limit * 2)) / limit) + 1 %]</a>
133             [%- END; -%]
134             [%- IF (offset + (limit * 3)) < ctx.bookbag_count -%]
135                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
136                     offset => (offset + (limit * 3))
137                 }) %]'>[% ((offset + (limit * 3)) / limit) + 1 %]</a>
138             [%- END; -%]
139             [%- IF (ctx.bookbag_count - offset) > limit; -%] 
140                 <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
141                     offset => (offset + limit)
142                 }) %]'>[% l('Next') %]<span class="nav_arrow_fix">&#9658;</span></a>
143             </span>
144             [%- END; -%]
145         [% END %]
146     </div>
147     <div class="clear-both"></div>
148
149     <div id='acct_lists_prime'>
150         [% FOR bbag IN ctx.bookbags %]
151         <div class="bookbag-controls-holder">
152             <div class="bookbag-controls-title-block">
153                 [% baseurl = ctx.opac_root _ '/myopac/lists';
154                 IF bbag.id != CGI.param("bbid");
155                     url = mkurl(baseurl,{bbid => bbag.id, item_page => 1},['edit_notes','sort']);
156                     ltitle = l("Show items in list");
157                 ELSE;
158                     url = mkurl(baseurl, {}, ['bbid', 'edit_notes', 'sort']);
159                     ltitle = l("Hide items in list");
160                 END %]
161                 <h2 class="bookbag-name"><a title="[% ltitle %]" href="[% url %]">[% bbag.name | html %]</a></h2>
162                 [% IF bbag.description %]<div class="bookbag-description">[% bbag.description | html %]</div>[% END %]
163             </div>
164             <div class="bookbag-controls-button-block">
165             [% IF ctx.add_rec %]
166             <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update', {}, 1) %]" method="post">
167                 <div class="bookbag-controls">
168                     <input type="hidden" name="action" value="add_rec" />
169                     <input type="hidden" name="list" value="[% bbag.id %]" />
170                     <input type="hidden" name="add_rec" value="[% ctx.add_rec %]" />
171                     [% IF ctx.where_from %]
172                     <input type="hidden" name="where_from" value="[% ctx.where_from %]" />
173                     [% END %]
174                     <input class="fixed" type="submit" value="[% l('Add to this list') %]" />
175                 </div>
176             </form>
177             [% END %]
178             <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="post">
179                 <div class="bookbag-share">
180                     <input type="hidden" name="list" value="[% bbag.id %]" />
181                     [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
182                     [% IF bbag.pub != 't' %]
183                     <input type="hidden" name="action" value="show" />
184                     <input class="fixed" type="submit" value="[% l('Share') %]" />
185                     [% ELSE %]
186                     <input type="hidden" name="action" value="hide" />
187                     <input class="fixed" type="submit" value="[% l('Hide') %]" />
188                     [% END %]
189                 </div>
190             </form>
191             <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="post" onsubmit="return confirm('[% l('Do you really want to delete this list?') %]')">
192                 <div class="bookbag-controls">
193                     <input type="hidden" name="list" value="[% bbag.id %]" />
194                     <input type="hidden" name="action" value="delete" />
195                     [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
196                     <input type="submit" value="[% l('Delete List') %]" />
197                 </div>
198             </form>
199             <form action="[% mkurl(ctx.opac_root _ '/myopac/list/print') %]" method="post">
200                 <div class="bookbag-controls">
201                     <input type="hidden" name="list" value="[% bbag.id %]" />
202                     <input type="hidden" name="sort" value="[% CGI.param('sort') | html %]" />
203                     [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
204                     <input type="submit" value="[% l('Download CSV') %]" />
205                 </div>
206             </form>
207             [% setting = 'opac.default_list'; %]
208             <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="post">
209                 <div class="bookbag-controls">
210                     <input type="hidden" name="list" value="[% bbag.id %]" />
211                     [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
212                     [% IF ctx.user_setting_map.$setting == bbag.id %]
213                     <input type="hidden" name="action" value="remove_default" />
214                     <input type="submit" value="[% l('Remove Default List') %]" />
215                     [% ELSE %]
216                     <input type="hidden" name="action" value="make_default" />
217                     <input type="submit" value="[% l('Make Default List') %]" />
218                     [% END %]
219                 </div>
220             </form>
221             [% IF ctx.is_staff %]
222             <div class="bookbag-controls">
223                 <input 
224                     type="submit" 
225                     onclick='
226                        var path = 
227                           "oils://remote/xul/server/cat/bucketz39_dialog.xul";
228                         window.openDialog(
229                             xulG.url_prefix(path),
230                             "bucketz39_dialog",
231                             "width=800,height=500",
232                             "[% ctx.user.id %]",
233                             "[% ctx.authtoken %]",
234                             "[% ctx.user.ws_ou %]",
235                             "[% bbag.id %]",
236                             xulG
237                         )'
238                     value="[% l('Locate Z39.50 Matches') %]" 
239                 />
240             </div>
241             [% END %]
242             <div class="bookbag-controls">
243                 [% IF bbag.pub == 't'; %]
244                 <a target='_blank' href='/opac/extras/feed/bookbag/rss2-full/[% bbag.id %]'><img
245                     alt="[% l('RSS Feed') %]" border="0"
246                     src="[% ctx.media_prefix %]/images/small-rss.png[% ctx.cache_key %]"/></a>
247                 [% END %]
248                 [% IF bbag.pub == 't'; %]
249                 <a href='[%-
250                     mkurl(
251                         ctx.opac_root _ '/results',
252                         {page => '0', bookbag => bbag.id, depth => 0, locg => ctx.search_ou},
253                         1
254                     )
255                 -%]'>[% l('HTML View') %]</a>
256                 [% END %]
257             </div>
258             </div>
259             <div class="clear-both pad-bottom-five"></div>
260         </div>
261         [% IF CGI.param("bbid") == bbag.id %]
262         <div class="bookbag-specific">
263             [% IF bbag.items.size %]
264                 <div class="sort">
265                     <form method="get">
266                         <label for="opac.result.sort">[% l("Sort list items by: ") %]</label>
267                         [%- INCLUDE "opac/parts/preserve_params.tt2" params=['loc', 'query', 'qtype']; %]
268                         [% INCLUDE "opac/parts/filtersort.tt2"
269                             value=CGI.param('sort') mode='bookbag' %]
270                         <input type="hidden" name="bbid"
271                             value="[% CGI.param('bbid') | html %]"/>
272                         <input type="submit" class="opac-button" value="[% l('Sort') %]" />
273                     </form>
274                 </div>
275             [% END %]
276             <div class="meta">
277                 <form method="post">
278                     <input type="hidden" name="bbid" value="[% bbag.id %]" />
279                     <input type="hidden" name="action" value="editmeta" />
280                     <input type="hidden" name="limit" value="[% limit %]" />
281                     <input type="hidden" name="offset" value="[% offset %]" />
282                     [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
283                             <p style="font-weight:bold;">[% l('Edit List Description') %]</p>
284                             <div class="bbag-edit-desc-label">
285                                 <label for="bbag-edit-name">[% l('Name:') %]</label>
286                             </div>
287                             <input name="name" type="text"
288                                     value="[% bbag.name | html %]"
289                                     id="bbag-edit-name" />
290                             <div style="clear:both;"></div>
291                             <div class="bbag-edit-desc-label">
292                                 <label for="bbag-edit-description">[% l('Description:') %]</label>
293                             </div>
294                             <textarea name="description"
295                                     id="bbag-edit-description">[% bbag.description | html %]</textarea>
296                             <div class="bbag-edit-desc-save">
297                                 [% l("Save changes to name or description?") %]
298                                 <input type="submit" class="opac-button" value="[% l('Save') %]" />
299                             </div>
300                 </form>
301             </div>
302         </div>
303         <br class="clear-both" />
304         <form action="[% mkurl(ctx.opac_root _ '/myopac/list/update') %]" method="post">
305         <input type="hidden" name="list" value="[% bbag.id %]" />
306         <input type="hidden" name="sort" value="[% CGI.param('sort') | uri %]" />
307         <input type="hidden" name="redirect_to" value="[% mkurl('', {}, ['list_none_selected', 'cart_none_selected']) %]" />
308         <div class="bbag-content">
309         [% IF bbag.items.size %]
310             <div class="bbag-action">
311                 <select name="action" class="bbag-action-field">
312                     <option disabled="disabled" selected="selected">[% l('-- Actions for these items --') %]</option>
313                     <option value="place_hold">[% l('Place hold') %]</option>
314                     <option value="print">[% l('Print title details') %]</option>
315                     <option value="email">[% l('Email title details') %]</option>
316                     <option value="del_item">[% l('Remove from list') %]</option>
317                 </select>
318                 [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
319                 <input class="opac-button" type="submit" value="[% l('Go') %]" />
320                 [% IF CGI.param('list_none_selected') %]
321                     <span class="error">[% l('No items were selected') %]</span>
322                 [% END %]
323             </div>
324         [% END %]
325         <table class="bookbag-specific table_no_cell_pad table_no_border_space table_no_border">
326             <thead id="acct_list_header">
327                 <tr>
328                     <td class="list_checkbox">
329                     <input type="checkbox" 
330                       onclick="var inputs=document.getElementsByTagName('input'); 
331                         for (i = 0; i < inputs.length; i++) { 
332                             if (inputs[i].name == 'selected_item' &amp;&amp; !inputs[i].disabled &amp;&amp; inputs[i].getAttribute('bbag') == [% bbag.id %]) 
333                                 inputs[i].checked = this.checked;}"/>
334
335                     </td>
336                     <td class="list_entry">
337                         <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {sort=> (CGI.param('sort') == 'titlesort' ? 'titlesort.descending' : 'titlesort')}) %]">[% l('Title') %]</a>
338                     </td>
339                     <td class="list_entry">
340                         <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {sort=>(CGI.param('sort') == 'authorsort' ? 'authorsort.descending' : 'authorsort')}) %]">[% l('Author(s)') %]</a>
341                     </td>
342                     <td class='list_entry'>
343                         [% l('Local Call Number') %]
344                     </td>
345                     <td class="list_entry">
346                         <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {sort=>(CGI.param('sort') == 'pubdate' ? 'pubdate.descending' : 'pubdate')}) %]">[% l('Publication Date') %]</a>
347                     </td>
348                     <td class="list_entry">
349                          [% l('Format') %]
350                     </td>
351                     <td class="list_entry">
352                         [% l('Notes') %]
353                         [% IF CGI.param("edit_notes") != bbag.id %]
354                         | <a href="[% mkurl(ctx.opac_root _ '/myopac/lists', {edit_notes=> bbag.id}) %]">[% l('Edit') %]</a>
355                         [% END %]
356                     </td>
357                 </tr>
358             </thead>
359             <tbody>
360                 [% UNLESS bbag.items.size %]
361                 <tr><td colspan="6" class="list_is_empty">
362                     [% l("This list contains no items.") %]
363                 </td></tr>
364                 [% END %]
365                 [% FOR item IN bbag.items;
366                     rec_id = item.target_biblio_record_entry.id;
367                     attrs = {marc_xml => ctx.bookbags_marc_xml.$rec_id};
368                     PROCESS get_marc_attrs args=attrs %]
369                 <tr class="bookbag-item-row">
370                     <td class="list_checkbox">
371                         <input type="checkbox" name="selected_item" value="[% item.id %]" bbag='[% bbag.id %]'/>
372                     </td>
373                     <td class="list_entry" data-label="[% l('Title') %]">
374                         <a href="[% mkurl(ctx.opac_root _ '/record/' _ rec_id, {}, ['edit_notes', 'bbid']) %]">[% attrs.title | html %]</a>
375                     </td>
376                     <td class="list_entry" data-label="[% l('Author(s)') %]">
377                         <a href="[%-
378                             authorquery = attrs.author | replace('[,\.:;]', '');
379                             mkurl(ctx.opac_root _ '/results', {qtype => 'author', query => authorquery}, ['page', 'bbid', 'edit_notes'])
380                             -%]">[% attrs.author | html %]</a>
381                     </td>
382                     <td class="list_entry" data-label="[% l('Local Call Number') %]">
383                         [% 
384                             copy = attrs.holdings.0;
385                             IF copy;
386                                 # only show a relevant call number
387                                 copy_org = ctx.get_aou_by_shortname(copy.owner);
388                                 FOR ctx_org IN [ctx.pref_ou, ctx.search_ou, ctx.home_ou, ctx.physical_loc];
389                                     NEXT UNLESS ctx_org;
390                                     ctx_org = ctx.get_aou(ctx_org);
391                                     IF ctx.org_within_scope(ctx_org, copy_org, ctx_org.ou_type.depth);
392                                         l('[_1] ([_2])', copy.label, copy_org.name) | html;
393                                         LAST;
394                                     END;
395                                 END;
396                             END;
397                         %]
398                     </td>
399                     <td class="list_entry" data-label="[% l('Publication Date') %]">
400                           [% attrs.pubdate | html %]
401                     </td>
402                     <td class="list_entry" data-label="[% l('Format') %]">
403                           [% attrs.format_label | html %]
404                     </td>
405                     [% IF CGI.param("edit_notes") == bbag.id %]
406                     <td class="list_entry" data-label="[% l('Notes') %]">
407                         [% FOR note IN item.notes %]
408                         <input type="text" name="note-[% note.id %]" value="[% note.note | html %]" />
409                         [% END %]
410                         <input type="text" name="item-[% item.id %]" />
411                     </td>
412                     [% ELSE %]
413                     <td class="list_entry" data-label="[% l('Notes') %]">
414                         [% FOR note IN item.notes %]
415                         <div>[% note.note | html %]</div>
416                         [% END %]
417                     </td>
418                     [% END %]
419                 </tr>
420                 [% END %]
421                 [% IF CGI.param("edit_notes") == bbag.id %]
422                 <tr class="mobile_hide">
423                     <td colspan="6"><!-- All space left of notes column --></td>
424                     <td class="save-notes">
425                         [%- INCLUDE "opac/parts/preserve_params.tt2"; %]
426                         <input type="hidden" name="bbid" value="[% CGI.param('bbid') | html %]" />
427                         <input type="submit" class="opac-button" name="save_notes" value="[% l('Save Notes') %]" />
428                     </td>
429                 </tr>
430                 [% END %]
431             </tbody>
432         </table>
433         </div>
434         [% IF ctx.bb_page_count > 1; %]
435             <div class="header_middle" style="padding-top:7px;">
436                 <div class="bbag-navigate-list">[% l('Navigate Selected List ') %]</div>
437                 <div class="bbag-navigate-list-pages">
438                     [%- IF item_page > 1 -%]
439                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
440                             item_page => item_page - 1
441                         }) %]'><span class="nav_arrow_fix">&#9668;</span>[% l('Previous') %]</a>
442                     [%- END; -%]
443
444                     [%- IF (item_page - 3) >= 1 -%]
445                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
446                             item_page => item_page - 3
447                         }) %]'>[% item_page - 3 %]</a>
448                     [%- END; -%]
449                     [%- IF (item_page - 2) >= 1 -%]
450                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
451                             item_page => item_page - 2
452                         }) %]'>[% item_page - 2 %]</a>
453                     [%- END; -%]
454                     [%- IF (item_page - 1) >= 1 -%]
455                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
456                             item_page => item_page - 1
457                         }) %]'>[% item_page - 1%]</a>
458                     [%- END; -%]
459                     <span class="bookbag-paginator-selected" >[% item_page %]</span>
460                     [%- IF (item_page + 1) <= ctx.bb_page_count -%]
461                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
462                             item_page => item_page + 1
463                         }) %]'>[% item_page + 1 %]</a>
464                     [%- END; -%]
465                     [%- IF (item_page + 2) <= ctx.bb_page_count -%]
466                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
467                             item_page => item_page + 2
468                         }) %]'>[% item_page + 2 %]</a>
469                     [%- END; -%]
470                     [%- IF (item_page + 3) <= ctx.bb_page_count -%]
471                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
472                             item_page => item_page + 3
473                         }) %]'>[% item_page + 3 %]</a>
474                     [%- END; -%]
475
476                     [%- IF (item_page + 1) <= ctx.bb_page_count; -%]
477                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
478                             item_page => item_page + 1
479                         }) %]'>[% l('Next') %]<span class="nav_arrow_fix">&#9658;</span></a>
480                     [%- END; -%]
481                  </div>
482             </div>
483             <div class="clear-both"></div>
484         [% END %]
485         <br/>
486
487         </form>
488         [% END %]
489         [% END %]
490     </div>
491     [% END %]
492     [% END %]
493 </div>
494 [% END %]