View | Details | Raw Unified | Return to bug 19657
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/virtualshelves-toolbar.inc (-28 lines)
Lines 1-31 Link Here
1
<script type="text/javascript">
2
//<![CDATA[
3
4
[% IF op == 'view' %]
5
6
    function sendList(){
7
        open(CGIBIN+'virtualshelves/sendshelf.pl?shelfid=[% shelf.shelfnumber %]','win_form','scrollbars=no,resizable=no,height=300,width=450,top=50,left=100');
8
     }
9
10
     $(document).ready(function() {
11
        $("#sendlist").click(function(){
12
            sendList();
13
            return false;
14
        });
15
        $("#deleteshelf").click(function(e){
16
            if(confirm(_("Are you sure you want to delete this list?"))){
17
                return true;
18
            } else {
19
                e.preventDefault();
20
            }
21
        });
22
     });
23
24
[% END %]
25
26
//]]>
27
</script>
28
29
<div id="toolbar" class="btn-toolbar">
1
<div id="toolbar" class="btn-toolbar">
30
    <div class="btn-group"><a id="newshelf" class="btn btn-default btn-sm" href="/cgi-bin/koha/virtualshelves/shelves.pl?op=add_form&amp;referer=[% op %]"><i class="fa fa-plus"></i> New list</a></div>
2
    <div class="btn-group"><a id="newshelf" class="btn btn-default btn-sm" href="/cgi-bin/koha/virtualshelves/shelves.pl?op=add_form&amp;referer=[% op %]"><i class="fa fa-plus"></i> New list</a></div>
31
3
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt (-308 / +330 lines)
Lines 2-13 Link Here
2
[% USE KohaDates %]
2
[% USE KohaDates %]
3
[% SET PRIVATE = 1 %]
3
[% SET PRIVATE = 1 %]
4
[% SET PUBLIC = 2 %]
4
[% SET PUBLIC = 2 %]
5
[% SET footerjs = 1 %]
5
[% INCLUDE 'doc-head-open.inc' %]
6
[% INCLUDE 'doc-head-open.inc' %]
6
<title>Koha &rsaquo; [% IF op == 'view' %]Lists &rsaquo; Contents of [% shelf.shelfname | html %][% ELSE %]Lists[% END %][% IF op == 'add_form' %] &rsaquo; Create new list[% END %][% IF op == 'edit_form' %] &rsaquo; Edit list [% shelf.shelfname | html %][% END %]</title>
7
<title>Koha &rsaquo; [% IF op == 'view' %]Lists &rsaquo; Contents of [% shelf.shelfname | html %][% ELSE %]Lists[% END %][% IF op == 'add_form' %] &rsaquo; Create new list[% END %][% IF op == 'edit_form' %] &rsaquo; Edit list [% shelf.shelfname | html %][% END %]</title>
7
[% INCLUDE 'doc-head-close.inc' %]
8
[% INCLUDE 'doc-head-close.inc' %]
8
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
9
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
9
[% INCLUDE 'datatables.inc' %]
10
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
11
10
12
[% BLOCK list_permissions %]
11
[% BLOCK list_permissions %]
13
    <li>
12
    <li>
Lines 28-339 Link Here
28
        &emsp; <span id="anyone_remark" style="display:none;color:red;">The Anyone permission has no actual effect while this list is strictly private.</span>
27
        &emsp; <span id="anyone_remark" style="display:none;color:red;">The Anyone permission has no actual effect while this list is strictly private.</span>
29
    </li>
28
    </li>
30
[% END %]
29
[% END %]
31
32
[% IF print %]
33
<script type="text/javascript">
34
    $( document ).ready(function() {
35
        window.print();
36
        setTimeout('window.close()', 1);
37
    });
