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

(-)a/acqui/booksellers.pl (+11 lines)
Lines 156-166 for my $vendor (@suppliers) { Link Here
156
      };
156
      };
157
157
158
}
158
}
159
160
my $sessionID = $query->cookie('CGISESSID');
161
my $session = C4::Auth::get_session($sessionID);
162
my $view = $query->param('view');
163
if ( $view ) {
164
    $session->param('bookseller_default_view', $view);
165
} else {
166
    $view = $session->param('bookseller_default_view');
167
}
168
159
$template->param(
169
$template->param(
160
    loop_suppliers => $loop_suppliers,
170
    loop_suppliers => $loop_suppliers,
161
    supplier       => ( $booksellerid || $supplier ),
171
    supplier       => ( $booksellerid || $supplier ),
162
    count          => $supplier_count,
172
    count          => $supplier_count,
163
    has_budgets          => $has_budgets,
173
    has_budgets          => $has_budgets,
174
    view           => $view,
164
);
175
);
165
$template->{VARS}->{'allbaskets'} = $allbaskets;
176
$template->{VARS}->{'allbaskets'} = $allbaskets;
166
177
(-)a/koha-tmpl/intranet-tmpl/prog/css/datatables.css (+17 lines)
Lines 251-256 table.group td.group { Link Here
251
    background-color: #D1CFD0;
251
    background-color: #D1CFD0;
252
    border-bottom: 2px solid #A19B9E;
252
    border-bottom: 2px solid #A19B9E;
253
    border-top: 2px solid #A19B9E;
253
    border-top: 2px solid #A19B9E;
254
    font-weight: bold;
255
}
256
257
table.group tr.odd td {
258
    background-color : #F3F3F3;
259
    border : 1px solid #BCBCBC;
260
    border-right : 1px solid #BCBCBC;
261
}
262
263
table.group tr.even td {
264
    background-color: #FFF;
265
    border-right : 1px solid #BCBCBC;
266
}
267
268
table.group td.group .action {
269
    float: right;
270
    font-weight: normal;
254
}
271
}
255
272
256
table.group tr.odd td {
273
table.group tr.odd td {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt (-135 / +230 lines)
Lines 2-29 Link Here
2
[% INCLUDE 'doc-head-open.inc' %]
2
[% INCLUDE 'doc-head-open.inc' %]
3
<title>Koha &rsaquo; Search for vendor [% supplier %]</title>
3
<title>Koha &rsaquo; Search for vendor [% supplier %]</title>
4
[% INCLUDE 'doc-head-close.inc' %]
4
[% INCLUDE 'doc-head-close.inc' %]
5
<style type="text/css">
6
#vendors td{
7
	vertical-align: top;
8
}
9
</style>
10
<link rel="stylesheet" href="[% interface %]/[% theme %]/css/datatables.css" />
5
<link rel="stylesheet" href="[% interface %]/[% theme %]/css/datatables.css" />
6
[% INCLUDE 'calendar.inc' %]
11
[% INCLUDE 'datatables.inc' %]
7
[% INCLUDE 'datatables.inc' %]
8
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
9
12
<script type="text/javascript">
10
<script type="text/javascript">
13
//<![CDATA[
11
//<![CDATA[
12
var SHOW_ONLY_OPENED = _("Show opened baskets only");
13
var SHOW_ALL = _("Show opened and closed baskets");
14
var only_opened = 0;
14
$(document).ready(function() {
15
$(document).ready(function() {
15
    $("table.baskets").dataTable($.extend(true, {}, dataTablesDefaults, {
16
    var thead_row = $("#baskets").find('thead tr');
16
        'sDom': 't',
17
    var clone = thead_row.clone().addClass('filters_row');
17
        'bPaginate': false,
18
    thead_row.before(clone);
18
        'bFilter': false,
19
19
        'bInfo': false,
20
    var table = $("#baskets").dataTable($.extend(true, {}, dataTablesDefaults, {
20
        "aaSorting": [[ 1, "asc" ]],
21
        "fnDrawCallback": function ( oSettings ) {
22
            if ( oSettings.aiDisplay.length == 0 )
23
            {
24
                return;
25
            }
26
27
            var nTrs = $('#baskets tbody tr');
28
            var iColspan = nTrs[0].getElementsByTagName('td').length;
29
            var sLastGroup = "";
30
            for ( var i=0 ; i<nTrs.length ; i++ )
31
            {
32
                var iDisplayIndex = oSettings._iDisplayStart + i;
33
                var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[0];
34
                if ( sGroup != sLastGroup )
35
                {
36
                    var nGroup = document.createElement( 'tr' );
37
                    var nCell = document.createElement( 'td' );
38
                    nCell.colSpan = iColspan;
39
                    nCell.className = "group";
40
                    nCell.innerHTML = sGroup;
41
                    nGroup.appendChild( nCell );
42
                    nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
43
                    sLastGroup = sGroup;
44
                }
45
            }
46
        },
21
        "aoColumnDefs": [
47
        "aoColumnDefs": [
22
            { "sType": "title-string", "aTargets" : [ "title-string" ] },
48
            { "bVisible": false, "aTargets": [ 'NoVisible' ] },
23
            { "sType": "title-numeric", "aTargets" : [ "title-numeric" ] },
49
            { "bSortable": false, "aTargets": ["_all"] }
24
            { 'aTargets': [-1], 'bSortable': false }
50
        ],
25
        ]
51
        'bSort': true,
26
    }));
52
        'aaSortingFixed': [[ 0, 'asc' ]],
53
        'bPaginate': false,
54
        'bAutoWidth': false
55
    })).columnFilter(
56
        {
57
            'sPlaceHolder': 'head:after',
58
            // The first column is hidden
59
            // Without bUseColVis, the filters don't work on the correct column.
60
            'bUseColVis': true,
61
            'aoColumns': [
62
                null,
63
                { type: 'text' },
64
                { type: 'text' },
65
                { type: 'text' },
66
                { type: 'text' },
67
                { type: 'text' },
68
                { type: 'text' },
69
                { type: 'date-range' },
70
                { type: 'text' },
71
                { type: 'date-range' },
72
                null
73
74
            ]
75
        }
76
    );
77
27
    $("#supplierlist").change(function() {
78
    $("#supplierlist").change(function() {
28
        var id = $(this).find("option:selected").val();
79
        var id = $(this).find("option:selected").val();
29
        window.location.href = "#" + id;
80
        window.location.href = "#" + id;
Lines 33-38 $(document).ready(function() { Link Here
33
        var legend = _("Add order to basket %s").format(basket);
84
        var legend = _("Add order to basket %s").format(basket);
34
        $(this).find("legend").html(legend);
85
        $(this).find("legend").html(legend);
35
    });
86
    });
87
88
    $("#toggle_closed_baskets").on('click', function(e){
89
        e.preventDefault();
90
        if( only_opened ) {
91
            $(this).text(SHOW_ONLY_OPENED);
92
            table.fnFilter('', 9);
93
            only_opened = 0;
94
        } else {
95
            $(this).text(SHOW_ALL);
96
            table.fnFilter('^$', 9, 1);
97
            only_opened = 1;
98
        }
99
    });
36
});
100
});
37
//]]>
101
//]]>
38
</script>
102
</script>
Lines 59-193 $(document).ready(function() { Link Here
59
    [% ELSE %]
123
    [% ELSE %]
60
        <h1>Vendor search: [% count %] results found for '[% supplier %]'</h1>
124
        <h1>Vendor search: [% count %] results found for '[% supplier %]'</h1>
61
    [% END %]
125
    [% END %]
62
[% END %]
126
63
[% IF ( loop_suppliers.size ) %]
127
    [% BLOCK action %]
64
    [% UNLESS (count == 1) %]
128
        <span class="action">
65
        <p>Choose a vendor in the list to jump directly to the right place.
129
            [% IF CAN_user_acquisition_order_manage %]
66
        <select id="supplierlist">
130
               [% IF supplier.active %]
67
            [% FOREACH supplier1 IN loop_suppliers %]
131
                   <a class="btn btn-small" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% supplier.booksellerid %]&amp;op=add_form"><i class="fa fa-plus"></i> New basket</a>
68
                <option value="[% supplier1.booksellerid %]">[% supplier1.name %]</option>
132
               [% END %]
69
            [% END %]
133
            [% END %]
70
        </select>
134
            [% IF ( supplier.loop_basket.size ) %]
71
        </p>
135
                <a class="btn btn-small" href="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% supplier.booksellerid %]"><i class="fa fa-inbox"></i> Receive shipment</a>
136
            [% END %]
137
        </span>
72
    [% END %]
138
    [% END %]
73
    [% IF ( allbaskets ) %]
139
    [% IF view == "complete" %]
74
        <p><a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier %]&amp;booksellerid=[% booksellerid %]">Show active baskets only</a></p>
140
        <p><a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier %]&view=simple">Switch to the simple view</a></p>
75
    [% ELSE %]
141
    [% ELSE %]
76
        <p><a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier %]&amp;booksellerid=[% booksellerid %]&amp;allbaskets=1">Show all baskets</a></p>
142
        <p><a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier %]&view=complete">Switch to the complete view</a></p>
