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

(-)a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js (-138 / +173 lines)
Lines 22-224 function disableGrouping(datatable) { Link Here
22
    }
22
    }
23
}
23
}
24
24
25
var mRenders = {
25
var renderers = {
26
    groupOrder: function (oData, sType, oObj) {
26
    groupOrder: function (data, type, row) {
27
        if ( oObj.issued_today ) {
27
        if ( row.issued_today ) {
28
            return "1";
28
            return "1";
29
        } else {
29
        } else {
30
            return "0";
30
            return "0";
31
        }
31
        }
32
    },
32
    },
33
    groupName: function (oData, sType, oObj) {
33
    groupName: function (data, type, row) {
34
        if (oObj.issued_today) {
34
        if (row.issued_today) {
35
            return "<strong>" + TODAYS_CHECKOUTS + "</strong>";
35
            return "<strong>" + TODAYS_CHECKOUTS + "</strong>";
36
        } else {
36
        } else {
37
            return "<strong>" + PREVIOUS_CHECKOUTS + "</strong>";
37
            return "<strong>" + PREVIOUS_CHECKOUTS + "</strong>";
38
        }
38
        }
39
    },
39
    },
40
    dateDueFormatted: function (oData, sType, oObj) {
40
    dateDueFormatted: function (data, type, row) {
41
        var due = oObj.date_due_formatted;
41
        var due = row.date_due_formatted;
42
42
43
        if ( oObj.date_due_overdue ) {
43
        if ( row.date_due_overdue ) {
44
            due = "<span class='overdue'>" + due + "</span>";
44
            due = "<span class='overdue'>" + due + "</span>";
45
        }
45
        }
46
46
47
        due = "<span id='date_due_" + oObj.itemnumber + "' class='date_due'>" + due + "</span>";
47
        due = "<span id='date_due_" + row.itemnumber + "' class='date_due'>" + due + "</span>";
48
48
49
        if ( oObj.lost ) {
49
        if ( row.lost ) {
50
            due += "<span class='lost'>" + oObj.lost + "</span>";
50
            due += "<span class='lost'>" + row.lost + "</span>";
51
        }
51
        }
52
52
53
        if ( oObj.damaged ) {
53
        if ( row.damaged ) {
54
            due += "<span class='dmg'>" + oObj.damaged + "</span>";
54
            due += "<span class='dmg'>" + row.damaged + "</span>";
55
        }
55
        }
56
56
57
        return due;
57
        return due;
58
    },
58
    },
59
    title: function (oData, sType, oObj) {
59
    title: function (data, type, row) {
60
        var title = "<span class='strong'><a href='/cgi-bin/koha/catalogue/detail.pl?biblionumber="
60
        var title = "<span class='strong'><a href='/cgi-bin/koha/catalogue/detail.pl?biblionumber="
61
              + oObj.biblionumber
61
              + row.biblionumber
62
              + "'>"
62
              + "'>"
63
              + oObj.title;
63
              + row.title;
64
64
65
        $.each(oObj.subtitle, function( index, value ) {
65
        $.each(row.subtitle, function( index, value ) {
66
                  title += " " + value.subfield;
66
                  title += " " + value.subfield;
67
        });
67
        });
68
68
69
        if ( oObj.enumchron ) {
69
        if ( row.enumchron ) {
70
            title += " (" + oObj.enumchron + ")";
70
            title += " (" + row.enumchron + ")";
71
        }
71
        }
72
72
73
        title += "</a></span>";
73
        title += "</a></span>";
74
74
75
        if ( oObj.author ) {
75
        if ( row.author ) {
76
            title += " " + BY.replace( "_AUTHOR_",  " " + oObj.author );
76
            title += " " + BY.replace( "_AUTHOR_",  " " + row.author );
77
        }
77
        }
78
78
79
        if ( oObj.itemnotes ) {
79
        if ( row.itemnotes ) {
80
            var span_class = "text-muted";
80
            var span_class = "text-muted";
81
            title += " - <span class='" + span_class + "'>" + oObj.itemnotes + "</span>"
81
            title += " - <span class='" + span_class + "'>" + row.itemnotes + "</span>"
82
        }
82
        }
83
83
84
        if ( oObj.itemnotes_nonpublic ) {
84
        if ( row.itemnotes_nonpublic ) {
85
            var span_class = "text-danger";
85
            var span_class = "text-danger";
86
            if ( $.datepicker.formatDate('yy-mm-dd', new Date(oObj.issuedate) ) == ymd ) {
86
            title += " - <span class='" + span_class + "'>" + row.itemnotes_nonpublic + "</span>"
87
                span_class = "circ-hlt";
88
            }
89
            title += " - <span class='" + span_class + "'>" + oObj.itemnotes_nonpublic + "</span>"
90
        }
87
        }
91
88
92
        var onsite_checkout = '';
89
        var onsite_checkout = '';
93
        if ( oObj.onsite_checkout == 1 ) {
90
        if ( row.onsite_checkout == 1 ) {
94
            onsite_checkout += " <span class='onsite_checkout'>(" + INHOUSE_USE + ")</span>";
91
            onsite_checkout += " <span class='onsite_checkout'>(" + INHOUSE_USE + ")</span>";
95
        }
92
        }
96
93
97
        title += " "
94
        title += " "
98
              + "<a href='/cgi-bin/koha/catalogue/moredetail.pl?biblionumber="
95
              + "<a href='/cgi-bin/koha/catalogue/moredetail.pl?biblionumber="
99
              + oObj.biblionumber
96
              + row.biblionumber
100
              + "&itemnumber="
97
              + "&itemnumber="
101
              + oObj.itemnumber
98
              + row.itemnumber
102
              + "#"
99
              + "#"
103
              + oObj.itemnumber
100
              + row.itemnumber
104
              + "'>"
101
              + "'>"
105
              + oObj.barcode
102
              + row.barcode
106
              + "</a>"
103
              + "</a>"
107
              + onsite_checkout;
104
              + onsite_checkout;
108
105
109
        return title;
106
        return title;
110
    },
107
    },
111
    itemtype: function (oData, sType, oObj) {
108
    itemtype: function (data, type, row) {
112
        return oObj.itemtype_description;
109
        return row.itemtype_description;
113
    },
110
    },
114
    issuedate: function (oData, sType, oObj) {
111
    issuedate: function (data, type, row) {
115
        return oObj.issuedate_formatted;
112
        return row.issuedate_formatted;
116
    },
113
    },
117
    branch: function (oData, sType, oObj) {
114
    branch: function (data, type, row) {
118
        return oObj.branchname;
115
        return row.branchname;
119
    },
116
    },
120
    charge: function (oData, sType, oObj) {
117
    charge: function (data, type, row) {
121
        if (!oObj.charge) oObj.charge = 0;
118
        if (!row.charge) row.charge = 0;
122
        return '<span style="text-align: right; display: block;">' + parseFloat(oObj.charge).toFixed(2) + '<span>';
119
        return '<span style="text-align: right; display: block;">' + parseFloat(row.charge).toFixed(2) + '<span>';
123
    },
120
    },
124
    fine: function (oData, sType, oObj) {
121
    fine: function (data, type, row) {
125
        if (!oObj.fine) oObj.fine = 0;
122
        if (!row.fine) row.fine = 0;
126
        return '<span style="text-align: right; display: block;">' + parseFloat(oObj.fine).toFixed(2)  + '<span>';
123
        return '<span style="text-align: right; display: block;">' + parseFloat(row.fine).toFixed(2)  + '<span>';
127
    },
124
    },
128
    price: function (oData, sType, oObj) {
125
    price: function (data, type, row) {
129
        if (!oObj.price) oObj.price = 0;
126
        if (!row.price) row.price = 0;
130
        return parseFloat(oObj.price).toFixed(2);
127
        return parseFloat(row.price).toFixed(2);
131
    },
128
    },
132
    renew: function (oData, sType, oObj) {
129
    renew: function (data, type, row) {
133
        var content = "";
130
        var content = "";
134
        var span_style = "";
131
        var span_style = "";
135
        var span_class = "";
132
        var span_class = "";
136
133
137
        content += "<span>";
134
        content += "<span>";
138
        content += "<span style='padding: 0 1em;'>" + oObj.renewals_count + "</span>";
135
        content += "<span style='padding: 0 1em;'>" + row.renewals_count + "</span>";
139
136
140
        if ( oObj.can_renew ) {
137
        if ( row.can_renew ) {
141
            // Do nothing
138
            // Do nothing
142
        } else if ( oObj.can_renew_error == "on_reserve" ) {
139
        } else if ( row.can_renew_error == "on_reserve" ) {
143
            content += "<span class='renewals-disabled-no-override'>"
140
            content += "<span class='renewals-disabled-no-override'>"
144
                    + "<a href='/cgi-bin/koha/reserve/request.pl?biblionumber=" + oObj.biblionumber + "'>" + ON_HOLD + "</a>"
141
                    + "<a href='/cgi-bin/koha/reserve/request.pl?biblionumber=" + row.biblionumber + "'>" + ON_HOLD + "</a>"
145
                    + "</span>";
142
                    + "</span>";
146
143
147
            span_style = "display: none";
144
            span_style = "display: none";
148
            span_class = "renewals-allowed";
145
            span_class = "renewals-allowed";
149
        } else if ( oObj.can_renew_error == "too_many" ) {
146
        } else if ( row.can_renew_error == "too_many" ) {
150
            content += "<span class='renewals-disabled'>"
147
            content += "<span class='renewals-disabled'>"
151
                    + NOT_RENEWABLE
148
                    + NOT_RENEWABLE
152
                    + "</span>";
149
                    + "</span>";
153
150
154
            span_style = "display: none";
151
            span_style = "display: none";
155
            span_class = "renewals-allowed";
152
            span_class = "renewals-allowed";
156
        } else if ( oObj.can_renew_error == "restriction" ) {
153
        } else if ( row.can_renew_error == "restriction" ) {
157
            content += "<span class='renewals-disabled'>"
154
            content += "<span class='renewals-disabled'>"
158
                    + NOT_RENEWABLE_RESTRICTION
155
                    + NOT_RENEWABLE_RESTRICTION
159
                    + "</span>";
156
                    + "</span>";
160
157
161
            span_style = "display: none";
158
            span_style = "display: none";
162
            span_class = "renewals-allowed";
159
            span_class = "renewals-allowed";
163
        } else if ( oObj.can_renew_error == "overdue" ) {
160
        } else if ( row.can_renew_error == "overdue" ) {
164
            content += "<span class='renewals-disabled'>"
161
            content += "<span class='renewals-disabled'>"
165
                    + NOT_RENEWABLE_OVERDUE
162
                    + NOT_RENEWABLE_OVERDUE
166
                    + "</span>";
163
                    + "</span>";
167
164
168
            span_style = "display: none";
165
            span_style = "display: none";
169
            span_class = "renewals-allowed";
166
            span_class = "renewals-allowed";
170
        } else if ( oObj.can_renew_error == "too_soon" ) {
167
        } else if ( row.can_renew_error == "too_soon" ) {
171
            content += "<span class='renewals-disabled'>"
168
            content += "<span class='renewals-disabled'>"
172
                    + NOT_RENEWABLE_TOO_SOON.format( oObj.can_renew_date )
169
                    + NOT_RENEWABLE_TOO_SOON.format( row.can_renew_date )
173
                    + "</span>";
170
                    + "</span>";
174
171
175
            span_style = "display: none";
172
            span_style = "display: none";
176
            span_class = "renewals-allowed";
173
            span_class = "renewals-allowed";
177
        } else if ( oObj.can_renew_error == "auto_too_soon" ) {
174
        } else if ( row.can_renew_error == "auto_too_soon" ) {
178
            content += "<span class='renewals-disabled'>"
175
            content += "<span class='renewals-disabled'>"
179
                    + NOT_RENEWABLE_AUTO_TOO_SOON
176
                    + NOT_RENEWABLE_AUTO_TOO_SOON
180
                    + "</span>";
177
                    + "</span>";
181
178
182
            span_style = "display: none";
179
            span_style = "display: none";
183
            span_class = "renewals-allowed";
180
            span_class = "renewals-allowed";
184
        } else if ( oObj.can_renew_error == "auto_too_late" ) {
181
        } else if ( row.can_renew_error == "auto_too_late" ) {
185
            content += "<span class='renewals-disabled'>"
182
            content += "<span class='renewals-disabled'>"
186
                    + NOT_RENEWABLE_AUTO_TOO_LATE
183
                    + NOT_RENEWABLE_AUTO_TOO_LATE
187
                    + "</span>";
184
                    + "</span>";
188
185
189
            span_style = "display: none";
186
            span_style = "display: none";
190
            span_class = "renewals-allowed";
187
            span_class = "renewals-allowed";
191
        } else if ( oObj.can_renew_error == "auto_renew" ) {
188
        } else if ( row.can_renew_error == "auto_renew" ) {
192
            content += "<span class='renewals-disabled'>"
189
            content += "<span class='renewals-disabled'>"
193
                    + NOT_RENEWABLE_AUTO_RENEW
190
                    + NOT_RENEWABLE_AUTO_RENEW
194
                    + "</span>";
191
                    + "</span>";
195
192
196
            span_style = "display: none";
193
            span_style = "display: none";
197
            span_class = "renewals-allowed";
194
            span_class = "renewals-allowed";
198
        } else if ( oObj.can_renew_error == "onsite_checkout" ) {
195
        } else if ( row.can_renew_error == "onsite_checkout" ) {
199
            // Don't display something if it's an onsite checkout
196
            // Don't display something if it's an onsite checkout
200
        } else {
197
        } else {
201
            content += "<span class='renewals-disabled'>"
198
            content += "<span class='renewals-disabled'>"
202
                    + oObj.can_renew_error
199
                    + row.can_renew_error
203
                    + "</span>";
200
                    + "</span>";
204
201
205
            span_style = "display: none";
202
            span_style = "display: none";
206
            span_class = "renewals-allowed";
203
            span_class = "renewals-allowed";
207
        }
204
        }
208
205
209
        var can_force_renew = ( oObj.onsite_checkout == 0 ) && ( oObj.can_renew_error != "on_reserve" );
206
        var can_force_renew = ( row.onsite_checkout == 0 ) && ( row.can_renew_error != "on_reserve" );
210
        var can_renew = ( oObj.renewals_remaining > 0  && !oObj.can_renew_error );
207
        var can_renew = ( row.renewals_remaining > 0  && !row.can_renew_error );
211
        if ( can_renew || can_force_renew ) {
208
        if ( can_renew || can_force_renew ) {
212
            content += "<span class='" + span_class + "' style='" + span_style + "'>"
209
            content += "<span class='" + span_class + "' style='" + span_style + "'>"
213
                    +  "<input type='checkbox' ";
210
                    +  "<input type='checkbox' ";
214
            if ( oObj.date_due_overdue && can_renew ) {
211
            if ( row.date_due_overdue && can_renew ) {
215
                content += "checked='checked' ";
212
                content += "checked='checked' ";
216
            }
213
            }
217
            content += "class='renew' id='renew_" + oObj.itemnumber + "' name='renew' value='" + oObj.itemnumber +"'/>"
214
            content += "class='renew' id='renew_" + row.itemnumber + "' name='renew' value='" + row.itemnumber +"'/>"
218
                    +  "</span>";
215
                    +  "</span>";
219
216
220
            content += "<span class='renewals'>("
217
            content += "<span class='renewals'>("
221
                    + RENEWALS_REMAINING.format( oObj.renewals_remaining, oObj.renewals_allowed )
218
                    + RENEWALS_REMAINING.format( row.renewals_remaining, row.renewals_allowed )
222
                    + ")</span>";
219
                    + ")</span>";
223
        }
220
        }
224
221
Lines 226-247 var mRenders = { Link Here
226
223
227
        return content;
224
        return content;
228
    },
225
    },
229
    checkin: function (oData, sType, oObj) {
226
    checkin: function (data, type, row) {
230
        if (oObj.can_renew_error == "on_reserve") {
227
        if (row.can_renew_error == "on_reserve") {
231
            return "<a href='/cgi-bin/koha/reserve/request.pl?biblionumber=" + oObj.biblionumber + "'>" + ON_HOLD + "</a>";
228
            return "<a href='/cgi-bin/koha/reserve/request.pl?biblionumber=" + row.biblionumber + "'>" + ON_HOLD + "</a>";
232
        } else {
229
        } else {
233
            return "<input type='checkbox' class='checkin' id='checkin_" + oObj.itemnumber + "' name='checkin' value='" + oObj.itemnumber +"'></input>";
230
            return "<input type='checkbox' class='checkin' id='checkin_" + row.itemnumber + "' name='checkin' value='" + row.itemnumber +"'></input>";
234
        }
231
        }
235
    },
232
    },
236
    export: function (oData, sType, oObj) {
233
    export: function (data, type, row) {
237
        var s = "<input type='checkbox' name='itemnumbers' value='" + oObj.itemnumber + "' style='visibility:hidden;' />";
234
        var s = "<input type='checkbox' name='itemnumbers' value='" + row.itemnumber + "' style='visibility:hidden;' />";
238
235
239
        s += "<input type='checkbox' class='export' id='export_" + oObj.biblionumber + "' name='biblionumbers' value='" + oObj.biblionumber + "' />";
236
        s += "<input type='checkbox' class='export' id='export_" + row.biblionumber + "' name='biblionumbers' value='" + row.biblionumber + "' />";
240
        return s;
237
        return s;
241
    },
238
    },
242
    patron: function (oData, sType, oObj) {
239
    patron: function (data, type, row) {
243
        return "<a href='/cgi-bin/koha/members/moremember.pl?borrowernumber=" + oObj.borrowernumber + "'>"
240
        return "<a href='/cgi-bin/koha/members/moremember.pl?borrowernumber=" + row.borrowernumber + "'>"
244
             + oObj.borrower.firstname + " " + oObj.borrower.surname + " (" + oObj.borrower.cardnumber + ")</a>"
241
             + row.borrower.firstname + " " + row.borrower.surname + " (" + row.borrower.cardnumber + ")</a>"
245
    }
242
    }
246
};
243
};
247
244
Lines 429-442 $(document).ready(function() { Link Here
429
            "sPaginationType": "four_button",
426
            "sPaginationType": "four_button",
430
            "dom": 'B<"clearfix"><"top pager"ilp>rt',
427
            "dom": 'B<"clearfix"><"top pager"ilp>rt',
431
            "aaSorting": [],
428
            "aaSorting": [],
432
            "aoColumns": [
429
            "columns": [
433
                {
430
                {
434
                    "mData": "issued_today",
431
                    "data": "issued_today",
435
                    "mRender": mRenders.groupOrder
432
                    "render": renderers.groupOrder
436
                },
433
                },
437
                {
434
                {
438
                    "mData": function (oObj) {
435
                    "data": function (row) {
439
                        if (oObj.issued_today) {
436
                        if (row.issued_today) {
440
                            return "<strong>" + TODAYS_CHECKOUTS + "</strong>";
437
                            return "<strong>" + TODAYS_CHECKOUTS + "</strong>";
441
                        } else {
438
                        } else {
442
                            return "<strong>" + PREVIOUS_CHECKOUTS + "</strong>";
439
                            return "<strong>" + PREVIOUS_CHECKOUTS + "</strong>";
Lines 444-500 $(document).ready(function() { Link Here
444
                    }
441
                    }
445
                },
442
                },
446
                {
443
                {
447
                    "mData": "date_due",
444
                    "data": "date_due",
448
                    "mRender": mRenders.dateDueFormatted
445
                    "render": {
446
                        "display": renderers.dateDueFormatted
447
                    }
449
                },
448
                },
450
                {
449
                {
451
                    "mData": "title",
450
                    "data": "title",
452
                    "mRender": mRenders.title
451
                    "render": {
452
                        "display": renderers.title
453
                    }
453
                },
454
                },
454
                {
455
                {
455
                    "mData": "itemtype",
456
                    "data": "itemtype",
456
                    "mRender": mRenders.itemtype
457
                    "render": {
458
                        "display": renderers.itemtype
459
                    }
457
                },
460
                },
458
                { "mData": "location" },
461
                { "data": "location" },
459
                { "mData": "homebranch" },
462
                { "data": "homebranch" },
460
                {
463
                {
461
                    "mData": "issuedate",
464
                    "data": "issuedate",
462
                    "mRender": mRenders.issuedate
465
                    "render": {
466
                        "display": renderers.issuedate
467
                    }
463
                },
468
                },
464
                {
469
                {
465
                    "mData": "branchcode",
470
                    "data": "branchcode",
466
                    "mRender": mRenders.branch
471
                    "render": {
472
                        "display": renderers.branch
473
                    }
467
                },
474
                },
468
                { "mData": "itemcallnumber" },
475
                { "data": "itemcallnumber" },
469
                {
476
                {
470
                    "mData": "charge",
477
                    "data": "charge",
471
                    "mRender": mRenders.charge,
478
                    "render": {
472
                    "bSortable": ServerSideCheckoutsTables ? false : true
479
                        "display": renderers.charge
480
                    },
481
                    "orderable": ServerSideCheckoutsTables ? false : true
473
                },
482
                },
474
                {
483
                {
475
                    "mData": "fine",
484
                    "data": "fine",
476
                    "mRender": mRenders.fine,
485
                    "render": {
477
                    "bSortable": ServerSideCheckoutsTables ? false : true
486
                        "display": renderers.fine
487
                    },
488
                    "orderable": ServerSideCheckoutsTables ? false : true
478
                },
489
                },
479
                {
490
                {
480
                    "mData": "replacementprice",
491
                    "data": "price",
481
                    "mRender": mRenders.price,
492
                    "render": {
482
                    "bSortable": ServerSideCheckoutsTables ? false : true
493
                        "display": renderers.price
494
                    },
495
                    "orderable": ServerSideCheckoutsTables ? false : true
483
                },
496
                },
484
                {
497
                {
485
                    "bVisible": AllowCirculate ? true : false,
498
                    "data": null,
486
                    "mRender": mRenders.renew,
499
                    "render": {
487
                    "bSortable": false
500
                        "display": renderers.renew
501
                    },
502
                    "visible": AllowCirculate ? true : false,
503
                    "orderable": false
488
                },
504
                },
489
                {
505
                {
490
                    "bVisible": AllowCirculate ? true : false,
506
                    "data": null,
491
                    "mRender": mRenders.checkin,
507
                    "render": {
492
                    "bSortable": false
508
                        "display": renderers.checkin
509
                    },
510
                    "visible": AllowCirculate ? true : false,
511
                    "orderable": false
493
                },
512
                },
494
                {
513
                {
495
                    "bVisible": exports_enabled ? true : false,
514
                    "data": null,
496
                    "bSortable": false,
515
                    "render": {
497
                    "mRender": mRenders.export
516
                        "display": renderers.export
517
                    },
518
                    "visible": exports_enabled ? true : false,
519
                    "orderable": false
498
                }
520
                }
499
            ],
521
            ],
500
            "fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {
522
            "fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {
Lines 561-602 $(document).ready(function() { Link Here
561
                },
583
                },
562
                "bPaginate": true,
584
                "bPaginate": true,
563
                "sPaginationType": "four_button",
585
                "sPaginationType": "four_button",
564
                "aoColumns": [
586
                "columns": [
565
                    {
587
                    {
566
                        "mData": "date_due",
588
                        "data": "date_due",
567
                        "mRender": mRenders.dateDueFormatted
589
                        "render": {
590
                            "display": renderers.dateDueFormatted
591
                        }
568
                    },
592
                    },
569
                    {
593
                    {
570
                        "mData": "title",
594
                        "data": "title",
571
                        "mRender": mRenders.title,
595
                        "render": {
596
                            "display": renderers.title
597
                        }
572
                    },
598
                    },
573
                    { "mData": "itemtype" },
599
                    { "data": "itemtype" },
574
                    { "mData": "location" },
600
                    { "data": "location" },
575
                    {
601
                    {
576
                        "mData": "issuedate",
602
                        "data": "issuedate",
577
                        "mRender": mRenders.issuedate
603
                        "render": {
604
                            "display": renderers.issuedate
605
                        }
578
                    },
606
                    },
579
                    { "mData": "branchname" },
607
                    { "data": "branchname" },
580
                    { "mData": "itemcallnumber" },
608
                    { "data": "itemcallnumber" },
581
                    {
609
                    {
582
                        "mData": "charge",
610
                        "data": "charge",
583
                        "mRender": mRenders.charge,
611
                        "render": {
584
                        "bSortable": ServerSideCheckoutsTables ? false : true
612
                            "display": renderers.charge
613
                        },
614
                        "orderable": ServerSideCheckoutsTables ? false : true
585
                    },
615
                    },
586
                    {
616
                    {
587
                        "mData": "fine",
617
                        "data": "fine",
588
                        "mRender": mRenders.fine,
618
                        "render": {
589
                        "bSortable": ServerSideCheckoutsTables ? false : true
619
                            "display": renderers.fine
620
                        },
621
                        "orderable": ServerSideCheckoutsTables ? false : true
590
                    },
622
                    },
591
                    {
623
                    {
592
                        "mData": "replacementprice",
624
                        "data": "replacementprice",
593
                        "mRender": mRenders.price,
625
                        "render": {
594
                        "bSortable": ServerSideCheckoutsTables ? false : true
626
                            "display": renderers.price
627
                        },
628
                        "orderable": ServerSideCheckoutsTables ? false : true
595
                    },
629
                    },
596
                    {
630
                    {
597
                        "mData": "borrowernumber",
631
                        "data": "borrowernumber",
598
                        "mRender": mRenders.patron,
632
                        "render": {
599
                        "bSortable": ServerSideCheckoutsTables ? false : true
633
                            "display": renderers.patron
634
                        },
635
                        "orderable": ServerSideCheckoutsTables ? false : true
600
                    }
636
                    }
601
                ]
637
                ]
602
            }, relatives_columns_settings);
638
            }, relatives_columns_settings);
603
- 

Return to bug 15219