38
</script>
39
[% END %]
40
41
[% IF op == 'view' %]
42
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
43
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
44
[% END %]
45
<script type="text/javascript">
46
//<![CDATA[ 
47
48
var MSG_NO_ITEM_SELECTED = _("Nothing is selected.");
49
var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
50
var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to remove this list?");
51
52
[% IF op == 'list' %]
53
$(document).ready(function(){
54
    [% IF category == PUBLIC %]
55
        var type = [% PUBLIC %];
56
    [% ELSE %]
57
        var type = [% PRIVATE %];
58
    [% END %]
59
    var dtListResults = $("#listresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
60
61
	"aaSorting": [[ 5, "asc" ]],
62
        'bServerSide': true,
63
        'sAjaxSource': "/cgi-bin/koha/svc/virtualshelves/search",
64
        'fnServerData': function(sSource, aoData, fnCallback) {
65
            aoData.push({
66
                'name': 'type',
67
                'value': type,
68
            },{
69
                'name': 'shelfname',
70
                'value': $("#searchshelfname_filter").val(),
71
            },{
72
                'name': 'owner',
73
                'value': $("#searchowner_filter").val(),
74
            },{
75
                'name': 'sortby',
76
                'value': $("#searchsortby_filter").val(),
77
            },{
78
                'name': 'template_path',
79
                'value': 'virtualshelves/tables/shelves_results.tt',
80
            });
81
            $.ajax({
82
                'dataType': 'json',
83
                'type': 'POST',
84
                'url': sSource,
85
                'data': aoData,
86
                'success': function(json){
87
                    fnCallback(json);
88
                }
89
            });
90
        },
91
        'aoColumns':[
92
            { 'mDataProp': 'dt_type' },
93
            { 'mDataProp': 'dt_shelfname' },
94
            { 'mDataProp': 'dt_count' },
95
            { 'mDataProp': 'dt_is_shared' },
96
            { 'mDataProp': 'dt_owner' },
97
            { 'mDataProp': 'dt_sortby' },
98
            { 'mDataProp': 'dt_created_on' },
99
            { 'mDataProp': 'dt_modification_time' },
100
            { 'mDataProp': 'dt_action', 'bSortable': false, 'sClass': 'actions' }
101
        ],
102
        "aoColumnDefs": [
103
            { "bVisible": false, "aTargets": [ 'NoVisible' ] }
104
        ],
105
        'bAutoWidth': false,
106
        'sPaginationType': 'full_numbers',
107
        'bFilter': false,
108
        "bProcessing": true,
109
        "bSortCellsTop": true
110
    }));
111
112
    dtListResults.fnAddFilters("filter", 750);
113
114
    var tabs = $("#tabs").tabs({
115
        [% IF category == PUBLIC %]
116
            active: 1,
117
        [% ELSE %]
118
            active: 0,
119
        [% END %]
120
        activate: function(e, ui) {
121
            var active = tabs.tabs("option", "active" );
122
            if ( active == 0 ) {
123
                type = [% PRIVATE %];
124
                dtListResults.fnDraw();
125
            } else if ( active == 1 ) {
126
                type = [% PUBLIC %];
127
                dtListResults.fnDraw();
128
            }
129
        }
130
    });
131
    $("body").on("click", ".deleteshelf", function(){
132
        return confirmDelete(MSG_CONFIRM_DELETE_LIST);
133
    });
134
});
135
[% END %]
136
137
[% IF shelf AND op == 'view' %]
138
$(document).ready(function(){
139
    [% IF ( itemsloop ) %]$('#searchheader').fixFloat();[% END %]
140
    $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/shelves.pl\"><i class=\"fa fa-remove\"></i>"+_(" Clear all")+"<\/a>");
141
    $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/shelves.pl\"><i class=\"fa fa-check\"></i>"+_(" Select all")+"<\/a>");
142
    $("#CheckAll").click(function(){
143
        $(".checkboxed").checkCheckboxes();
144
        return false;
145
    });
146
    $("#CheckNone").click(function(){
147
        $(".checkboxed").unCheckCheckboxes();
148
        return false;
149
    });
150
    $(".placehold").on("click",function(e){
151
        placeHold();
152
        e.preventDefault();
153
    });
154
    $(".addtocart").show();
155
    var param1 = "| <label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
156
    [% IF ( intranetbookbag ) %]
157
         param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