77
    [% END %]
143
    [% END %]
78
    <div id="acqui_order_supplierlist">
144
[% END %]
79
        [% FOREACH supplier IN loop_suppliers %]
145
[% IF ( loop_suppliers.size ) %]
80
            <div class="supplier">
146
    [% IF view == "complete" %]
81
                <span class="suppliername">
147
        [% IF allbaskets %]
82
                    [% IF (supplier.name) %]
148
            <a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier %]&amp;booksellerid=[% booksellerid %]">Show active baskets only</a>
83
                        <a name="[% supplier.booksellerid %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid %]">[% supplier.name %]</a>
149
        [% ELSE %]
150
            <a href="/cgi-bin/koha/acqui/booksellers.pl?supplier=[% supplier %]&amp;booksellerid=[% booksellerid %]&amp;allbaskets=1">Show active and inactive baskets</a>
151
        [% END %]
152
         | <a href="#" id="toggle_closed_baskets">Show opened baskets only</a>
153
        <div id="acqui_order_basketlist">
154
        <table id="baskets" class="group">
155
            <thead>
156
                <tr>
157
                    <th class='NoVisible'>bookseller</th>
158
                    <th>No.</th>
159
                    <th>Name</th>
160
                    <th>Item count</th>
161
                    <th>Biblio count</th>
