dcf8f5ae55c763c67683b1a73ca7da6cabf021a7
[koha-equinox.git] / koha-tmpl / intranet-tmpl / prog / en / modules / reports / guided_reports_start.tt
1 [% USE KohaDates %]
2 [% USE Koha %]
3 [% SET footerjs = 1 %]
4 [%- BLOCK area_name -%]
5     [%- SWITCH area -%]
6         [%- CASE 'CIRC' -%]Circulation
7         [%- CASE 'CAT'  -%]Catalog
8         [%- CASE 'PAT'  -%]Patrons
9         [%- CASE 'ACQ'  -%]Acquisitions
10         [%- CASE 'ACC'  -%]Accounts
11         [%- CASE 'SER'  -%]Serials
12     [%- END -%]
13 [%- END -%]
14
15 [% INCLUDE 'doc-head-open.inc' %]
16
17 <title>Koha &rsaquo; Reports &rsaquo; Guided reports wizard [%- IF ( saved1 ) -%]&rsaquo; Saved reports
18 [%- ELSIF ( create ) -%]&rsaquo; Create from SQL
19 [%- ELSIF ( showsql ) -%]&rsaquo; Saved reports &rsaquo; SQL view
20 [%- ELSIF ( execute ) -%]&rsaquo; Saved reports &rsaquo; [% name %] Report
21 [%- ELSIF ( editsql ) -%]&rsaquo; Saved reports &rsaquo; Edit SQL report
22 [%- END -%]
23 [%- IF ( build1 ) -%]&rsaquo; Build a report, step 1 of 6: Choose a module
24 [%- ELSIF ( build2 ) -%]&rsaquo; Build a report, step 2 of 6: Pick a report type
25 [%- ELSIF ( build3 ) -%]&rsaquo; Build a report, step 3 of 6: Select columns for display
26 [%- ELSIF ( build4 ) -%]&rsaquo; Build a report, step 4 of 6: Select criteria to limit on
27 [%- ELSIF ( build5 ) -%]&rsaquo; Build a report, step 5 of 6: Pick which columns to total
28 [%- ELSIF ( build6 ) -%]&rsaquo; Build a report, step 6 of 6: Select how you want the report ordered
29 [%- END -%]</title>
30
31 [% INCLUDE 'doc-head-close.inc' %]
32 <style type="text/css">
33     #sql { width: 90%; height: 9em;}
34     #update_sql .modal-dialog { width: 80%; }
35     ins { background-color: #e6ffe6; }
36     del { background-color: #ffe6e6; }
37     #col1, #col2 { width:45%; float:left; }
38     #col1 ins, #col2 del { display: none; }
39     .show_sql { font-family: monospace; }
40 </style>
41 [% IF ( saved1 ) %]
42     <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
43 [% END %]
44 </head>
45
46 <body id="rep_guided_reports_start" class="rep">
47 [% INCLUDE 'header.inc' %]
48 [% INCLUDE 'circ-search.inc' %]
49
50 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a>
51 &rsaquo; <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a>
52 &rsaquo; <a href="/cgi-bin/koha/reports/guided_reports.pl">Guided reports wizard</a>
53
54 [% IF ( saved1 ) %]&rsaquo; Saved reports
55 [% ELSIF ( create ) %]&rsaquo; Create from SQL
56 [% ELSIF ( showsql ) %]&rsaquo; <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Saved reports</a> &rsaquo; SQL view
57 [% ELSIF ( editsql ) %]&rsaquo; <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Saved reports</a> &rsaquo; Edit SQL report
58 [% ELSIF ( execute ) %]&rsaquo; <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Saved reports</a> &rsaquo; <em>[% name %]</em> Report
59 [% ELSIF ( build1 || build2 || build3 || build4 || build5 || build6 ) %]&rsaquo; <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">Build a report</a>
60     [% IF ( build1 ) %]&rsaquo; Step 1 of 6: Choose a module
61     [% ELSIF ( build2 ) %]&rsaquo; Step 2 of 6: Pick a report type
62     [% ELSIF ( build3 ) %]&rsaquo; Step 3 of 6: Select columns for display
63     [% ELSIF ( build4 ) %]&rsaquo; Step 4 of 6: Select criteria to limit on
64     [% ELSIF ( build5 ) %]&rsaquo; Step 5 of 6: Pick which columns to total
65     [% ELSIF ( build6 ) %]&rsaquo; Step 6 of 6: Select how you want the report ordered
66     [% END %]
67 [% END %]
68 </div>
69
70 <div id="update_sql" class="modal" tabindex="-1" role="dialog" aria-labelledby="update_sql_label" aria-hidden="true">
71     <div class="modal-dialog">
72     <div class="modal-content">
73     <div class="modal-header">
74         <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
75         <h3 id="update_sql_label">Update SQL</h3>
76     </div>
77     <div class="modal-body">
78         <div id="loading"> <img src="[% interface %]/[% theme %]/img/spinner-small.gif" alt="" /> Loading </div>
79     </div>
80     <div class="modal-footer">
81         <a href="#" class="btn btn-default" id="update_sql_button" role="button" data-toggle="modal">Update</a>
82         <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
83     </div>
84     </div>
85     </div>
86 </div>
87
88 <div id="doc3" class="yui-t1">
89 <div id="bd">
90 <div id="yui-main">
91     <div class="yui-b">
92     [% INCLUDE "reports-toolbar.inc" %]
93
94 [% IF ( start ) %]
95     <h2>Guided reports</h2>
96     <p>Use the guided reports engine to create non standard reports.
97 This feature aims to provide some middle ground between the built in
98 canned reports and writing custom SQL reports.</p>
99
100     <h3>Build and run reports</h3>
101         [% IF ( CAN_user_reports_create_reports ) %]
102         <form action="/cgi-bin/koha/reports/guided_reports.pl">
103             <input type="hidden" name="phase" value="Build new" />
104             <input type="submit" name="submit" value="Build new"/>
105         </form>
106         [% END %]
107         [% IF ( CAN_user_reports_execute_reports ) %]
108         <form action="/cgi-bin/koha/reports/guided_reports.pl">
109             <input type="hidden" name="phase" value="Use saved"/>
110             <input type="submit" name="submit" value="Use saved"/>
111         </form>
112         [% END %]
113         [% IF ( CAN_user_reports_create_reports ) %]
114         <form action="/cgi-bin/koha/reports/guided_reports.pl">
115             <input type="hidden" name="phase" value="Create report from SQL"/>
116             <input type="submit" name="submit" value="Create report from SQL"/>
117         </form>
118         [% END %]
119 <h3>Reports Dictionary</h3>
120 <p>Use the reports dictionary to define custom criteria to use in your reports</p>
121 <form action="/cgi-bin/koha/reports/dictionary.pl">
122 <input type="hidden" name="phase" value="View Dictionary"/>
123 <input type="submit" name="submit" value="View dictionary"/>
124 </form>
125 [% END %]
126
127 [% IF report_converted %]
128     <div class="dialog message">
129         The report "[% report_converted %]" has been converted.
130     </div>
131 [% END %]
132
133 [% IF ( saved1 ) %]
134 [% IF ( savedreports ) %]<h1>Saved reports</h1>
135
136 <div id="tabs" class="toptabs">
137     <ul>
138         <li><a href="#reports">All</a></li>
139         [% FOREACH group IN groups_with_subgroups %]
140             <li><a id="[% group.id %]" href="#reports">[% group.name %]</a></li>
141         [% END %]
142     </ul>
143     <div id="reports">
144         <div id="subgroup_filter_block">
145             <label for="subgroup_filter">Subgroup:</label>
146             <select id="subgroup_filter">
147                 <option value="">All</option>
148             </select>
149         </div>
150 <form action="/cgi-bin/koha/reports/guided_reports.pl" id="reports_form" method="post">
151 <input type="hidden" name="phase" value="Delete Multiple" />
152         <table id="table_reports">
153             <thead>
154                 <tr>
155                     <th>&nbsp;</th>
156                     <th>ID</th>
157                     <th>Report name</th>
158                     <th>Type</th>
159                     <th>Group</th>
160                     <th>Subgroup</th>
161                     <th>Notes</th>
162                     <th>Author</th>
163                     <th class="title-string">Creation date</th>
164                     <th class="title-string">Last edit</th>
165                     <th class="title-string">Last run</th>
166                     <th>Public</th>
167                     [% IF (usecache) %] <th>Cache expiry (seconds)</th> [% END %]
168                     <th>Saved results</th>
169                     [% IF has_obsolete_reports %]<th>Update</th>[% END %]
170                     <th>&nbsp;</th>
171                 </tr>
172             </thead>
173             <tbody>
174                 [% FOREACH savedreport IN savedreports %]
175                     [% UNLESS ( loop.odd ) %]<tr class="odd">[% ELSE %]<tr>[% END %]
176                         <td>
177                             [% IF ( CAN_user_reports_delete_reports ) %] <!-- not break CSS -->
178                                 <input type="checkbox" name="ids" value="[% savedreport.id %]" />
179                             [% END %]
180                         </td>
181                         <td><label for="ids">[% savedreport.id %]</label></td>
182                         <td>
183                             [% IF ( savedreport.report_name ) %]
184                                 [% savedreport.report_name %]
185                             [% ELSE %]
186                                 [ no name ]
187                             [% END %]
188                         </td>
189                         <td>[% savedreport.type %]</td>
190                         <td>[% savedreport.groupname %]</td>
191                         <td>[% savedreport.subgroupname %]</td>
192                         <td>[% savedreport.notes %]</td>
193                         <td>[% savedreport.borrowersurname %][% IF ( savedreport.borrowerfirstname ) %], [% savedreport.borrowerfirstname %][% END %] ([% savedreport.borrowernumber %])</td>
194                         <td><span title="[% savedreport.date_created %]">[% savedreport.date_created | $KohaDates %]</span></td>
195                         <td><span title="[% savedreport.last_modified %]">[% savedreport.last_modified | $KohaDates with_hours => 1 %]</span></td>
196                         <td><span title="[% savedreport.last_run %]">[% savedreport.last_run | $KohaDates with_hours => 1 %]</span></td>
197                         [% IF (savedreport.public) %]
198                         <td>Yes</td>
199                         [% ELSE %]
200                         <td>No</td>
201                         [% END %]
202                         [% IF (usecache) %] <td>[% savedreport.cache_expiry %]</td> [% END %]
203                         <td>
204                             [% FOR result IN savedreport.results %]
205                                 <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=retrieve%20results&amp;id=[% result.id %]">[% result.date_run %]</a>
206                                 <br/>
207                             [% END %]
208                         </td>
209                         [% IF has_obsolete_reports %]
210                         <td>
211                             [% IF savedreport.seems_obsolete %]
212                                 This report seems obsolete, it uses biblioitems.marcxml field.
213                                 <a href="/cgi-bin/koha/svc/convert_report?report_id=[% savedreport.id %]" data-report_id="[% savedreport.id %]" class="update_sql btn btn-default btn-xs" title="Update SQL"><i class="fa fa-eye"></i> Update SQL</a>
214                             [% END %]
215                         </td>
216                         [% END %]
217                         <td>
218                             <div class="dropup">
219                                 <div class="btn-group">
220                                     [%# There should be no space between these two buttons, it would render badly %]
221                                     <a class="btn btn-default btn-xs" role="button"
222                                        href="/cgi-bin/koha/reports/guided_reports.pl?reports=[% savedreport.id %]&amp;phase=Run%20this%20report"><i
223                                        class="fa fa-play"></i> Run</a><a
224                                        class="btn btn-default btn-xs dropdown-toggle" id="reportactions[% savedreport.id %]" role="button" data-toggle="dropdown"
225                                        href="#"><b class="caret"></b></a>
226                                     <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="reportactions[% savedreport.id %]">
227                                         <li><a href="/cgi-bin/koha/reports/guided_reports.pl?reports=[% savedreport.id %]&amp;phase=Show%20SQL"><i class="fa fa-search"></i> Show</a></li>
228                                         [% IF ( CAN_user_reports_create_reports ) %]
229                                             <li><a href="/cgi-bin/koha/reports/guided_reports.pl?reports=[% savedreport.id %]&amp;phase=Edit%20SQL"><i class="fa fa-pencil"></i> Edit</a></li>
230                                             <li><a title="Duplicate this saved report" href="/cgi-bin/koha/reports/guided_reports.pl?phase=Create report from SQL&amp;sql=[% savedreport.savedsql |uri %]&amp;reportname=[% savedreport.report_name |uri %]&amp;notes=[% savedreport.notes |uri %]"><i class="fa fa-copy"></i> Duplicate</a></li>
231                                         [% END %]
232                                         <li><a href="/cgi-bin/koha/tools/scheduler.pl?id=[% savedreport.id %]"><i class="fa fa-clock-o"></i> Schedule</a></li>
233                                         [% IF ( CAN_user_reports_delete_reports ) %]
234                                             <li><a class="confirmdelete" title="Delete this saved report" href="/cgi-bin/koha/reports/guided_reports.pl?reports=[% savedreport.id %]&amp;phase=Delete%20Saved"><i class="fa fa-trash"></i> Delete</a></li>
235                                         [% END %]
236                                     </ul>
237                                 </div>
238                             </div>
239                         </td>
240                     </tr>
241                 [% END %]
242             </tbody>
243         </table>
244         [% IF ( CAN_user_reports_delete_reports ) %]
245         <fieldset class="action">
246             <input type="submit" value="Delete selected" />
247         </fieldset>
248         [% END %]
249     </form>
250     </div>
251 </div>
252 [% ELSE %]<div class="dialog message">
253     [% IF (filter_set || filters.date || filters.author || filters.keyword) %]
254     <h4>No saved reports match your criteria. </h4>
255     [% IF ( CAN_user_reports_create_reports ) %]
256     <form action="/cgi-bin/koha/reports/guided_reports.pl" method="get">
257     <input type="hidden" name="phase" value="Build new" />
258         <button type="submit" class="new"><i class="fa fa-plus"></i> New guided report</button>
259     </form>
260
261     <form action="/cgi-bin/koha/reports/guided_reports.pl" method="get">
262         <input type="hidden" name="phase" value="Create report from SQL" />
263         <button type="submit" class="new"><i class="fa fa-plus"></i> New SQL report</button>
264     </form>
265
266     <form action="/cgi-bin/koha/reports/guided_reports.pl" method="get">
267     <input type="hidden" name="phase" value="Use saved" />
268     <input type="hidden" name="filter_set" value="1" />
269     <input type="hidden" name="filter_keyword" value="" />
270         <button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> Cancel filter</button>
271     </form>
272
273     [% END %]
274     [% ELSE %]
275     <h4>There are no saved reports. </h4>
276     [% IF ( CAN_user_reports_create_reports ) %]
277         <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Build%20new">Build a new report?</a>
278     [% END %]
279     [% END %]
280     </div>
281 [% END %]
282 [% END %]
283
284
285 [% IF ( build1 ) %]
286 [% IF ( cache_error) %]
287 <div class="dialog alert">
288 <b> Please choose a cache_expiry less than 30 days </b>
289 </div>
290 [% END %]
291 <h1>Build a report</h1>
292 <form action="/cgi-bin/koha/reports/guided_reports.pl">
293 <fieldset class="rows">
294 <legend>Step 1 of 6: Choose a module to report on,[% IF (usecache) %] Set cache expiry, [% END %] and choose report visibility </legend>
295 <ol>
296   <li>
297     <label for="area">Choose: </label>
298       <select name="area" id="area">
299     [%- FOREACH area IN areas -%]
300       <option value="[% area %]">[%- PROCESS area_name area=area -%]</option>
301     [%- END -%]
302       </select>
303   </li>
304 [% IF (public) %]
305   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0">No (default)</option> <option value="1" selected="selected">Yes</option> </select></li>
306 [% ELSE %]
307   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0" selected="selected">No (default)</option> <option value="1">Yes</option> </select></li>
308 [% END %]
309 [% IF (usecache) %] <li>
310 <label for="cache_expiry">Cache expiry:</label><input type="text" id="cache_expiry" name="cache_expiry" value="[% cache_expiry %]"></input>
311 <select id="cache_expiry_units" name="cache_expiry_units">
312 <option value="seconds">Seconds (default)</option>
313 <option value="minutes">Minutes</option>
314 <option value="hours">Hours</option>
315 <option value="days">Days</option>
316 </select>
317 </li>[% END %]
318 </ol>
319 </fieldset>
320 <fieldset class="action">
321 <input type="hidden" name="phase" value="Report on this Area" />
322 <input type="submit" name="submit" value="Next &gt;&gt;" />
323
324 </fieldset>
325 </form>
326 [% END %]
327
328
329 [% IF ( build2 ) %]
330 <h1>Build a report</h1>
331 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
332 <input type="hidden" name="area" value="[% area %]" />
333 <input type="hidden" name="public" value="[% public %]" />
334 <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
335 <fieldset class="rows"><legend>Step 2 of 6: Pick a report type</legend>
336 <ol><li><label for="types">Choose: </label>
337     <select id="types" name="types">
338         <option value="1">Tabular</option>
339         <option value="2" disabled="disabled">Summary</option>
340         <option value="3" disabled="disabled">Matrix</option>
341     </select>
342 </li></ol></fieldset>
343
344 <fieldset class="action">
345     <input type="hidden" name="phase" value="Choose this type" />
346     <input type="button" name="back" value="&lt;&lt; Back" class="goback" />
347     <input type="submit" name="submit" value="Next &gt;&gt;" />
348 </fieldset>
349 </form>
350 </div>
351 <div class="yui-gb"><div class="yui-u first"></div>
352
353 <!--- Summary and Matrix reports have not yet been implemented-->
354 <!--<div class="yui-u">Summary:
355 <img src="[% interface %]/[% theme %]/img/reports-summary-graphic.gif" /></div>
356 <div class="yui-u">Matrix:
357 <img src="[% interface %]/[% theme %]/img/reports-matrix-graphic.gif" /></div>-->
358
359 [% END %]
360
361 [% IF ( build3 ) %]
362 <h1>Build a report</h1>
363 <h3>Step 3 of 6: Select columns for display</h3>
364 <p>Note: Be careful selecting when selecting columns. If your choice is too broad it could result in a very large report that will either not complete, or slow your system down.</p>
365
366 <form id="column_submit" action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
367     <input type="hidden" name="area" value="[% area %]" />
368     <input type="hidden" name="type" value="[% type %]" />
369     <input type="hidden" name="public" value="[% public %]" />
370     <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
371     <fieldset>
372 <div class="yui-g">
373 <div class="yui-u first">       <div style="float: left;"><select id="availableColumns" name="oldcolumns2" multiple="multiple" size="25" style="min-width: 200px;height:300px;">
374 [% FOREACH column IN columns %]
375 [% IF ( column.table ) %]
376
377 [% IF ( loop.first ) %]
378 [% ELSE %]
379 </optgroup>
380 [% END %]
381
382 <optgroup label="[% column.table %]">
383 [% ELSE %]
384 <option value="[% column.name %]">
385 [% IF ( column.description ) %][% column.description %] &nbsp; / &nbsp; [% column.name %]
386 [% ELSE %]
387 [% column.name %]
388 [% END %]
389 </option>
390 [% END %]
391 [% END %]
392 </optgroup>
393 </select></div>
394 <div style="width: 6.3em; float: right; margin-top: 100px"><input type="button" name="Add" value="Add" class="button" style="width:6em;" id="addColumn" /><br />
395 <input type="button" name="delete" value="&lt;&lt; Delete" class="button" style="width: 6em; margin: 1em 0;" id="delColumn" /></div>
396 </div>
397
398 <div class="yui-u">
399 <select id="selectedColumns" name="columns" multiple="multiple" size="25" style="width:200px; height:300px;"></select>
400 </div>
401 </div>
402 </fieldset>
403 <div class="yui-g">
404 <fieldset class="action">
405     <input type="hidden" name="phase" value="Choose these columns" />
406     <input type="button" name="back" value="&lt;&lt; Back" class="goback" />
407     <input type="submit" name="submit" value="Next &gt;&gt;" />
408 </fieldset>
409 </div>
410 </form>
411
412 [% END %]
413
414 [% IF ( build4 ) %]
415 <h1>Build a report</h1>
416 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post" >
417     <input type="hidden" name="area" value="[% area %]" />
418     <input type="hidden" name="type" value="[% type %]" />
419     <input type="hidden" name="column" value="[% column %]" />
420     <input type="hidden" name="public" value="[% public %]" />
421     <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
422     <fieldset><legend>Step 4 of 6: Select criteria to limit on</legend>
423     <table>
424         [% FOREACH criteri IN criteria %]
425         <tr>
426         <td>
427             <input type="checkbox" name="criteria_column" id="[% criteri.name %]" value="[% criteri.name %]" /> 
428             <label for="[% criteri.name %]">[% criteri.description %] </label>
429         </td>
430         [% IF ( criteri.date ) %]
431         <td>
432             <input type="text" size="10" id="[% criteri.name %]_value" name="[% criteri.name %]_value" value="" class="datepicker" />
433                 <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
434         </td>
435         </tr>
436         [% ELSE %]
437         [% IF ( criteri.textrange ) %]
438             <td>from
439             <input type="text" size="10" id="[% criteri.from %]_value" name="[% criteri.from %]_value" value="" /> to 
440             <input type="text" size="10" id="[% criteri.to %]_value" name="[% criteri.to %]_value" value="" />
441             </td>
442             </tr>
443         [% ELSE %]
444             [% IF ( criteri.daterange ) %]
445             <td>from 
446             <input type="text" size="10" id="from_[% criteri.name %]_value" name="from_[% criteri.name %]_value" value="" class="datepickerfrom" />
447             to
448             <input type="text" size="10" id="to_[% criteri.name %]_value" name="to_[% criteri.name %]_value" value="" class="datepickerto" />
449                         <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
450             </td>
451         </tr>
452             [% ELSE %]
453             <td>
454                 <select name="[% criteri.name %]_value">
455                 [% FOREACH value IN criteri.values %]
456                 <option value="[% value.availablevalues %]">[% IF ( value.default ) %]Default[% ELSE %][% value.display_value |html %][% END %]</option>
457                 [% END %]
458                 </select>
459             </td>
460             </tr>
461             [% END %]
462         [% END %]
463         [% END %]
464     [% END %]
465     </table>
466     </fieldset>
467
468 [% IF ( definitions ) %]
469 <fieldset><legend>Dictionary definitions</legend>
470 <table>
471 [% FOREACH definition IN definitions %]
472     <tr><td><input type="checkbox" name="definition" value="[% definition.id %]" /> [% definition.name %]</td></tr>
473 [% END %]
474 </table>
475 </fieldset>
476 [% END %]
477
478 <fieldset class="action"><input type="hidden" name="phase" value="Choose these criteria" />
479     <input type="button" name="back" value="&lt;&lt; Back" class="goback" />
480     <input type="submit" name="submit" value="Next &gt;&gt;" /> </fieldset>
481 </form>
482 [% END %]
483
484
485 [% IF ( build5 ) %]
486 <h1>Build a report</h1>
487 <h3>Step 5 of 6: Pick which columns to total</h3>
488 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
489 <input type="hidden" name="area" value="[% area %]" />
490 <input type="hidden" name="type" value="[% type %]" />
491 <input type="hidden" name="column" value="[% column %]" />
492 <input type="hidden" name="definition" value="[% definition %]" />
493 <input type="hidden" name="criteria" value="[% criteriastring %]" />
494 <input type="hidden" name="public" value="[% public %]" />
495 <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
496 <fieldset><table>
497 [% FOREACH total_b IN total_by %]
498 <tr><td><input type="checkbox" name="total_by" id="[% total_b.name %]" value="[% total_b.name %]" /> <label for="[% total_b.name %]">[% total_b.name %]</label></td>
499 <td><select name="[% total_b.name %]_tvalue">
500
501 [% FOREACH selec IN total_b.select %]
502 <option value="[% selec.value %]">[% selec.value %]</option>
503 [% END %]
504 </select>
505
506 </td></tr>
507 [% END %]
508 </table></fieldset>
509
510 <fieldset class="action"><input type="hidden" name="phase" value="Choose these operations" />
511     <input type="button" name="back" value="&lt;&lt; Back" class="goback" />
512     <input type="submit" name="submit" value="Next &gt;&gt;" /></fieldset>
513 </form>
514 [% END %]
515
516
517 [% IF ( build6 ) %]
518 <h1>Build a report</h1>
519 <h3>Step 6 of 6: Choose how you want the report ordered</h3>
520 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
521 <input type="hidden" name="area" value="[% area %]" />
522 <input type="hidden" name="type" value="[% type %]" />
523 <input type="hidden" name="column" value="[% column %]" />
524 <input type="hidden" name="criteria" value="[% criteriastring %]" />
525 <input type="hidden" name="definition" value="[% definition %]" />
526 <input type="hidden" name="totals" value="[% totals %]" />
527 <input type="hidden" name="public" value="[% public %]" />
528 <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
529 <fieldset><table>[% FOREACH order_b IN order_by %]
530 <tr><td><input type="checkbox" id="[% order_b.name %]" name="order_by" value="[% order_b.name %]" /> <label for="[% order_b.name %]">[% order_b.name %]</label></td><td>
531 <select name="[% order_b.name %]_ovalue">
532
533 [% FOREACH selec IN order_b.select %]
534 <option value="[% selec.value %]">[% selec.value %]</option>
535 [% END %]
536 </select>
537 </td></tr>
538
539 [% END %]
540 </table></fieldset>
541
542 <fieldset class="action">
543 <input type="hidden" name="phase" value="Build report" />
544 <input type="submit" name="submit" value="Finish" /></fieldset>
545 </form>
546 [% END %]
547
548
549 [% IF ( showreport ) %]
550 <h1>Confirm custom report</h1>
551 <p>Your report will be generated with the following SQL statement.</p>
552 <p> 
553 [% sql |html %]
554 </p>
555
556 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
557 <input type="hidden" name="sql" value="[% sql %]" />
558 <input type="hidden" name="type" value="[% type %]" />
559 <input type="hidden" name="public" value="[% public %]" />
560 <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
561 <p>You will need to save the report before you can execute it</p>
562 <fieldset class="action"><input type="hidden" name="phase" value="Save" />  
563 <input type="submit" name="submit" value="Save" />  </fieldset>
564 </form>
565 [% END %]
566
567 [% IF ( save ) %]
568 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post" class="validated">
569 <input type="hidden" name="sql" value="[% sql |html %]" />
570 <input type="hidden" name="type" value="[% type %]" />
571 <input type="hidden" name="area" value="[% area %]" />
572 <input type="hidden" name="public" value="[% public %]" />
573 <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
574 <fieldset class="rows">
575 <legend>Save your custom report</legend>
576 <ol>
577     <li><label for="reportname" class="required">Report name: </label><input type="text" id="reportname" name="reportname" class="required" required="required" /> <span class="required">Required</span></li>
578     [% PROCESS group_and_subgroup_selection %]
579     <li><label for="notes">Notes:</label> <textarea name="notes" id="notes"></textarea></li>
580 </ol></fieldset>
581 <fieldset class="action"><input type="hidden" name="phase" value="Save Report" />
582 <input type="submit" name="submit" value="Save report" /></fieldset>
583 </form>
584 [% END %]
585
586 [% IF ( warn_authval_problem ) %]
587     <div class="dialog alert">
588         <h3>Errors found when processing parameters for report: [% name %]</h3>
589         [% FOREACH problematic_authval IN problematic_authvals %]
590             <p>
591             <strong>[% problematic_authval.name %]:</strong> The authorized value category (<strong>[% problematic_authval.authval %]</strong>)
592                 you selected does not exist.
593             </p>
594         [% END %]
595         <!-- Save Anyway Form -->
596         <form action='/cgi-bin/koha/reports/guided_reports.pl'>
597         <!--Every parameter the user issued is provided as a hidden field for recovery-->
598             <input type='hidden' name='id' value='[% id %]' />
599             <input type='hidden' name='sql' value='[% sql %]' />
600             <input type='hidden' name='reportname' value='[% reportname %]' />
601             <input type='hidden' name='group' value='[% group %]' />
602             <input type='hidden' name='subgroup' value='[% subgroup %]' />
603             <input type='hidden' name='notes' value='[% notes %]' />
604             <input type='hidden' name='cache_expiry' value='[% cache_expiry %]' />
605             <input type='hidden' name='cache_expiry_units' value='[% cache_expiry_units %]' />
606             <input type='hidden' name='public' value='[% public %]' />
607         [% IF ( phase_update) %]
608             <input type='hidden' name='phase' value='Update SQL' />
609             <button type="submit" name="save_anyway" value="Save anyway" class="approve"><i class="fa fa-fw fa-check"></i> Save anyway</button>
610         [% ELSIF ( phase_save) %]
611             <input type='hidden' name='area' value='[% area %]' />
612             <input type='hidden' name='phase' value='Save Report' />
613             <button type="submit" name="save_anyway" value="Save anyway" class="approve"><i class="fa fa-fw fa-check"></i> Save anyway</button>
614         [% END %]
615         </form>
616         <!-- Go back to editing -->
617         <form action='/cgi-bin/koha/reports/guided_reports.pl'>
618             <button type="button" class="new goback"><i class="fa fa-fw fa-pencil"></i> Edit SQL</button>
619         </form>
620     </div>
621 [% END %]
622
623 [% IF ( enter_params ) %]
624     <form action='/cgi-bin/koha/reports/guided_reports.pl'>
625         <input type='hidden' name='reports' value="[% reports %]" />
626     [% IF ( auth_val_error ) %]
627         <input type='hidden' name='phase' value='Edit SQL' />
628         <div class="dialog alert">
629             <h3>Errors found when processing parameters for report: [% name %]</h3>
630             [% FOREACH auth_val_error IN auth_val_errors %]
631                 <p>
632                     <strong>[% auth_val_error.entry %]:</strong> The authorized value category (<strong>[% auth_val_error.auth_val %]</strong>)
633                     you selected does not exist.
634                 </p>
635             [% END %]
636         </div>
637         <fieldset class="action"><input type="submit" value="Edit SQL" /></fieldset>
638     [% ELSE %]
639         <input type='hidden' name='phase' value='Run this report' />
640         <h1>Enter parameters for report [% name %]:</h1>
641         [% IF ( notes ) %]<p>[% notes %]</p>[% END %]
642         <fieldset class="rows">
643             <ol>
644             [% FOREACH sql_param IN sql_params %]
645                 [% IF sql_param.input == 'date' %]
646                     <li>
647                     <label for="date_[% sql_param_entry %][% loop.count %]">[% sql_param.entry %]:</label> <input id="date_[% sql_param_entry %][% loop.count %]" type="text" value="" size="10" name="sql_params" class="datepicker" />
648                     </li>
649                 [% ELSIF ( sql_param.input == 'text' ) %]
650                     <li><label for="sql_params[% loop.count %]">[% sql_param.entry %]: </label><input id="sql_params[% loop.count %]" type="text" name="sql_params" /></li>
651                 [% ELSE %]
652                     <li><label for="sql_params_[% sql_param.labelid %]">[% sql_param.entry %]:</label>
653                         <select name="[%- sql_param.input.name -%]" tabindex="1"  size="1" id="[%- sql_param.input.id -%]">
654                         [% FOREACH value IN sql_param.input.values %]
655                             <option value="[%- value -%]">[%- sql_param.input.labels.$value -%]</option>
656                         [% END %]
657                         </select>
658                     </li>
659                 [% END %]
660             [% END %]
661             </ol>
662         </fieldset>
663         <fieldset class="action"><input type="submit" value="Run the report" /></fieldset>
664     [% END %]
665     </form>
666 [% END %]
667
668 [% IF ( execute ) %]
669 <h1>[% name %]</h1>
670 [% IF ( notes ) %]<p><span class="label">Notes:</span> [% notes %]</p>[% END %]
671 [% IF ( unlimited_total ) %]<p><span class="label">Total number of results:</span> [% unlimited_total %][% IF unlimited_total > limit %] ([% limit %] shown)[% END %].</p>[% END %]
672 <div id="sql_output" style="display:none;"><span class="label">Report SQL:</span><pre>[% sql |html %]</pre></div>
673 </br>
674
675 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="get" id="limitselect">
676     <input type="hidden" name="phase" value="Run this report"/>
677     <input type="hidden" name="reports" value="[% report_id %]"/>
678
679     [% FOREACH p IN sql_params %]
680         <input type="hidden" name="sql_params" value="[% p %]"/>
681     [% END %]
682
683     <label for="limit">Rows per page: </label>
684     <select name="limit" id="limit">
685         [% limits = [ 10, 20, 50, 100, 200, 300, 400, 500, 1000 ] %]
686         [% FOREACH l IN limits %]
687                 [% IF l == limit %]
688                     <option value="[% l %]" selected="selected">[% l %]</option>
689                 [% ELSE %]
690                     <option value="[% l %]">[% l %]</option>
691                 [% END %]
692         [% END %]
693     </select>
694 </form>
695
696 <div class="pages">[% pagination_bar %]</div>
697 [% UNLESS ( errors ) %]
698 <table>
699 <tr>[% FOREACH header_ro IN header_row %]<th>[% header_ro.cell %]</th>[% END %]</tr>
700 [% FOREACH result IN results %]
701 <tr>
702     [% FOREACH cell IN result.cells %]<td>[% cell.cell %]</td>[% END %]
703 </tr>
704 [% END %]
705 </table>
706 [% END %]
707 [% END %]
708
709 [% IF ( create ) %]
710 <script type="text/javascript">
711 $(document).ready(function() {
712     load_group_subgroups();
713 });
714 </script>
715 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post" class="validated">
716 <fieldset class="rows">
717 <legend>Create report from SQL</legend>
718 <ol>
719     <li><label for="reportname" class="required">Report name:</label>
720         [% IF ( reportname ) %]<input type="text" class="required" required="required" id="reportname" name="reportname" value="[% reportname | html %]" size="50"/>
721         [% ELSE %]<input type="text" class="required" required="required" id="reportname" name="reportname" size="50" />[% END %] <span class="required">Required</span>
722     </li>
723     [% PROCESS group_and_subgroup_selection %]
724
725 [% IF (public) %]
726   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0">No (default)</option> <option value="1" selected="selected">Yes</option> </select></li>
727 [% ELSE %]
728   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0" selected="selected">No (default)</option> <option value="1">Yes</option> </select></li>
729 [% END %]
730 [% IF (usecache) %] <li>
731 <label for="cache_expiry">Cache expiry:</label><input type="text" id="cache_expiry" name="cache_expiry" value="[% cache_expiry %]"></input>
732 <select id="cache_expiry_units" name="cache_expiry_units">
733 <option value="seconds" selected="selected">Seconds (default)</option>
734 <option value="minutes">Minutes</option>
735 <option value="hours">Hours</option>
736 <option value="days">Days</option>
737 </select>
738 </li>[% END %]
739     <li><label for="notes">Notes:</label> <textarea id="notes" name="notes" cols="50" rows="2">[% notes %]</textarea></li>
740 </ol>
741 </fieldset>
742 <fieldset class="rows">
743 <legend>SQL:</legend>
744 <div style="margin:1em;">
745 <textarea id="sql" name="sql" class="required" required="required" cols="50" rows="10">[% sql %]</textarea> <span class="required">Required</span>
746 </div>
747 </fieldset>
748
749 <fieldset class="action"><input type="hidden" name="phase" value="Save Report" />
750 <input type="submit" name="submit" value="Save report" /> <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved" class="cancel">Cancel</a>
751 </fieldset>
752 </form>
753 [% END %]
754
755 [% IF ( compound ) %]
756 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
757 Master: <select name="master">
758 [% FOREACH savedreport IN savedreports %]
759 <option value="[% savedreport.id %]">[% savedreport.report_name %]</option>
760 [% END %]
761 </select>
762 &nbsp;
763 Sub report:<select name="subreport">
764 [% FOREACH savedreport IN savedreports %]
765 <option value="[% savedreport.id %]">[% savedreport.report_name %]</option>
766 [% END %]
767 </select>
768 <br />
769 <input type="hidden" name="phase" value="Save Compound" />
770 <input type="submit" name="submit" value="Save compound" />
771 </form>
772 [% END %]
773
774 [% IF ( save_compound ) %]
775 [% master %] <br />
776 [% subsql %]
777 [% END %]
778
779
780 [% IF saved_results %]
781 <h1>Saved report results</h1>
782 <h2>[% name %]</h2>
783 <p>[% notes %]</p>
784 <table>
785 [% FOREACH rows IN saved_results %]
786 <tr>
787 [% FOREACH col IN rows %]
788 <td>[% col %]</td>
789 [% END %]
790 <tr>
791 [% END %]
792 </table>
793 [% END %]
794
795 [% IF ( showsql ) %]
796 <fieldset class="rows">
797     <legend>[% reportname %]</legend>
798     <ol>
799         [% IF ( notes ) %]<li><span class="label">Notes:</span> [% notes %]</li>[% ELSE %][% END %]
800         <li><textarea id="sql">[% sql %]</textarea></li>
801     </ol>
802 </fieldset>
803 [% END %]
804
805 [% IF ( editsql ) %]
806 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post" class="validated">
807 <input type="hidden" name="phase" value="Update SQL" />
808 <input type="hidden" name="id" value="[% id %]"/>
809 <fieldset class="rows">
810 <legend>Edit SQL report</legend>
811 <ol>
812 <li><label for="reportname" class="required">Report name: </label><input type="text" id="reportname" name="reportname" value="[% reportname | html %]" size="50" class="required" required="required" /> <span class="required">Required</span></li>
813 [% PROCESS group_and_subgroup_selection %]
814 [% IF (public) %]
815   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0">No (default)</option> <option value="1" selected="selected">Yes</option> </select></li>
816 [% ELSE %]
817   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0" selected="selected">No (default)</option> <option value="1">Yes</option> </select></li>
818 [% END %]
819 [% IF (usecache) %] <li>
820 <label for="cache_expiry">Cache expiry:</label><input type="text" id="cache_expiry" name="cache_expiry" value="[% cache_expiry %]"></input>
821 <select id="cache_expiry_units" name="cache_expiry_units">
822 <option value="seconds">Seconds (default)</option>
823 <option value="minutes">Minutes</option>
824 <option value="hours">Hours</option>
825 <option value="days">Days</option>
826 </select>
827 </li>[% END %]
828 <li><label for="notes">Notes:</label><textarea id="notes" name="notes" cols="50" rows="2">[% notes %]</textarea></li>
829 </ol>
830 </fieldset>
831
832 <fieldset class="rows">
833     <legend>SQL:</legend>
834     <div style="margin:1em;">
835         <textarea id="sql" name="sql" class="required" required="required" cols="50" rows="10">[% sql %]</textarea> <span class="required">Required</span>
836     </div>
837 </fieldset>
838
839 <fieldset class="action">
840 <input type="submit" name="submit" value="Update SQL" /> <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved" class="cancel">Cancel</a>
841 </fieldset>
842 </form>
843
844
845 [% END %]
846
847 [% IF ( save_successful ) %]
848 [% UNLESS ( errors ) %]
849 <h2>Your report has been saved</h2>
850 <h4>[% reportname %]</h4>
851 <ul>
852     [% IF ( id ) %]
853     <li><a href="/cgi-bin/koha/reports/guided_reports.pl?reports=[% id %]&amp;phase=Run%20this%20report">Run this report</a></li>
854     [% END %]
855     <li>Access this report from the: <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Saved reports page</a></li>
856     <li>Schedule this report to run using the: <a href="/cgi-bin/koha/tools/scheduler.pl">Scheduler tool</a></li>
857     <li>Return to: <a href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved">Guided reports</a></li>
858 </ul>
859 [% END %]
860 [% END %]
861
862 [% IF ( errors ) %]
863 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
864 <div class="dialog alert">
865 <b>The following error was encountered:</b><br />
866 [% FOREACH error IN errors %]
867     [% IF ( error.sqlerr ) %]This report contains the SQL keyword <b>[% error.sqlerr %]</b>.
868     <br />Use of this keyword is not allowed in Koha reports due to security and data integrity risks. Only SELECT queries are allowed.
869     <br />Please return to the &quot;Saved Reports&quot; screen and delete this report or retry creating a new one.
870     [% ELSIF ( error.queryerr ) %]The database returned the following error: <br />[% error.queryerr %]<br />Please check the log for further details.
871     [% ELSIF ( error.cache_expiry ) %]Please select a cache expiry less than 30 days.
872     [% ELSE %]
873     [% END %]
874     <div id="onerror_actions">
875         <a href="#" class="button goback">Return to previous page</a>
876     </div>
877 [% END %]
878 </div>
879 <fieldset class="action"><input type="hidden" name="phase" value="Use saved" />
880 <input type="submit" name="submit" value="Saved reports" /></fieldset>
881 </form>
882 [% END %]
883
884 </div>
885 </div>
886 <div class="yui-b">
887
888 [% IF ( saved1 ) %]
889 <div id="saved-reports-filter">
890 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="get">
891   <input type="hidden" name="phase" value="Use saved" />
892   <input type="hidden" name="filter_set" value="1" />
893   <fieldset class="brief">
894   <h3>Filter</h3>
895   <ol>
896     <li><label for="filter_date">Date:</label> <input type="text" id="filter_date" name="filter_date" size="10" value="[% filters.date %]" class="datepicker" />
897     <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
898
899     </li>
900     <li><label for="filter_author">Author:</label> <input type="text" id="filter_author" name="filter_author" value="[% filters.author %]" size="16" /></li>
901     <li><label for="filter_keyword">Keyword:</label> <input type="text" id="filter_keyword" name="filter_keyword" value="[% filters.keyword %]" size="16" /></li>
902   </ol>
903   </fieldset>
904   <fieldset class="action">
905     <input type="submit" value="Apply filter" />
906     <a id="resetReportsFilter" href="/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved&clear_filters=1">Clear</a>
907   </fieldset>
908 </form>
909 </div>
910 [% END %]
911
912
913 [% INCLUDE 'guided-reports-view.inc' %]
914 </div>
915 </div>
916
917 [% MACRO jsinclude BLOCK %]
918     [% INCLUDE 'calendar.inc' %]
919     [% IF ( saved1 ) %]
920         [% INCLUDE 'datatables.inc' %]
921     [% END %]
922     <script type="text/javascript">
923         var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this report? This cannot be undone.");
924         var group_subgroups = {};
925         [% FOREACH group IN groups_with_subgroups %]
926             var gid = "[% group.id %]"
927             group_subgroups[gid] = new Array();
928             [% FOREACH subgroup IN group.subgroups %]
929                 var sgid = "[% subgroup.id %]";
930                 var sgname = "[% subgroup.name %]";
931                 group_subgroups[gid].push([sgid, sgname]);
932             [% END %]
933         [% END %]
934
935         function load_group_subgroups () {
936             var group = $("#group_select").val();
937             var sg = $("#subgroup");
938             $(sg).find('option[value!=""]').each(function() {
939                 $(this).remove();
940             });
941             $(sg).hide();
942             if (group) {
943                 var select = $(sg).find('select')[0];
944                 $.each( group_subgroups[group], function(index, value) {
945                     $('<option value="' + value[0] + '">' + value[1] + '</option>').appendTo(select);
946                 } );
947                 $("#subgroup, #subgroup *").show();
948             }
949         }
950
951         $(document).ready(function(){
952             $('#limit').change(function() {
953                 $('#limitselect').submit();
954             });
955
956             $(".goback").on("click",function(e){
957                 e.preventDefault();
958                 window.history.back();
959             });
960
961             $("#addColumn").on("click",function(){
962                 addColumn();
963             });
964
965             $("#delColumn").on("click",function(){
966                 delColumn();
967             });
968
969             [% IF (saved1) %]
970                 var rtable = $("#table_reports").dataTable($.extend(true, {}, dataTablesDefaults, {
971                     'iDisplayLength': [% Koha.Preference('NumSavedReports') %],
972                     'bAutoWidth': false,
973                     'sPaginationType': 'four_button',
974                     'aaSorting': [[ 1, "asc" ]],
975                     'aoColumnDefs': [
976                         { 'bSortable': false, 'bSearchable':false, 'aTargets': [0, -1] },
977                         { 'bSearchable': false, 'aTargets': [3] },
978                         { "aTargets": [ 1, 2 ], "sType": "natural"  },
979                         { "sType": "title-string", "aTargets" : [ "title-string" ] }
980                     ],
981                     'oLanguage': {
982                         'sZeroRecords': _("No matching reports found")
983                     }
984                 }));
985
986                 var rtabs = $("#tabs").tabs();
987                 rtabs.on("tabsactivate", function(e, ui) {
988                     $("#subgroup_filter option").each(function() {
989                         if($(this).val().length > 0) {
990                             $(this).remove();
991                         }
992                     });
993                     rtable.fnFilter('', 4);
994                     rtable.fnFilter('', 5);
995                     rtable.fnSetColumnVis(4, true);
996                     rtable.fnSetColumnVis(5, true);
997
998                     var g_id = $(ui.newTab).children().attr('id');
999                     var g_name = $(ui.newTab).text();
1000                     if ( g_name == _("All") ) {
1001                         g_id = "";
1002                         g_name = "";
1003                     }
1004
1005                     if (g_id && g_id.length > 0) {
1006                         rtable.fnFilter('^' + g_name + '$', 4, true, true, true, false);
1007                         rtable.fnSetColumnVis(4, false);
1008                         for(var i in group_subgroups[g_id]) {
1009                             $("#subgroup_filter").append(
1010                                 '<option value="' + group_subgroups[g_id][i][0] + '">'
1011                                 + group_subgroups[g_id][i][1] + '</option>'
1012                             );
1013                         }
1014                         $("#subgroup_filter_block").show();
1015                     } else {
1016                         $("#subgroup_filter_block").hide();
1017                     }
1018                 });
1019                 $("#subgroup_filter_block").hide();
1020
1021                 $("#subgroup_filter").change(function() {
1022                     var selected = $(this).find('option:selected');
1023                     var sg_id = $(selected).val();
1024                     var sg_name = $(selected).text();
1025                     if (sg_id.length > 0) {
1026                         rtable.fnFilter('^' + sg_name + '$', 5, true, true, true, false);
1027                         rtable.fnSetColumnVis(5, false);
1028                     } else {
1029                         rtable.fnFilter('', 5);
1030                         rtable.fnSetColumnVis(5, true);
1031                     }
1032                 });
1033
1034                 $("#reports_form").submit(function(){
1035                     var checkedItems = $("input[name=ids]:checked");
1036                     if ($(checkedItems).size() == 0) {
1037                         alert(_("You must select one or more reports to delete"));
1038                         return false;
1039                     }
1040                     $(checkedItems).parents('tr').addClass("warn");
1041                     if( confirm(_("Are you sure you want to delete the selected reports?")) ) {
1042                         return true;
1043                     } else {
1044                         $(checkedItems).parents('tr').removeClass("warn");
1045                         return false;
1046                     }
1047                 });
1048
1049                 $("body").on("click", ".update_sql", function(e){
1050                     e.preventDefault();
1051                     var ltitle = $(this).text();
1052                     var report_id = $(this).data("report_id");
1053                     var page = $(this).attr("href");
1054                     $("#update_sql .modal-body").load(page + " div", function(){
1055                         var diff1 = $("#col1 .show_sql").text();
1056                         var diff2 = $("#col2 .show_sql").text();
1057                         var diffs = diffString( escape(diff1), escape(diff2) );
1058                         $("#col1 .show_sql,#col2 .show_sql").html(diffs);
1059                     });
1060                     $('#update_sql').modal('show');
1061                     $("#update_sql_button").attr("href", "/cgi-bin/koha/reports/guided_reports.pl?phase=Use saved&op=convert&report_id=" + report_id);
1062                 });
1063
1064                 $("#update_sql").on("hidden.bs.modal", function(){
1065                     $("#update_sql_label").html("");
1066                     $("#update_sql .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
1067                 });
1068             [% END %]
1069
1070             [% IF ( showsql ) %]
1071                 $("#sql").focus(function() {
1072                     $(this).select();
1073                 });
1074             [% END %]
1075
1076                 $(".toggle_sql").click(function(){
1077                     $("#sql_output").toggle();
1078                     $("#toggle_sql_hid").toggle();
1079                     $("#toggle_sql_vis").toggle();
1080                 });
1081
1082                 $("#table_reports").delegate(".confirmdelete", 'click', function(){
1083                     $(this).parents('tr').attr("class","warn");
1084                     if(confirm(_("Are you sure you want to delete this saved report?"))){
1085                         return true;
1086                     } else {
1087                         $(this).parents('tr').attr("class","");
1088                         return false;
1089                     }
1090                 });
1091
1092             [% IF (create || editsql || save) %]
1093                 $("#select_group").change(function() {
1094                     if($(this).prop('checked')) {
1095                         $("#group_input").prop('disabled', true);
1096                         $("#groupdesc_input").prop('disabled', true);
1097                         $("#group_select").prop('disabled', false);
1098                         if ($("#group_select").val().length > 0) {
1099                             $("#select_subgroup").prop('checked', true);
1100                             $("#select_subgroup").change();
1101                             $("#subgroup, #subgroup *").show();
1102                         } else {
1103                             $("#subgroup").hide();
1104                         }
1105                     }
1106                 });
1107                 $("#create_group").change(function() {
1108                     if($(this).prop('checked')) {
1109                         $("#group_input").prop('disabled', false);
1110                         $("#groupdesc_input").prop('disabled', false);
1111                         $("#group_select").prop('disabled', true);
1112                         $("#create_subgroup").prop('checked', true).change();
1113                         $("#subgroup_select").hide();
1114                         $("#subgroup input[type='radio']").hide();
1115                         $("#subgroup label[for]").hide();
1116                         $("#subgroup_input").show();
1117                         $("#subgroupdesc_input").show();
1118                         $("#subgroup").show();
1119                     }
1120                 });
1121                 $("#select_subgroup").change(function() {
1122                     if($(this).prop('checked')) {
1123                         $("#subgroup_select").prop('disabled', false);
1124                         $("#subgroup_input").prop('disabled', true);
1125                         $("#subgroupdesc_input").prop('disabled', true);
1126                     }
1127                 });
1128                 $("#create_subgroup").change(function() {
1129                     if($(this).prop('checked')) {
1130                         $("#subgroup_input").prop('disabled', false);
1131                         $("#subgroupdesc_input").prop('disabled', false);
1132                         $("#subgroup_select").prop('disabled', true);
1133                     }
1134                 });
1135                 $("#select_group").change();
1136                 $("#select_subgroup").change();
1137                 $("#group_select").on("change",function(){
1138                     load_group_subgroups();
1139                 });
1140             [% END %]
1141             $(".delete").on("click",function(){
1142                 return confirmDelete(MSG_CONFIRM_DELETE);
1143             });
1144         });
1145         function addColumn() {
1146             $("#availableColumns option:selected").clone().appendTo("#selectedColumns").attr("selected", "selected");
1147         }
1148         function delColumn() {
1149             $("#selectedColumns option:selected").remove();
1150         }
1151         $("#column_submit").submit(function() {
1152             if ($("#selectedColumns option").size() < 1) {
1153                 alert(_("No columns selected!"));
1154                 return false;
1155             }
1156             $("#selectedColumns option").attr("selected", "selected");  // Select everything still in #selectedColumns
1157             return true;
1158         });
1159     </script>
1160 [% END %]
1161
1162 [% INCLUDE 'intranet-bottom.inc' %]
1163
1164 [% BLOCK group_and_subgroup_selection %]
1165     <li id="group">
1166         <label>Report group:</label>
1167         <input type="radio" name="select_or_create_group"
1168             id="select_group" checked="checked" />
1169         <label for="select_group" style="float:none">Select</label>
1170         <select name="group" id="group_select">
1171             <option value="">(None)</option>
1172             [% FOREACH group IN groups_with_subgroups %]
1173                 [% IF (group.selected) %]
1174                     <option value="[% group.id %]" selected="selected">
1175                 [% ELSE %]
1176                     <option value="[% group.id %]">
1177                 [% END %]
1178                     [% group.name %]
1179                 </option>
1180             [% END %]
1181         </select>
1182         <input type="radio" name="select_or_create_group" id="create_group" />
1183         <label for="create_group" style="float:none">or create:</label>
1184         <input type="text" name="group" id="group_input" title="Group code" placeholder="Code" />
1185         <input type="text" name="groupdesc" id="groupdesc_input" title="Group name" placeholder="Name" />
1186     </li>
1187     <li id="subgroup">
1188         <label>Report subgroup:</label>
1189         <input type="radio" name="select_or_create_subgroup"
1190             id="select_subgroup" checked="checked" />
1191         <label for="select_subgroup" style="float:none">Select</label>
1192         <select name="subgroup" id="subgroup_select">
1193             <option value="">(None)</option>
1194             [% FOREACH group IN groups_with_subgroups %]
1195                 [% IF (group.selected) %]
1196                     [% FOREACH subgroup IN group.subgroups %]
1197                         [% IF (subgroup.selected) %]
1198                             <option value="[% subgroup.id %]" selected="selected">
1199                         [% ELSE %]
1200                             <option value="[% subgroup.id %]">
1201                         [% END %]
1202                             [% subgroup.name %]
1203                         </option>
1204                     [% END %]
1205                 [% END %]
1206             [% END %]
1207         </select>
1208         <input type="radio" name="select_or_create_subgroup"
1209             id="create_subgroup" />
1210         <label for="create_subgroup" style="float:none">or create</label>
1211         <input type="text" name="subgroup" id="subgroup_input" title="Subgroup code" placeholder="Code" />
1212         <input type="text" name="subgroupdesc" id="subgroupdesc_input" title="Subgroup name" placeholder="Name" />
1213     </li>
1214 [% END %]