158
    [% END %]
159
    [% IF Koha.Preference('virtualshelves') %]
160
        [% IF add_to_some_private_shelves.count %]
161
            param1 += "<optgroup label=\""+_("Your lists:")+"\">";
162
            [% SET number_of_private_shelves = 0 %]
163
            [% FOREACH s IN add_to_some_private_shelves %]
164
                [% IF shelfnumber != s.shelfnumber %]
165
                    param1 += "<option id=\"s[% s.shelfnumber %]\" value=\"addtolist\">[% s.shelfname |html %]<\/option>";
166
                    [% SET number_of_private_shelves = number_of_private_shelves + 1 %]
167
                    [% IF number_of_private_shelves == 10 %][% LAST %][% END %]
168
                [% END %]
169
            [% END %]
170
            param1 += "<\/optgroup>";
171
        [% END %]
172
        [% IF add_to_some_public_shelves.count %]
173
            param1 += "<optgroup label=\""+_("Public lists:")+"\">";
174
            [% SET number_of_public_shelves = 0 %]
175
            [% FOREACH s IN add_to_some_public_shelves %]
176
                [% IF shelfnumber != s.shelfnumber %]
177
                    param1 += "<option id=\"s[% s.shelfnumber %]\" value=\"addtolist\">[% s.shelfname |html %]<\/option>";
178
                    [% SET number_of_public_shelves = number_of_public_shelves + 1 %]
179
                    [% IF number_of_public_shelves == 10 %][% LAST %][% END %]
180
                [% END %]
181
            [% END %]
182
            param1 += "<\/optgroup>";
183
        [% END %]
184
        [% IF add_to_some_private_shelves.count > 10 or add_to_some_public_shelves.count > 10 %]
185
            param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
186
        [% END %]
187
        param1 +="<option value=\"newlist\">"+_("[ New list ]")+"<\/option>"
188
    [% END %]
189
    param1 += "<\/select> <button id=\"cartsubmit\" type=\"submit\" class=\"btn btn-default btn-xs\">"+_("Save")+"</button>";
190
    $("span.addto").html(param1);
191
    $("#cartsubmit").on("click",function(e){
192
        cartList();
193
        e.preventDefault();
194
    });
195
    $("#addto").change(function(){
196
        cartList();
197
    });
198
    $(".addto").find("input:submit").click(function(e){
199
        e.preventDefault();
200
        cartList();
201
    });
202
    $("#selection_ops").show();
203
    $(".merge-items").on("click",function(e){
204
        e.preventDefault();
205
        MergeItems();
206
    });
207
    $("#listform").on("submit",function(e){
208
209
    });
210
    $(".list-remove").on("click",function(e){
211
        if($(".selection").filter(":checked").length > 0){
212
            return confirm(MSG_REMOVE_FROM_LIST);
213
        } else {
214
            alert(MSG_NO_ITEM_SELECTED);
215
            e.preventDefault();
216
        }
217
    });
218
});
219
[% END %]
220
221
[% IF shelf AND op == 'edit_form' %]
222
$(document).ready(function(){
223
    AdjustRemark();
224
});
225
[% END %]
226
227
    /**
228
     * This function checks if the adequate number of records are checked for merging
229
     */
230
    function MergeItems() {
231
        var checkboxes = $("input:checkbox:checked");
232
        if (checkboxes.length < 2) {
233
            alert(_("At least two records must be selected for merging."));
234
        } else {
235
            var params = [];
236
            $(checkboxes).each(function() {
237
                params.push('biblionumber=' + $(this).val());
238
            });
239
            var url = '/cgi-bin/koha/cataloguing/merge.pl?' + params.join('&');
240
            location.href = url;
241
        }
242
        return false;
243
    }
244
245
    /**
246
     * This function checks all checkboxes if all are empty,
247
     * or unchecks all if any already checked.
248
     */