162
                    <th>Items expected</th>
163
                    <th>Created by</th>
164
                    <th class="title-string">Date</th>
165
                    <th>Basket group</th>
166
                    <th class="title-string">Closed</th>
167
                    <th>&nbsp;</th>
168
                </tr>
169
            </thead>
170
            <tbody>
171
            [% FOREACH supplier IN loop_suppliers %]
172
                [% IF supplier.loop_basket.size == 0 %]
173
                    <tr>
174
                        <td>
175
                            <a name="[% supplier.booksellerid %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid %]">[% supplier.name %]</a>
176
                            ([% supplier.booksellerid %])
177
                            [% PROCESS action supplier = supplier %]
178
                        </td>
179
                        <td>
180
                            [% IF allbaskets %]
181
                                No basket.
182
                            [% ELSE %]
183
                                No active basket.
184
                            [% END %]
185
                        </td>
186
                        <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
187
                    </tr>
188
                [% END %]
189
                [% FOREACH basket IN supplier.loop_basket %]
190
                    [% IF ( basket.uncertainprices ) %]
191
                        <tr class="problem">
84
                    [% ELSE %]
192
                    [% ELSE %]
85
                        <a name="[% supplier.booksellerid %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid %]">NO NAME</a>
193
                        <tr>
86
                    [% END %]
194
                    [% END %]
87
                </span>
195
                        <td>
88
                <span class="action">
196
                            <a name="[% supplier.booksellerid %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid %]">[% supplier.name %]</a>
89
                    [% IF ( CAN_user_acquisition_order_manage ) %]
197
                            ([% supplier.booksellerid %])
90
                        [% IF ( supplier.active ) %]
198
                            [% PROCESS action supplier = supplier %]
91
                            <a class="btn btn-small" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% supplier.booksellerid %]&amp;op=add_form"><i class="fa fa-plus"></i> New basket</a>
199
                        </td>
200
                        <td>[% basket.basketno %]</td>
201
                        <td>[% basket.basketname %]</td>
202
                        <td>
203
                            [% basket.total_items %]
204
                            [% IF basket.total_items_cancelled %]
205
                                ([% basket.total_items_cancelled %] cancelled)
206
                            [% END %]
207
                        </td>
208
                        <td>
209
                            [% basket.total_biblios %]
210
                            [% IF basket.total_biblios_cancelled %]
211
                                ([% basket.total_biblios_cancelled %] cancelled)
212
                            [% END %]
213
                        </td>
