Bug 23767: Total children only if parents not visible
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / acqui-home.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Price %]
4 [% USE Branches %]
5 [% SET footerjs = 1 %]
6 [% INCLUDE 'doc-head-open.inc' %]
7 <title>Koha &rsaquo; Acquisitions</title>
8 [% INCLUDE 'doc-head-close.inc' %]
9 [% Asset.css("lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css") | $raw %]
10 </head>
11
12 <body id="acq_acqui-home" class="acq">
13 [% INCLUDE 'header.inc' %]
14 [% INCLUDE 'acquisitions-search.inc' %]
15
16 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; Acquisitions</div>
17
18 <div class="main container-fluid">
19     <div class="row">
20         <div class="col-sm-10 col-sm-push-2">
21             <main>
22
23 [% INCLUDE 'acquisitions-toolbar.inc' %]
24
25 <h1>Acquisitions</h1>
26     [% INCLUDE 'budgets-active-currency.inc' hide = 'yes' %]
27     [% UNLESS ( loop_budget ) %]
28         [% IF ( CAN_user_acquisition_period_manage ) %]
29         <div class="dialog alert"><a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">You must define a budget in Administration</a></div>
30         [% ELSE %]
31         <div class="dialog alert">Your administrator must define a budget in Administration</div>
32         [% END %]
33     [% END %]
34 <div class="row">
35     [% IF ( suggestion && suggestions_count ) %]
36         <div class="col-sm-6">
37     [% ELSE %]
38         <div class="col-sm-12">
39     [% END %]
40 <div id="acqui_acqui_home_order">
41     <fieldset>
42         <legend>Manage orders</legend>
43         <form name="findsupplier" action="/cgi-bin/koha/acqui/booksellers.pl" method="post">
44             <p><label for="supplierpage">Vendor: </label><input type="text" size="25" name="supplier" id="supplierpage" class="focus" />
45             <input type="submit" value="Search" />
46             </p>
47         </form>
48     </fieldset>
49 </div>
50 </div>
51
52 [% IF ( CAN_user_suggestions_suggestions_manage && suggestion && suggestions_count ) %]
53 <div class="col-sm-6">
54     <div id="acqui_acqui_home_suggestions">
55         <fieldset>
56         <legend>Pending suggestions</legend>
57         <p>
58             Manage suggestions:
59             <a href="/cgi-bin/koha/suggestion/suggestion.pl?branchcode=[% Branches.GetLoggedInBranchcode | url %]#ASKED">
60                 <span id="pendingsuggestions" class="pending-number-link">[% Branches.GetLoggedInBranchname | html %]: [% suggestions_count | html %]</span>
61             </a>
62             [% IF (all_pendingsuggestions > 0) %]
63                 /
64                 <a href="/cgi-bin/koha/suggestion/suggestion.pl?branchcode=__ANY__#ASKED">
65                     <span id="all_pendingsuggestions" class="pending-number-link">All libraries: [% all_pendingsuggestions | html %]</span>
66                 </a>
67             [% END %]
68         </p>
69         </fieldset>
70     </div>
71 </div>
72 [% END %]
73
74 </div>
75
76 [% IF ( loop_budget ) %]
77
78     <h3>All available funds</h3>
79
80     <div id="BudgetsAndFunds">
81     <table id="accounts">
82         <caption>
83           <span class="actions"><a href="#" id="expand_all">Expand all</a>
84           | <a href="#" id="collapse_all">Collapse all</a>
85           | <a href="#" id="hide_inactive">Hide inactive budgets</a>
86           | <a href="#" id="show_inactive">Show inactive budgets</a>
87           | <select id="library-filter">
88               <option value="">Filter by library</option>
89               [% FOREACH b IN Branches.all %]
90                 <option value="[% b.branchname | html %]">[% b.branchname | html %]</option>
91               [% END %]
92             </select>
93         </span>
94
95         </caption>
96
97         <thead>
98         <tr>
99             <th>Active</th>
100             <th>Budget period description</th>
101             <th>Fund code</th>
102             <th>Fund name</th>
103             <th>Owner</th>
104             <th>Library</th>
105             <th>Amount</th>
106             <th>Ordered</th>
107             <th>Spent</th>
108             <th>Total available</th>
109         </tr>
110         </thead>
111         <tfoot id="funds_total">
112         <tr>
113             <th></th>
114             <th></th>
115             <th colspan="4">Total</th>
116             <th class="data"></th>
117             <th class="data"></th>
118             <th class="data"></th>
119             <th class="data"></th>
120         </tr>
121         </tfoot>
122         <tbody>
123         [% FOREACH loop_budge IN loop_budget %]
124             [% IF loop_budge.budget_parent_id %]
125                 <tr data-tt-id="[% loop_budge.budget_id | html %]" data-tt-parent-id="[% loop_budge.budget_parent_id | html %]">
126             [% ELSE %]
127                 <tr data-tt-id="[% loop_budge.budget_id | html %]">
128             [% END %]
129
130                 <td>[% loop_budge.budget_period_active | html %]</td>
131                 <td>Budget [% loop_budge.budget_period_description | html %] [id=[% loop_budge.budget_period_id | html %]][% UNLESS loop_budge.budget_period_active %] (inactive)[% END %]</td>
132                 <td>
133                     [% IF ( CAN_user_acquisition_budget_manage ) %]
134                         <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% loop_budge.budget_period_id | uri %]">[% loop_budge.budget_code | html %]</a>
135                     [% ELSE %]
136                         [% loop_budge.budget_code | html %]
137                     [% END %]
138                 </td>
139                 <td>[% loop_budge.budget_name | html %]</td>
140                 <td>[% IF ( loop_budge.budget_owner ) %]
141                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loop_budge.budget_owner.borrowernumber | uri %]">[% loop_budge.budget_owner.surname | html %], [% loop_budge.budget_owner.firstname | html %]</a>
142                     [% ELSE %]
143                         &nbsp;
144                     [% END %]
145                 </td>
146                 <td>[% Branches.GetName( loop_budge.budget_branchcode ) | html %]</td>
147                 <td class="data">
148                     <span class="total_amount" data-parent_id="[% loop_budge.budget_parent_id | html %]" data-self_id="[% loop_budge.budget_id | html %]">[% loop_budge.budget_amount | $Price %]</span>
149                 </td>
150                 <td class="data">
151                     <a href="ordered.pl?fund=[% loop_budge.budget_id | uri %]&amp;fund_code=[% loop_budge.budget_code | uri %]">
152                         <span class="total_amount">[% loop_budge.budget_ordered | $Price %]</span>
153                     </a>
154                 </td>
155                 <td class="data">
156                     <a href="spent.pl?fund=[% loop_budge.budget_id | uri %]&amp;fund_code=[% loop_budge.budget_code | uri %]">
157                         <span class="total_amount">[% loop_budge.budget_spent | $Price %]</span>
158                     </a>
159                 </td>
160                 <td class="data">
161                     <span class="total_amount" data-parent_id="[% loop_budge.budget_parent_id | html %]" data-self_id="[% loop_budge.budget_id | html %]">[% loop_budge.budget_avail | $Price %]</span>
162                 </td>
163             </tr>
164         [% END %]
165         </tbody>
166     </table>
167     </div>
168     [% END %]
169
170 </main>
171 </div> <!-- /.col-sm-10.col-sm-push-2 -->
172
173 <div class="col-sm-2 col-sm-pull-10">
174     <aside>
175         [% INCLUDE 'acquisitions-menu.inc' %]
176     </aside>
177 </div>
178 </div> <!-- /.row -->
179
180 [% MACRO jsinclude BLOCK %]
181     [% INCLUDE 'datatables.inc' %]
182     [% Asset.js("lib/jquery/plugins/treetable/jquery.treetable.js") | $raw %]
183     [% Asset.js("js/acquisitions-menu.js") | $raw %]
184     <script>
185         dt_overwrite_html_sorting_localeCompare();
186
187         $(document).ready(function() {
188
189             var oTable = $("#accounts").dataTable($.extend(true, {}, dataTablesDefaults, {
190                 "fnDrawCallback": function ( oSettings ) {
191                     if ( oSettings.aiDisplay.length == 0 )
192                     {
193                         return;
194                     }
195
196                     var nTrs = $('#accounts tbody tr');
197                     var iColspan = nTrs[0].getElementsByTagName('td').length;
198                     var sLastGroup = "";
199                     for ( var i=0 ; i<nTrs.length ; i++ )
200                     {
201                         var iDisplayIndex = oSettings._iDisplayStart + i;
202                         var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[1];
203                         if ( sGroup != sLastGroup )
204                         {
205                             var nGroup = document.createElement( 'tr' );
206                             var nCell = document.createElement( 'td' );
207                             nCell.colSpan = iColspan;
208                             nCell.className = "group";
209                             nCell.innerHTML = sGroup;
210                             nGroup.appendChild( nCell );
211                             nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
212                             sLastGroup = sGroup;
213                         }
214                     }
215                 },
216                 "footerCallback": function ( row, data, start, end, display ) {
217                     var api = this.api(), data;
218                     footer_column_sum( api, [ 6, 7, 8, 9 ] );
219                 },
220                 "aoColumnDefs": [
221                     { "bVisible": false, "aTargets": [ 0, 1 ] },
222                     { "bSortable": false, "aTargets": ["_all"] }
223                 ],
224                 'dom': '<"top pager"ilpf>tr<"bottom pager"ip>',
225                 'bSort': true,
226                 'aaSortingFixed': [[ 1, 'asc' ]],
227                 'bPaginate': false,
228                 "bAutoWidth": false
229             }));
230
231             $(oTable).treetable({
232                 expandable: true
233             });
234             $(oTable).treetable('expandAll');
235             $("#expand_all").click(function(e){
236                 e.preventDefault();
237                 $(oTable).treetable('expandAll');
238             });
239             $("#collapse_all").click(function(e){
240                 e.preventDefault();
241                 $(oTable).treetable('collapseAll');
242             });
243
244             $("#hide_inactive").click(function(e){
245                 e.preventDefault();
246                 oTable.fnFilter( 1, 0 ); // Show only active=1
247             });
248             $("#show_inactive").click(function(e){
249                 e.preventDefault();
250                 oTable.fnFilter( '', 0 );
251             });
252             $("#hide_inactive").click();
253
254             $("#library-filter").change(function(){
255                 $("#accounts").DataTable().search(this.value);
256                 $("#accounts").DataTable().draw();
257             });
258
259         });
260     </script>
261 [% END %]
262
263 [% INCLUDE 'intranet-bottom.inc' %]