249
    function CheckAll(){
250
        var checkboxes = document.getElementsByTagName('input');
251
        var nbCheckbox = checkboxes.length;
252
        var check = areAllChecked();
253
        for(var i=0;i<nbCheckbox;i++){
254
            if(checkboxes[i].getAttribute('type') == "checkbox" ){
255
                checkboxes[i].checked = (check) ? 0 : 1;
256
            }
257
        }
258
    }
259
    /**
260
     * This function returns true if ALL checkboxes are checked
261
     */
262
    function areAllChecked(){
263
        var checkboxes = document.getElementsByTagName('input');
264
        var nbCheckbox = checkboxes.length;
265
        for(var i=0;i<nbCheckbox;i++){
266
            if(checkboxes[i].getAttribute('type') == "checkbox" ){
267
                if(checkboxes[i].checked == 0){
268
                    return false;
269
                }
270
            }
271
        }
272
        return true;
273
    }
274
275
function placeHold () {
276
    var checkedItems = $(".selection:checked");
277
    if ($(checkedItems).size() == 0) {
278
        alert(MSG_NO_ITEM_SELECTED);
279
        return false;
280
    }
281
    var bibs = "";
282
    $(checkedItems).each(function() {
283
        bibs += $(this).val() + "/";
284
    });
285
    $("#hold_form_biblios").val(bibs);
286
    $("#hold_form").submit();
287
    return false;
288
}
289
290
    function cartList(){
291
        var checkboxes = $("#searchresults").find(":checkbox");
292
        var vshelf = vShelfAdd(checkboxes);
293
        if($("#addto").find("option:selected").attr("value") == "addtolist"){
294
            var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
295
            if (vshelf) {
296
                 openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?shelfnumber='+shelfnumber+'&confirm=1&' + vshelf,'popup',500,500);
297
            }
298
            return false;
299
        } else if($("#addto").find("option:selected").attr("value") == "newlist"){
300
            if (vshelf) {
301
                openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?newshelf=1&' + vshelf,'popup',500,500);
302
            }
303
            return false;
304
        } else if($("#addto").find("option:selected").attr("value") == "morelists"){
305
            if (vshelf) {
306
                openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?' + vshelf,'popup',500,500);
307
            }
308
            return false;
309
        }
310
        if($("#addto").find("option:selected").attr("value") == "addtocart"){
311
            addMultiple(checkboxes);
312
            return false;
313
        }
314
    }