214
                        <td>[% basket.expected_items %]</td>
215
                        <td>
216
                            [% basket.authorisedby_firstname %] [% basket.authorisedby_surname %]
217
                        </td>
218
                        <td><span title="[% basket.creationdate %]">[% basket.creationdate | $KohaDates %]</span></td>
219
                        <td>
220
                          [% IF basket.basketgroup %]
221
                            [% basketgroup = basket.basketgroup %]
222
                            [% IF basketgroup.closed %]
223
                              [% basketgroup.name %] (closed)
224
                            [% ELSE %]
225
                              <a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&amp;booksellerid=[% basket.booksellerid %]&amp;basketgroupid=[% basketgroup.id %]">[% basketgroup.name %]</a>
226
                            [% END %]
227
                          [% END %]
228
                        </td>
229
                        <td>
230
                            [% IF ( basket.closedate ) %]
231
                                <span title="[% basket.closedate %]">[% basket.closedate | $KohaDates %]</span>
232
                            [% ELSE %]
233
                                <span title="9999-99-99"></span>
234
                            [% END %]
235
                        </td>
236
                        <td class="actions">
237
                            <a class="btn btn-mini" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basket.basketno %]"><i class="fa fa-eye"></i> View</a>
238
239
                            [% IF not basket.closedate and supplier.active %]
240
                                <a class="btn btn-mini" id="addtoBasketLabel[% basket.basketno %]" href="#addtoBasket[% basket.basketno %]" role="button" data-toggle="modal"><i class="fa fa-plus"></i> Add to basket</a>
241
                                <!-- Modal -->
242
                                <div id="addtoBasket[% basket.basketno %]" class="modal hide" tabindex="-1" role="dialog" aria-labelledby="addtoBasketLabel[% basket.basketno %]" aria-hidden="true" data-basketno="[% basket.basketname %]">
243
                                    <div class="modal-body">
244
                                        [% INCLUDE 'acquisitions-add-to-basket.inc' booksellerid=supplier.booksellerid basketno=basket.basketno %]
245
                                    </div>
246
                                    <div class="modal-footer">
247
                                        <a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
248
                                    </div>
249
                                </div>
250
                            [% END %]
251
                        </td>
252
                    </tr>
253
                [% END %][%# FOREACH basket IN supplier.loop_basket %]
254
                [% END %]
255
            </tbody>
256
        </table>
257
        </div>
258
    [% ELSE %]
259
        <div id="acqui_order_supplierlist">
260
            [% FOREACH supplier IN loop_suppliers %]
261
                <div class="supplier">
262
                    <span class="suppliername">
263
                        [% IF (supplier.name) %]
264
                            <a name="[% supplier.booksellerid %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid %]">[% supplier.name %]</a>
92
                        [% ELSE %]
265
                        [% ELSE %]
93
                            (inactive)
266
                            <a name="[% supplier.booksellerid %]" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% supplier.booksellerid %]">NO NAME</a>
267
                        [% END %]
268
                    </span>
269
                    <span class="action">
270
                        [% IF ( CAN_user_acquisition_order_manage ) %]
271
                            [% IF ( supplier.active ) %]
272
                                <a class="btn btn-small" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% supplier.booksellerid %]&amp;op=add_form"><i class="fa fa-plus"></i> New basket</a>
273
                            [% ELSE %]
274
                                (inactive)
275
                            [% END %]
94
                        [% END %]
276
                        [% END %]
95
                    [% END %]
96
                        [% IF ( supplier.loop_basket.size ) %]
277
                        [% IF ( supplier.loop_basket.size ) %]
97
                    <a class="btn btn-small" href="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% supplier.booksellerid %]"><i class="fa fa-inbox"></i> Receive shipment</a>
278
                            <a class="btn btn-small" href="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% supplier.booksellerid %]"><i class="fa fa-inbox"></i> Receive shipment</a>
98
                        [% END %]
279
                        [% END %]
99
                </span>
280
                    </span>
100
                <div class="baskets">
101
                    [% IF ( supplier.loop_basket.size ) %]
102
                        <table class="baskets">
103
                            <thead>
104
                                <tr>
105
                                    <th>No.</th>
106
                                    <th>Name</th>
107
                                    <th class="title-numeric">Item count</th>
108
                                    <th class="title-numeric">Biblio count</th>
109
                                    <th>Items expected</th>
110
                                    <th>Created by</th>
