4 [% USE AuthorisedValues %]
7 [% USE TablesSettings %]
9 [% INCLUDE 'doc-head-open.inc' %]
11 Koha › Tools ›
18 [% INCLUDE 'doc-head-close.inc' %]
19 [% Asset.css("css/humanmsg.css") | $raw %]
22 fieldset.rows label.viewlog {
37 background-color: #E6F0F2;
38 margin: .5em -.5em -.5em -.5em;
47 background-color: #e6ffe6;
50 background-color: #ffe6e6;
64 <body id="tools_viewlog" class="tools">
65 [% INCLUDE 'header.inc' %]
66 [% INCLUDE 'cat-search.inc' %]
68 [% BLOCK translate_log_module %]
70 [% CASE 'AUTH' %]Authentication[% UNLESS Koha.Preference('AuthFailureLog') || Koha.Preference('AuthScuccessLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
71 [% CASE 'CATALOGUING' %]Catalog[% UNLESS Koha.Preference('CataloguingLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
73 [% CASE 'AUTHORITIES' %]Authorities[% UNLESS Koha.Preference('AuthoritiesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
75 [% CASE 'MEMBERS' %]Patrons[% UNLESS Koha.Preference('BorrowersLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
77 [% CASE 'ACQUISITIONS' %]Acquisitions <i class="fa fa-warning" title="Log not enabled"></i>
79 [% CASE 'SERIAL' %]Serials[% UNLESS Koha.Preference('SubscriptionLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
81 [% CASE 'HOLDS' %]Holds[% UNLESS Koha.Preference('HoldsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
83 [% CASE 'ILL' %]Interlibrary loans[% UNLESS Koha.Preference('IllLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
85 [% CASE 'CIRCULATION' %]Circulation[% UNLESS Koha.Preference('IssueLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
87 [% CASE 'LETTER' %]Letter[% UNLESS Koha.Preference('LetterLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
89 [% CASE 'FINES' %]Fines[% UNLESS Koha.Preference('FinesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
91 [% CASE 'SYSTEMPREFERENCE' %]System prefs
93 [% CASE 'CRONJOBS' %]Cron jobs[% UNLESS Koha.Preference('CronjobLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
95 [% CASE 'REPORTS' %]Reports[% UNLESS Koha.Preference('ReportsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
97 [% CASE %][% module | html %]
101 [% BLOCK translate_log_action %]
104 [% CASE 'DELETE' %]Delete
105 [% CASE 'MODIFY' %]Modify
106 [% CASE 'ISSUE' %]Checkout
107 [% CASE 'RETURN' %]Return
108 [% CASE 'CREATE' %]Create
109 [% CASE 'CANCEL' %]Cancel
110 [% CASE 'RESUME' %]Resume
111 [% CASE 'SUSPEND' %]Suspend
112 [% CASE 'RENEW' %]Renew
113 [% CASE 'RENEWAL' %]Renew
114 [% CASE 'CHANGE PASS' %]Change password
115 [% CASE 'ADDCIRCMESSAGE' %]Add circulation message
116 [% CASE 'DELCIRCMESSAGE' %]Delete circulation message
117 [% CASE 'STATUS_CHANGE' %]Change ILL request status
119 [% CASE %][% action | html %]
123 [% BLOCK translate_log_interface %]
124 [% SWITCH log_interface.upper %]
125 [% CASE 'INTRANET' %]Intranet
126 [% CASE 'OPAC' %]OPAC
128 [% CASE 'COMMANDLINE' %]Command-line
129 [% CASE 'API' %]REST API
130 [% CASE 'CRON' %]Cron job
131 [% CASE %][% log_interface | html %]
135 <div id="breadcrumbs">
136 <a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> ›
138 <a href="/cgi-bin/koha/tools/viewlog.pl">Logs</a> › Results
144 <div class="main container-fluid">
146 <div class="col-sm-10 col-sm-push-2">
149 <h1>Browse system logs</h1>
150 <form method="post" action="/cgi-bin/koha/tools/viewlog.pl">
152 <input type="hidden" name="do_it" value="[% do_it | html %]" />
154 <input type="hidden" name="src" value="[% src | html %]" />
155 <fieldset class="rows">
158 <label for="user">Librarian:</label>
159 <input type="text" name="user" id="user" value="[% user | html %]" />
161 [% UNLESS src == "circ" %]
163 <label for="modules">Modules:</label>
164 <div class="log_modules">
165 [% IF modules.size == 0 %]
166 <label for="moduleALL" class="viewlog"><input type="checkbox" id="moduleALL" name="modules" value="" checked="checked"> All</label>
168 <label for="moduleALL" class="viewlog"><input type="checkbox" id="moduleALL" name="modules" value=""> All</label>
170 [% FOREACH modx IN [ 'AUTH' 'CATALOGUING' 'AUTHORITIES' 'MEMBERS' 'ACQUISITIONS' 'SERIAL' 'HOLDS' 'ILL' 'CIRCULATION' 'LETTER' 'FINES' 'SYSTEMPREFERENCE' 'CRONJOBS', 'REPORTS' ] %]
171 [% IF modules.grep(modx).size %]
172 <label for="module[% modx | html %]" class="viewlog"><input type="checkbox" id="module[% modx | html %]" name="modules" value="[% modx | html %]" checked="checked"> [% PROCESS translate_log_module module=modx %]</label>
174 <label for="module[% modx | html %]" class="viewlog"><input type="checkbox" id="module[% modx | html %]" name="modules" value="[% modx | html %]"> [% PROCESS translate_log_module module=modx %]</label>
180 <input type="hidden" name="modules" value="MEMBERS" />
181 <input type="hidden" name="modules" value="CIRCULATION" />
184 <label for="actions">Actions:</label>
185 <div class="log_modules">
186 [% IF actions.length == 0 %]
187 <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value="" checked="checked"> All</label>
189 <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value=""> All</label>
192 [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'CHANGE PASS' 'Run' ] %]
193 [% IF actions.grep(actx).size %]
194 <label for="action[% actx | html %]" class="viewlog"><input type="checkbox" id="action[% actx | html %]" name="actions" value="[% actx | html %]" checked="checked"> [% PROCESS translate_log_action action=actx %]</label>
196 <label for="action[% actx | html %]" class="viewlog"><input type="checkbox" id="action[% actx | html %]" name="actions" value="[% actx | html %]"> [% PROCESS translate_log_action action=actx %]</label>
202 [% IF src == 'circ' %]
203 <label for="object">Borrowernumber: </label>
204 <input type="text" id="object" name="object" value="[% object | html %]" readonly="readonly" title="This field cannot be modified from the circulation module." />
206 <label for="object">Object: </label>
207 <input type="text" id="object" name="object" value="[% object | html %]" />
211 <label for="info">Info:</label>
212 <input type="text" id="info" name="info" value="[% info | html %]" />
215 <label for="interfaces">Interface:</label>
216 [% IF interfaces.size == 0 %]
217 <label for="interfaceALL" class="viewlog"><input type="checkbox" id="interfaceALL" name="interfaces" value="" checked="checked"> All</label>
219 <label for="interfaceALL" class="viewlog"><input type="checkbox" id="interfaceALL" name="interfaces" value=""> All</label>
222 [% FOREACH interf IN [ 'INTRANET' 'OPAC' 'SIP' 'COMMANDLINE' 'API' 'CRON' ] %]
223 [% IF interfaces.grep(interf).size %]
224 <label for="interface[% interf | html %]" class="viewlog"><input type="checkbox" id="interface[% interf | html %]" name="interfaces" value="[% interf | html %]" checked="checked"> [% PROCESS translate_log_interface log_interface=interf %]</label>
226 <label for="interface[% interf | html %]" class="viewlog"><input type="checkbox" id="interface[% interf | html %]" name="interfaces" value="[% interf | html %]"> [% PROCESS translate_log_interface log_interface=interf %]</label>
231 <label for="from"> Display from: </label> <input type="text" size="10" id="from" name="from" value="[% datefrom | html %]" class="datepickerfrom" />
232 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
235 <label for="to">Display to: </label> <input size="10" id="to" name="to" type="text" value="[% dateto | html %]" class="datepickerto" />
236 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
240 <fieldset class="rows">
241 <legend>Output</legend>
244 <label for="screen" >To screen in the browser:</label> <input id="screen" type="radio" checked="checked" name="output" value="screen" />
247 <label for="file">To a file:</label>
248 <input id="file" type="radio" name="output" value="file" />
249 <label class="inline" for="basename">Named:</label>
250 <input type="text" name="basename" id="basename" value="Export" />
252 <label for="MIME" class="inline">Into an application:</label>
253 [% CGIextChoice | html %]
254 [% CGIsepChoice | html %]
256 <input type="hidden" name="report_name" value="[% report_name | html %]" />
260 <fieldset class="action">
261 <input type="submit" value="Submit" />
262 <input type="hidden" name="do_it" value="1" />
268 <div id="toolbar" class="btn-toolbar">
269 <a href="#" id="select_none" class="btn btn-link disabled"><i class="fa fa-remove"></i> Check none</a>
270 <button class="btn btn-link disabled compare_link"><i class="fa fa-columns"></i> Compare selected</button>
285 [% FOREACH loopro IN looprow %]
287 <td data-order="[% loopro.timestamp | html %]">[% loopro.timestamp | $KohaDates with_hours=1 %]</td>
289 [% IF loopro.librarian %]
290 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.librarian.borrowernumber | uri %]" title="display detail for this librarian."> [% IF ( loopro.librarian.firstname ) || ( loopro.librarian.surname ) %][% loopro.librarian.firstname | html %] [% loopro.librarian.surname | html %] ([% loopro.librarian.borrowernumber | html %]) [% ELSE %][% loopro.librarian.borrowernumber | html %][% END %]</a>
292 [% loopro.user | html %]
295 <td>[% PROCESS translate_log_module module=loopro.module %]</td>
296 <td>[% PROCESS translate_log_action action=loopro.action %]</td>
298 [% IF ( loopro.module == 'MEMBERS' ) || ( loopro.module == 'CIRCULATION' ) || ( loopro.module == 'FINES' ) %]
299 [% IF loopro.patron %]
300 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object | uri %]" title="Display member details."> [% IF ( loopro.object ) %][% IF ( loopro.patron.firstname ) || ( loopro.patron.surname ) %][% loopro.patron.firstname | html %] [% loopro.patron.surname | html %] ([% loopro.object | html %]) [% ELSE %]Member [% loopro.object | html %][% END %][% END %] </a>
302 [% loopro.object | html %]
305 [% IF ( loopro.module == 'CATALOGUING' ) %]
306 [% IF ( loopro.info.substr(0, 4) == 'item' ) %]
307 <a href="/cgi-bin/koha/catalogue/moredetail.pl?item=[% loopro.object | uri %]&biblionumber=[% loopro.biblionumber | uri %]&bi=[% loopro.biblioitemnumber | uri %]#item[% loopro.object | uri %]">Item [% loopro.object | html %]</a> from
308 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.biblionumber | uri %]" title="Display detail for this biblio">Biblio [% loopro.biblionumber | html %]</a>
309 [% ELSIF ( loopro.info.substr(0, 6) == 'biblio' ) %]
310 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.object | uri %]" title="Display detail for this biblio">Biblio [% loopro.object | html %]</a>
312 [% loopro.object | html %]
315 [% IF ( loopro.module == 'SERIAL' ) %]
316 <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% loopro.object | uri %]">Subscription [% loopro.object | html %] </a>
318 [% IF ( loopro.module == 'AUTHORITIES' ) %]
319 <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% loopro.object | uri %]" title="Display detail for this authority">Authority [% loopro.object | html %]</a>
321 [% loopro.object | html %]
328 [% IF ( loopro.module == 'CIRCULATION' ) %]
329 <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% loopro.info | uri %]&biblionumber=[% loopro.biblionumber | uri %]&bi=[% loopro.biblioitemnumber | uri %]#item[% loopro.info | uri %]" title="Display detail for this item">Item [% loopro.barcode | html %]</a>
331 [% IF loopro.module == "SYSTEMPREFERENCE" %]
332 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">[% loopro.info | trim | html %]</div>
333 <div class="compare_info" id="compare_info[% loopro.action_id | html %]">
334 <label><input type="checkbox" name="diff" id="action_id[% loopro.action_id | html %]" data-actionid="[% loopro.action_id | html %]" data-filter="[% FOREACH info IN loopro.info.split(' \| ') %][% IF loop.first %][% info | html %][% END %][% END %]" class="compare" /> Compare</label>
337 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">
338 [% loopro.info | html %]
343 <td>[% PROCESS translate_log_interface log_interface=loopro.interface %]</td>
349 <div class="dialog alert">
351 [% IF ( CATALOGUING ) %]
352 for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% object | url %]">Bibliographic record [% object | html %]</a>
355 for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% object | url %]">[% INCLUDE 'patron-title.inc' %]</a>
364 </div> <!-- /.col-sm-10.col-sm-push-2 -->
366 <div class="col-sm-2 col-sm-pull-10">
368 [% IF ( circulation ) %]
369 [% INCLUDE 'circ-menu.inc' %]
371 [% IF ( CATALOGUING ) %]
372 [% INCLUDE 'biblio-view-menu.inc' %]
374 [% INCLUDE 'tools-menu.inc' %]
378 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
379 </div> <!-- /.row -->
381 <div class="modal" id="compareInfo" tabindex="-1" role="dialog" aria-labelledby="compareInfoLabel">
382 <div class="modal-dialog modal-lg" role="document">
383 <div class="modal-content">
384 <div class="modal-header">
385 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
386 <h4 class="modal-title" id="compareInfoLabel">Compare preference values</h4>
388 <div class="modal-body">
390 <div class="compare_pane col-sm-6" id="col1">
391 <h5>Older version</h5>
394 <div class="compare_pane col-sm-6" id="col2">
395 <h5>Newer version</h5>
399 </div> <!-- /.modal-body -->
400 <div class="modal-footer">
401 <button type="button" class="btn btn-default deny" data-dismiss="modal">Close</button>
403 </div> <!-- /.modal-content -->
404 </div> <!-- /.modal-dialog -->
405 </div> <!-- /#compareInfo -->
407 [% MACRO jsinclude BLOCK %]
408 [% INCLUDE 'calendar.inc' %]
409 [% INCLUDE 'datatables.inc' %]
410 [% INCLUDE 'columns_settings.inc' %]
411 [% Asset.js("lib/jquery/plugins/humanmsg.js") | $raw %]
412 [% Asset.js("js/tools-menu.js") | $raw %]
413 [% Asset.js("lib/hc-sticky.js") | $raw %]
414 [% IF ( circulation ) %]
415 [% INCLUDE 'str/members-menu.inc' %]
416 [% Asset.js("js/members-menu.js") | $raw %]
418 [% Asset.js("lib/jsdiff/jsdiff.min.js") | $raw %]
420 var columns_settings = [% TablesSettings.GetColumns('tools', 'logviewer', 'logst', 'json') | $raw %];
422 [% Asset.js("js/viewlog.js") | $raw %]
425 [% INCLUDE 'intranet-bottom.inc' %]