315
316
function AdjustRemark() {
317
    var category = $("#category").val();
318
    var perms = $("#allow_changes_from").val();
319
320
    if( perms < 2 ) {
321
        $("#anyone_remark").hide();
322
    } else if( category==1 ) {
323
        // If we move to Private (without shares), show Anyone remark
324
        // Note: the number of shares is not tested real-time
325
        [% IF !shelf.is_shared %]
326
            $("#anyone_remark").show();
327
        [% ELSE %]
328
            $("#anyone_remark").hide();
329
        [% END %]
330
    } else { // category==2
331
        $("#anyone_remark").hide();
332
    }
333
}
334
//]]>
335
</script>
336
</head>
30
</head>
31
337
<body id="lists_shelves" class="lists">
32
<body id="lists_shelves" class="lists">
338
[% INCLUDE 'header.inc' %]
33
[% INCLUDE 'header.inc' %]
339
[% INCLUDE 'cat-search.inc' %]
34
[% INCLUDE 'cat-search.inc' %]
Lines 716-719 function AdjustRemark() { Link Here
716
[% END %]
411
[% END %]
717
412
718
</div>
413
</div>
414
415
[% MACRO jsinclude BLOCK %]
416
    [% INCLUDE 'datatables.inc' %]
417
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
418
    [% IF print %]
419
        <script type="text/javascript">
420
            $( document ).ready(function() {
421
                window.print();
422
                setTimeout('window.close()', 1);
423
            });
424
        </script>
425
    [% END %]
426
427
    [% IF op == 'view' %]
428
        <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
429
        <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
430
    [% END %]
431
    <script type="text/javascript">
432
        var MSG_NO_ITEM_SELECTED = _("Nothing is selected.");
433
        var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
434
        var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to remove this list?");
435
436
        [% IF op == 'list' %]
437
            $(document).ready(function(){
438
                [% IF category == PUBLIC %]
439
                    var type = [% PUBLIC %];
440
                [% ELSE %]
441
                    var type = [% PRIVATE %];
442
                [% END %]
443
                var dtListResults = $("#listresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
444
445
                "aaSorting": [[ 5, "asc" ]],
446
                    'bServerSide': true,
447
                    'sAjaxSource': "/cgi-bin/koha/svc/virtualshelves/search",
448
                    'fnServerData': function(sSource, aoData, fnCallback) {
449
                        aoData.push({
450
                            'name': 'type',
451
                            'value': type,
452
                        },{
453
                            'name': 'shelfname',
454
                            'value': $("#searchshelfname_filter").val(),
455
                        },{
456
                            'name': 'owner',
457
                            'value': $("#searchowner_filter").val(),
458
                        },{
459
                            'name': 'sortby',
460
                            'value': $("#searchsortby_filter").val(),
461
                        },{
462
                            'name': 'template_path',
463
                            'value': 'virtualshelves/tables/shelves_results.tt',
464
                        });
465
                        $.ajax({
466
                            'dataType': 'json',
467
                            'type': 'POST',
468
                            'url': sSource,
469
                            'data': aoData,
470
                            'success': function(json){
471
                                fnCallback(json);
472
                            }
473
                        });
474
                    },
475
                    'aoColumns':[
476
                        { 'mDataProp': 'dt_type' },
477
                        { 'mDataProp': 'dt_shelfname' },
478
                        { 'mDataProp': 'dt_count' },
479
                        { 'mDataProp': 'dt_is_shared' },
480
                        { 'mDataProp': 'dt_owner' },
481
                        { 'mDataProp': 'dt_sortby' },
482
                        { 'mDataProp': 'dt_created_on' },
483
                        { 'mDataProp': 'dt_modification_time' },
484
                        { 'mDataProp': 'dt_action', 'bSortable': false, 'sClass': 'actions' }
485
                    ],
486
                    "aoColumnDefs": [
487
                        { "bVisible": false, "aTargets": [ 'NoVisible' ] }
488
                    ],
489
                    'bAutoWidth': false,
490
                    'sPaginationType': 'full_numbers',
491
                    'bFilter': false,
492
                    "bProcessing": true,
493
                    "bSortCellsTop": true
494
                }));
495
496
                dtListResults.fnAddFilters("filter", 750);
497
498
                var tabs = $("#tabs").tabs({
499
                    [% IF category == PUBLIC %]
500
                        active: 1,
501
                    [% ELSE %]
502
                        active: 0,
503
                    [% END %]
504
                    activate: function(e, ui) {
505
                        var active = tabs.tabs("option", "active" );
506
                        if ( active == 0 ) {
507
                            type = [% PRIVATE %];
508
                            dtListResults.fnDraw();
509
                        } else if ( active == 1 ) {
510
                            type = [% PUBLIC %];
511
                            dtListResults.fnDraw();
512
                        }
513
                    }
514
                });
515
                $("body").on("click", ".deleteshelf", function(){
516
                    return confirmDelete(MSG_CONFIRM_DELETE_LIST);
517
                });
518
            });
519
        [% END %]
520
521
        [% IF shelf AND op == 'view' %]
522
            $(document).ready(function(){
523
                [% IF ( itemsloop ) %]$('#searchheader').fixFloat();[% END %]
524
                $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/shelves.pl\"><i class=\"fa fa-remove\"></i>"+_(" Clear all")+"<\/a>");
525
                $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/shelves.pl\"><i class=\"fa fa-check\"></i>"+_(" Select all")+"<\/a>");
526
                $("#CheckAll").click(function(){
527
                    $(".checkboxed").checkCheckboxes();
528
                    return false;
529
                });
530
                $("#CheckNone").click(function(){
531
                    $(".checkboxed").unCheckCheckboxes();
532
                    return false;
533
                });
534
                $(".placehold").on("click",function(e){
535
                    placeHold();
536
                    e.preventDefault();
537
                });