111
                                    <th class="title-string">Date</th>
112
                                    <th>Basket group</th>
113
                                    <th class="title-string">Closed</th>
114
                                    <th>Actions</th>
115
                                </tr>
116
                            </thead>
117
                            <tbody>
118
                                [% FOREACH basket IN supplier.loop_basket %]
119
                                    [% IF ( basket.uncertainprices ) %]
120
                                        <tr class="problem">
121
                                    [% ELSE %]
122
                                        <tr>
123
                                    [% END %]
124
                                        <td>[% basket.basketno %]</td>
125
                                        <td>[% basket.basketname %]</td>
126
                                        <td>
127
                                            <span title="[% basket.total_items %]">[% basket.total_items %]
128
                                                [% IF basket.total_items_cancelled %]
129
                                                    ([% basket.total_items_cancelled %] cancelled)
130
                                                [% END %]
131
                                            </span>
132
                                        </td>
133
                                        <td>
134
                                            <span title="[% basket.total_biblios %]">[% basket.total_biblios %]
135
                                                [% IF basket.total_biblios_cancelled %]
136
                                                    ([% basket.total_biblios_cancelled %] cancelled)
137
                                                [% END %]
138
                                            </span>
139
                                        </td>
140
                                        <td>[% basket.expected_items %]</td>
141
                                        <td>
142
                                            [% basket.authorisedby_firstname %]
143
                                            [% basket.authorisedby_surname %]
144
                                        </td>
145
                                        <td><span title="[% basket.creationdate %]">[% basket.creationdate | $KohaDates %]</span></td>
146
                                        <td>
147
                                          [% IF basket.basketgroup %]
148
                                            [% basketgroup = basket.basketgroup %]
149
                                            [% IF basketgroup.closed %]
150
                                              [% basketgroup.name %] (closed)
151
                                            [% ELSE %]
152
                                              <a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&amp;booksellerid=[% basket.booksellerid %]&amp;basketgroupid=[% basketgroup.id %]">[% basketgroup.name %]</a>
153
                                            [% END %]
154
                                          [% END %]
155
                                        </td>
156
                                        <td>
157
                                            [% IF ( basket.closedate ) %]
158
                                                <span title="[% basket.closedate %]">[% basket.closedate | $KohaDates %]</span>
159
                                            [% ELSE %]
160
                                                <span title="9999-99-99"></span>
161
                                            [% END %]
162
                                        </td>
163
                                        <td class="actions">
164
                                            <a class="btn btn-mini" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basket.basketno %]"><i class="fa fa-eye"></i> View</a>
165
166
                                            [% IF not basket.closedate and supplier.active %]
167
                                                <a class="btn btn-mini" id="addtoBasketLabel[% basket.basketno %]" href="#addtoBasket[% basket.basketno %]" role="button" data-toggle="modal"><i class="fa fa-plus"></i> Add to basket</a>
168
                                                <!-- Modal -->
169
                                                <div id="addtoBasket[% basket.basketno %]" class="modal hide" tabindex="-1" role="dialog" aria-labelledby="addtoBasketLabel[% basket.basketno %]" aria-hidden="true" data-basketno="[% basket.basketname %]">
170
                                                    <div class="modal-body">
171
                                                        [% INCLUDE 'acquisitions-add-to-basket.inc' booksellerid=supplier.booksellerid basketno=basket.basketno %]
172
                                                    </div>
173
                                                    <div class="modal-footer">
174
                                                        <a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
175
                                                    </div>
176
                                                </div>
177
                                            [% END %]
178
                                        </td>
179
                                    </tr>
180
                                [% END %][%# FOREACH basket IN supplier.loop_basket %]
181
                            </tbody>
182
                        </table>
183
184
                    [% ELSE %]
185
                        <p>No pending baskets</p>
186
                    [% END %][%# IF ( supplier.loop_basket.size ) %]
187
                </div>
281
                </div>
188
            </div>
282
            [% END %]
189
        [% END %][%# FOREACH supplier IN loop_suppliers %]
283
        </div>
190
    </div>
284
    [% END %]
285
[% ELSE %]
286
    <p>No pending baskets</p>
191
[% END %][%# IF ( loop_suppliers.size ) %]
287
[% END %][%# IF ( loop_suppliers.size ) %]
192
</div>
288
</div>
193
</div>
289
</div>
194
- 

Return to bug 13371