538
                $(".addtocart").show();
539
                var param1 = "| <label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
540
                [% IF ( intranetbookbag ) %]
541
                     param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
542
                [% END %]
543
                [% IF Koha.Preference('virtualshelves') %]
544
                    [% IF add_to_some_private_shelves.count %]
545
                        param1 += "<optgroup label=\""+_("Your lists:")+"\">";
546
                        [% SET number_of_private_shelves = 0 %]
547
                        [% FOREACH s IN add_to_some_private_shelves %]
548
                            [% IF shelfnumber != s.shelfnumber %]
549
                                param1 += "<option id=\"s[% s.shelfnumber %]\" value=\"addtolist\">[% s.shelfname |html %]<\/option>";
550
                                [% SET number_of_private_shelves = number_of_private_shelves + 1 %]
551
                                [% IF number_of_private_shelves == 10 %][% LAST %][% END %]
552
                            [% END %]
553
                        [% END %]
554
                        param1 += "<\/optgroup>";
555
                    [% END %]
556
                    [% IF add_to_some_public_shelves.count %]
557
                        param1 += "<optgroup label=\""+_("Public lists:")+"\">";
558
                        [% SET number_of_public_shelves = 0 %]
559
                        [% FOREACH s IN add_to_some_public_shelves %]
560
                            [% IF shelfnumber != s.shelfnumber %]
561
                                param1 += "<option id=\"s[% s.shelfnumber %]\" value=\"addtolist\">[% s.shelfname |html %]<\/option>";
562
                                [% SET number_of_public_shelves = number_of_public_shelves + 1 %]
563
                                [% IF number_of_public_shelves == 10 %][% LAST %][% END %]
564
                            [% END %]
565
                        [% END %]
566
                        param1 += "<\/optgroup>";
567
                    [% END %]
568
                    [% IF add_to_some_private_shelves.count > 10 or add_to_some_public_shelves.count > 10 %]
569
                        param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
570
                    [% END %]
571
                    param1 +="<option value=\"newlist\">"+_("[ New list ]")+"<\/option>"
572
                [% END %]
573
                param1 += "<\/select> <button id=\"cartsubmit\" type=\"submit\" class=\"btn btn-default btn-xs\">"+_("Save")+"</button>";
574
                $("span.addto").html(param1);
575
                $("#cartsubmit").on("click",function(e){
576
                    cartList();
577
                    e.preventDefault();
578
                });
579
                $("#addto").change(function(){
580
                    cartList();
581
                });
582
                $(".addto").find("input:submit").click(function(e){
583
                    e.preventDefault();
584
                    cartList();
585
                });
586
                $("#selection_ops").show();
587
                $(".merge-items").on("click",function(e){
588
                    e.preventDefault();
589
                    MergeItems();
590
                });
591
                $("#listform").on("submit",function(e){
592
593
                });
594
                $(".list-remove").on("click",function(e){
595
                    if($(".selection").filter(":checked").length > 0){
596
                        return confirm(MSG_REMOVE_FROM_LIST);
597
                    } else {
598
                        alert(MSG_NO_ITEM_SELECTED);
599
                        e.preventDefault();
600
                    }
601
                });
602
            });
603
        [% END %]
604
605
        [% IF shelf AND op == 'edit_form' %]
606
            $(document).ready(function(){
607
                AdjustRemark();
608
            });
609
        [% END %]
610
611
        /**
612
         * This function checks if the adequate number of records are checked for merging
613
         */
614
        function MergeItems() {
615
            var checkboxes = $("input:checkbox:checked");
616
            if (checkboxes.length < 2) {
617
                alert(_("At least two records must be selected for merging."));
618
            } else {
619
                var params = [];
620
                $(checkboxes).each(function() {
621
                    params.push('biblionumber=' + $(this).val());
622
                });
623
                var url = '/cgi-bin/koha/cataloguing/merge.pl?' + params.join('&');
624
                location.href = url;
625
            }
626
            return false;
627
        }
628
629
        /**
630
         * This function checks all checkboxes if all are empty,
631
         * or unchecks all if any already checked.
632
         */
633
        function CheckAll(){
634
            var checkboxes = document.getElementsByTagName('input');
635
            var nbCheckbox = checkboxes.length;
636
            var check = areAllChecked();
637
            for(var i=0;i<nbCheckbox;i++){
638
                if(checkboxes[i].getAttribute('type') == "checkbox" ){
639
                    checkboxes[i].checked = (check) ? 0 : 1;
640
                }
641
            }
642
        }
643
        /**
644
         * This function returns true if ALL checkboxes are checked
645
         */
646
        function areAllChecked(){
647
            var checkboxes = document.getElementsByTagName('input');
648
            var nbCheckbox = checkboxes.length;
649
            for(var i=0;i<nbCheckbox;i++){
650
                if(checkboxes[i].getAttribute('type') == "checkbox" ){
651
                    if(checkboxes[i].checked == 0){
652
                        return false;
653
                    }
654
                }
655
            }
656
            return true;
657
        }
658
659
        function placeHold () {
660
            var checkedItems = $(".selection:checked");
661
            if ($(checkedItems).size() == 0) {
662
                alert(MSG_NO_ITEM_SELECTED);
663
                return false;
664
            }
665
            var bibs = "";
666
            $(checkedItems).each(function() {
667
                bibs += $(this).val() + "/";
668
            });
669
            $("#hold_form_biblios").val(bibs);
670
            $("#hold_form").submit();
671
            return false;
672
        }
673
674
        function cartList(){
675
            var checkboxes = $("#searchresults").find(":checkbox");
676
            var vshelf = vShelfAdd(checkboxes);
677
            if($("#addto").find("option:selected").attr("value") == "addtolist"){
678
                var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
679
                if (vshelf) {
680
                     openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?shelfnumber='+shelfnumber+'&confirm=1&' + vshelf,'popup',500,500);
681
                }
682
                return false;
683
            } else if($("#addto").find("option:selected").attr("value") == "newlist"){
684
                if (vshelf) {
685
                    openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?newshelf=1&' + vshelf,'popup',500,500);
686
                }
687
                return false;
688
            } else if($("#addto").find("option:selected").attr("value") == "morelists"){
689
                if (vshelf) {
690
                    openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?' + vshelf,'popup',500,500);
691
                }
692
                return false;
693
            }
694
            if($("#addto").find("option:selected").attr("value") == "addtocart"){
695
                addMultiple(checkboxes);
696
                return false;
697
            }
698
        }
699
700
        function AdjustRemark() {
701
            var category = $("#category").val();
702
            var perms = $("#allow_changes_from").val();
703
704
            if( perms < 2 ) {
705
                $("#anyone_remark").hide();
706
            } else if( category==1 ) {
707
                // If we move to Private (without shares), show Anyone remark
708
                // Note: the number of shares is not tested real-time
709
                [% IF !shelf.is_shared %]
710
                    $("#anyone_remark").show();
711
                [% ELSE %]
712
                    $("#anyone_remark").hide();
713
                [% END %]
714
            } else { // category==2
715
                $("#anyone_remark").hide();
716
            }
717
        }
718
        [% IF op == 'view' %]
719
720
            function sendList(){
721
                open(CGIBIN+'virtualshelves/sendshelf.pl?shelfid=[% shelf.shelfnumber %]','win_form','scrollbars=no,resizable=no,height=300,width=450,top=50,left=100');
722
             }
723
724
             $(document).ready(function() {
725
                $("#sendlist").click(function(){
726
                    sendList();
727
                    return false;
728
                });
729
                $("#deleteshelf").click(function(e){
730
                    if(confirm(_("Are you sure you want to delete this list?"))){
731
                        return true;
732
                    } else {
733
                        e.preventDefault();
734
                    }
735
                });
736
             });
737
738
        [% END %]
739
    </script>
740
[% END %]
741
719
[% INCLUDE 'intranet-bottom.inc' %]
742
[% INCLUDE 'intranet-bottom.inc' %]
720
- 

Return to bug 19657