Bug 28108: (QA follow-up) Add actions to log viewer
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / tools / viewlog.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE AuthorisedValues %]
5 [% USE Branches %]
6 [% USE KohaDates %]
7 [% USE TablesSettings %]
8 [% SET footerjs = 1 %]
9 [% INCLUDE 'doc-head-open.inc' %]
10 <title>
11     [% IF ( do_it ) %]
12         Results &rsaquo; [% END %]
13
14     Logs &rsaquo; Tools &rsaquo; Koha
15 </title>
16 [% INCLUDE 'doc-head-close.inc' %]
17 [% Asset.css("css/humanmsg.css") | $raw %]
18 [% FILTER collapse %]
19     <style>
20         fieldset.rows label.viewlog {
21             float: none;
22             font-weight: normal;
23             margin: 0;
24             min-width: 9em;
25             padding: .5em;
26             text-align: left;
27             white-space: nowrap;
28             width: auto;
29         }
30         .log_modules {
31             display: flex;
32             flex-wrap: wrap;
33         }
34         .compare_info {
35             background-color: #E6F0F2;
36             margin: .5em -.5em -.5em -.5em;
37             padding: .5em;
38             text-align: right;
39         }
40         .modal-dialog {
41             width : 90%;
42         }
43         /* jsdiff styles */
44         ins {
45             background-color: #e6ffe6;
46         }
47         del {
48             background-color: #ffe6e6;
49         }
50         #col1 ins,
51         #col2 del {
52             display: none;
53         }
54         pre {
55             overflow: scroll;
56             padding: 10px;
57         }
58     </style>
59 [% END %]
60 </head>
61
62 <body id="tools_viewlog" class="tools">
63 [% INCLUDE 'header.inc' %]
64 [% INCLUDE 'cat-search.inc' %]
65
66 [% BLOCK translate_log_module %]
67 [%    SWITCH module %]
68 [%        CASE 'AUTH'         %]Authentication[% UNLESS Koha.Preference('AuthFailureLog') || Koha.Preference('AuthScuccessLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
69 [%        CASE 'CATALOGUING'  %]Catalog[% UNLESS Koha.Preference('CataloguingLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
70
71 [%        CASE 'AUTHORITIES'  %]Authorities[% UNLESS Koha.Preference('AuthoritiesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
72
73 [%        CASE 'MEMBERS'      %]Patrons[% UNLESS Koha.Preference('BorrowersLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
74
75 [%        CASE 'ACQUISITIONS' %]Acquisitions [% UNLESS Koha.Preference('AcquisitionLog') %]<i class="fa fa-warning" title="Log not enabled"></i>[% END %]
76
77 [%        CASE 'SERIAL'       %]Serials[% UNLESS Koha.Preference('SubscriptionLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
78
79 [%        CASE 'HOLDS'        %]Holds[% UNLESS Koha.Preference('HoldsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
80
81 [%        CASE 'ILL'          %]Interlibrary loans[% UNLESS Koha.Preference('IllLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
82
83 [%        CASE 'CIRCULATION'  %]Circulation[% UNLESS Koha.Preference('IssueLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
84
85 [%        CASE 'CLAIMS'       %]Claims[% UNLESS Koha.Preference('ClaimsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
86
87 [%        CASE 'FINES'        %]Fines[% UNLESS Koha.Preference('FinesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
88
89 [%        CASE 'SYSTEMPREFERENCE' %]System prefs
90
91 [%        CASE 'CRONJOBS' %]Cron jobs[% UNLESS Koha.Preference('CronjobLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
92
93 [%        CASE 'REPORTS'      %]Reports[% UNLESS Koha.Preference('ReportsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
94
95 [%        CASE 'SEARCHENGINE' %]Search engine
96
97 [%        CASE 'NOTICES'      %]Notices[% UNLESS Koha.Preference('NoticesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
98 [%        CASE %][% module | html %]
99 [%    END %]
100 [% END %]
101
102 [% BLOCK translate_log_action %]
103 [%    SWITCH action %]
104 [%        CASE 'ADD'    %]Add
105 [%        CASE 'DELETE' %]Delete
106 [%        CASE 'MODIFY' %]Modify
107 [%        CASE 'ISSUE'  %]Checkout
108 [%        CASE 'RETURN' %]Return
109 [%        CASE 'CREATE' %]Create
110 [%        CASE 'CANCEL' %]Cancel
111 [%        CASE 'RESUME' %]Resume
112 [%        CASE 'SUSPEND' %]Suspend
113 [%        CASE 'RENEW'  %]Renew
114 [%        CASE 'RENEWAL' %]Renew
115 [%        CASE 'CHANGE PASS' %]Change password
116 [%        CASE 'ADDCIRCMESSAGE' %]Add circulation message
117 [%        CASE 'DELCIRCMESSAGE' %]Delete circulation message
118 [%        CASE 'STATUS_CHANGE'  %]Change ILL request status
119 [%        CASE 'PATRON_NOTICE'  %]ILL notice sent to patron
120 [%        CASE 'ADD_BASKET' %]Create an acquisitions basket
121 [%        CASE 'MODIFY_BASKET' %]Modify an acquisitions basket
122 [%        CASE 'MODIFY_BASKET_HEADER' %]Modify an acquisitions basket header
123 [%        CASE 'MODIFY_BASKET_USERS' %]Modify an acquisitions basket's users
124 [%        CASE 'CLOSE_BASKET' %]Close an acquisitions basket
125 [%        CASE 'APPROVE_BASKET' %]Approve an acquisitions basket
126 [%        CASE 'REOPEN_BASKET' %]Reopen an acquisitions basket
127 [%        CASE 'Run'    %]Run
128 [%        CASE 'EDIT_MAPPINGS' %]Edit mappings
129 [%        CASE 'RESET_MAPPINGS' %]Reset mappings
130 [%        CASE 'SERIAL CLAIM' %]Serial claim
131 [%        CASE 'ACQUISITION CLAIM' %]Acquisition claim
132 [%        CASE 'ACQUISITION ORDER' %]Acquisition order
133 [%        CASE %][% action | html %]
134 [%    END %]
135 [% END %]
136
137 [% BLOCK translate_log_interface %]
138 [%    SWITCH log_interface.upper %]
139 [%        CASE 'INTRANET'    %]Intranet
140 [%        CASE 'OPAC'        %]OPAC
141 [%        CASE 'SIP'         %]SIP
142 [%        CASE 'COMMANDLINE' %]Command-line
143 [%        CASE 'API'         %]REST API
144 [%        CASE 'CRON'        %]Cron job
145 [%        CASE 'UPGRADE'     %]Upgrade
146 [%        CASE %][% log_interface | html %]
147 [%    END %]
148 [% END %]
149
150 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
151     <ol>
152         <li>
153             <a href="/cgi-bin/koha/mainpage.pl">Home</a>
154         </li>
155         <li>
156             <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
157         </li>
158         [% IF ( do_it ) %]
159             <li>
160                 <a href="/cgi-bin/koha/tools/viewlog.pl">Logs</a>
161             </li>
162             <li>
163                 <a href="#" aria-current="page">
164                     Results
165                 </a>
166             </li>
167         [% ELSE %]
168             <li>
169                 <a href="#" aria-current="page">
170                     Logs
171                 </a>
172             </li>
173         [% END %]
174     </ol>
175 </nav>
176
177 <div class="main container-fluid">
178     <div class="row">
179         <div class="col-sm-10 col-sm-push-2">
180             <main>
181
182                                 <h1>Browse system logs</h1>
183                                 <form method="post" action="/cgi-bin/koha/tools/viewlog.pl">
184                                         [% IF ( do_it ) %]
185                                                 <input type="hidden" name="do_it" value="[% do_it | html %]" />
186                                         [% END %]
187                     <input type="hidden" name="src" value="[% src | html %]" />
188                                         <fieldset class="rows">
189                                                 <ol>
190                                                         <li>
191                                                                 <label for="user">Librarian:</label>
192                                 <input type="text" name="user" id="user" value="[% user | html %]" />
193                                                         </li>
194                             [% UNLESS src == "circ" %]
195                                 <li>
196                                     <label>Modules:</label>
197                                     <div class="log_modules">
198                                         [% IF modules.size == 0 %]
199                                             <label for="moduleALL" class="viewlog"><input type="checkbox" id="moduleALL" name="modules" value="" checked="checked"> All</label>
200                                         [% ELSE %]
201                                             <label for="moduleALL" class="viewlog"><input type="checkbox" id="moduleALL" name="modules" value=""> All</label>
202                                         [% END %]
203                                         [% FOREACH modx IN [ 'AUTH' 'CATALOGUING' 'AUTHORITIES' 'MEMBERS' 'ACQUISITIONS' 'SERIAL' 'HOLDS' 'ILL' 'CIRCULATION' 'CLAIMS' 'FINES' 'SYSTEMPREFERENCE' 'CRONJOBS', 'REPORTS', 'SEARCHENGINE', 'NOTICES' ] %]
204                                             [% IF modules.grep(modx).size %]
205                                                 <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>
206                                             [% ELSE %]
207                                                 <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>
208                                             [% END %]
209                                         [% END %]
210                                     </div>
211                                 </li>
212                             [% ELSE %]
213                                 <input type="hidden" name="modules" value="MEMBERS" />
214                                 <input type="hidden" name="modules" value="CIRCULATION" />
215                             [% END %]
216                             <li>
217                                 <label>Actions:</label>
218                                 <div class="log_modules">
219                                     [% IF actions.length == 0 %]
220                                         <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value="" checked="checked"> All</label>
221                                     [% ELSE %]
222                                         <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value=""> All</label>
223                                     [% END %]
224
225                                     [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'PATRON_NOTICE' 'CHANGE PASS' 'Run' 'EDIT_MAPPINGS' 'RESET_MAPPINGS' 'ADD_BASKET' 'MODIFY_BASKET' 'MODIFY_BASKET_HEADER' 'MODIFY_BASKET_USERS' 'CLOSE_BASKET' 'APPROVE_BASKET' 'REOPEN_BASKET' ] %]
226                                         [% IF actions.grep(actx).size %]
227                                             <label for="action[% actx| replace('\s+', '_') | html %]" class="viewlog"><input type="checkbox" id="action[% actx | replace('\s+', '_') | html %]" name="actions" value="[% actx | html %]" checked="checked"> [% PROCESS translate_log_action action=actx %]</label>
228                                         [% ELSE %]
229                                             <label for="action[% actx| replace('\s+', '_') | html %]" class="viewlog"><input type="checkbox" id="action[% actx | replace('\s+', '_') | html %]" name="actions" value="[% actx | html %]"> [% PROCESS translate_log_action action=actx %]</label>
230                                         [% END %]
231                                     [% END %]
232                                 </div>
233                             </li>
234                             <li>
235                                 [% IF src == 'circ' %]
236                                     <label for="object">Borrowernumber: </label>
237                                     <input type="text" id="object" name="object" value="[% object | html %]" readonly="readonly" title="This field cannot be modified from the circulation module." />
238                                 [% ELSE %]
239                                     <label for="object">Object: </label>
240                                     <input type="text" id="object" name="object" value="[% object | html %]" />
241                                 [% END %]
242                             </li>
243                                                         <li>
244                                                                 <label for="info">Info:</label>
245                                 <input type="text" id="info" name="info" value="[% info | html %]" />
246                                                         </li>
247                             <li>
248                                 <label>Interface:</label>
249                                 [% IF interfaces.size == 0 %]
250                                     <label for="interfaceALL" class="viewlog"><input type="checkbox" id="interfaceALL" name="interfaces" value="" checked="checked"> All</label>
251                                 [% ELSE %]
252                                     <label for="interfaceALL" class="viewlog"><input type="checkbox" id="interfaceALL" name="interfaces" value=""> All</label>
253                                 [% END %]
254
255                                 [% FOREACH interf IN [ 'INTRANET' 'OPAC' 'SIP' 'COMMANDLINE' 'API' 'CRON' ] %]
256                                     [% IF interfaces.grep(interf).size %]
257                                         <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>
258                                     [% ELSE %]
259                                         <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>
260                                     [% END %]
261                                 [% END %]
262                             </li>
263                                                         <li>
264                                 <label for="from"> Display from: </label> <input type="text" size="10" id="from" name="from" value="[% datefrom | html %]" class="datepickerfrom" />
265                                 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
266                                                         </li>
267                                                         <li>
268                                 <label for="to">Display to: </label> <input size="10" id="to" name="to" type="text" value="[% dateto | html %]" class="datepickerto" />
269                                 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
270                                                         </li>
271                                                 </ol>
272                                         </fieldset>
273                                         <fieldset class="rows">
274                                                 <legend>Output</legend>
275                                                 <ol>
276                                                         <li>
277                                                                 <label for="screen" >To screen in the browser:</label> <input id="screen" type="radio" checked="checked" name="output" value="screen" />
278                                                         </li>
279                                                         <li>
280                                                                 <label for="file">To a file:</label>
281                                                                 <input id="file" type="radio" name="output" value="file" />
282                                                                 <label class="inline" for="basename">Named:</label>
283                                                                 <input type="text" name="basename" id="basename" value="Export" />
284                                                                 <!--
285                                                                         <label for="MIME" class="inline">Into an application:</label>
286                                                                         [% CGIextChoice | html %]
287                                                                         [% CGIsepChoice | html %]
288                                                                 -->
289                                                                 <input type="hidden" name="report_name" value="[% report_name | html %]" />
290                                                         </li>
291                                                 </ol>
292                                         </fieldset>
293                                         <fieldset class="action">
294                                                 <input type="submit" value="Submit" />
295                                                 <input type="hidden" name="do_it" value="1" />
296                                         </fieldset>
297                         </form>
298                 [% IF ( do_it ) %]
299                     [% IF ( total ) %]
300                         <h3>Log entries</h3>
301                         <div id="toolbar" class="btn-toolbar">
302                             <a href="#" id="select_none" class="btn btn-link disabled"><i class="fa fa-remove"></i> Check none</a>
303                             <button class="btn btn-link disabled compare_link"><i class="fa fa-columns"></i> Compare selected</button>
304                         </div>
305                         <table id="logst">
306                             <thead>
307                                 <tr>
308                                     <th>Date</th>
309                                     <th>Librarian</th>
310                                     <th>Module</th>
311                                     <th>Action</th>
312                                     <th>Object</th>
313                                     <th>Info</th>
314                                     <th>Interface</th>
315                                 </tr>
316                             </thead>
317                             <tbody>
318                             [% FOREACH loopro IN looprow %]
319                                 <tr>
320                                     <td data-order="[% loopro.timestamp | html %]">[% loopro.timestamp | $KohaDates with_hours=1 %]</td>
321                                     <td>
322                                         [% IF loopro.librarian %]
323                                             <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>
324                                         [% ELSE %]
325                                             [% loopro.user | html %]
326                                         [% END %]
327                                     </td>
328                                     <td>[% PROCESS translate_log_module module=loopro.module %]</td>
329                                     <td>[% PROCESS translate_log_action action=loopro.action %]</td>
330                                     <td>
331                                         [% IF ( loopro.module == 'MEMBERS' ) || ( loopro.module == 'CIRCULATION' ) || ( loopro.module == 'FINES' ) %]
332                                             [% IF loopro.patron %]
333                                                 <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>
334                                             [% ELSE %]
335                                                 [% loopro.object | html %]
336                                             [% END %]
337                                         [% ELSIF ( loopro.module == 'CATALOGUING' ) %]
338                                             [% IF ( loopro.info.substr(0, 4) == 'item' ) %]
339                                                 <a href="/cgi-bin/koha/catalogue/moredetail.pl?item=[% loopro.object | uri %]&amp;biblionumber=[% loopro.biblionumber | uri %]&amp;bi=[% loopro.biblioitemnumber | uri %]#item[% loopro.object | uri %]">Item [% loopro.object | html %]</a> from
340                                                 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.biblionumber | uri %]" title="Display detail for this biblio">Biblio [% loopro.biblionumber | html %]</a>
341                                             [% ELSIF ( loopro.info.substr(0, 6) == 'biblio' ) %]
342                                                 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.object | uri %]" title="Display detail for this biblio">Biblio [% loopro.object | html %]</a>
343                                             [% ELSE %]
344                                                 [% loopro.object | html %]
345                                             [% END %]
346                                         [% ELSIF ( loopro.module == 'SERIAL' ) %]
347                                             <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% loopro.object | uri %]">Subscription [% loopro.object | html %] </a>
348                                         [% ELSIF ( loopro.module == 'AUTHORITIES' ) %]
349                                             <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% loopro.object | uri %]" title="Display detail for this authority">Authority [% loopro.object | html %]</a>
350                                         [% ELSIF ( loopro.module == 'NOTICES' ) %]
351                                             [% IF ( loopro.notice ) %]
352                                                 <a href="/cgi-bin/koha/tools/letter.pl?op=add_form&branchcode=[% loopro.notice.branchcode | uri %]&module=[% loopro.notice.module | uri %]&code=[% loopro.notice.code | uri %]#lang_[% loopro.notice.lang | uri %]">Notice [% loopro.notice.title | html %] ([% loopro.notice.code | html %])</a>
353                                             [% ELSE %]
354                                                 [% loopro.object | html %]
355                                             [% END %]
356                                         [% ELSE %]
357                                             [% loopro.object | html %]
358                                         [% END %]
359                                     </td>
360                                     <td>
361                                         [% IF ( loopro.module == 'CIRCULATION' ) %]
362                                             <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% loopro.info | uri %]&amp;biblionumber=[% loopro.biblionumber | uri %]&amp;bi=[% loopro.biblioitemnumber | uri %]#item[% loopro.info | uri %]" title="Display detail for this item">Item [% loopro.barcode | html %]</a>
363                                         [% ELSE %]
364                                             [% IF loopro.module == "SYSTEMPREFERENCE" || loopro.module == "REPORTS" %]
365                                                 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">[% loopro.info | trim | html %]</div>
366                                                 <div class="compare_info" id="compare_info[% loopro.action_id | html %]">
367                                                     <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>
368                                                 </div>
369                                             [% ELSIF loopro.module == "NOTICES" %]
370                                                 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">[% loopro.info | trim | html %]</div>
371                                                 <div class="compare_info" id="compare_info[% loopro.action_id | html %]">
372                                                     <label><input type="checkbox" name="diff" id="action_id[% loopro.action_id | html %]" data-actionid="[% loopro.action_id | html %]" data-filter="[% IF loopro.notice %][% loopro.notice.title | html %][% ELSE %][% loopro.object | html %][% END %]" class="compare" /> Compare</label>
373                                                 </div>
374                                             [% ELSE %]
375                                                 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">
376                                                     [% loopro.info | html %]
377                                                 </div>
378                                             [% END %]
379                                         [% END %]
380                                     </td>
381                                     <td>[% PROCESS translate_log_interface log_interface=loopro.interface %]</td>
382                                 </tr>
383                             [% END %]
384                             </tbody>
385                         </table>
386                     [% ELSE %]
387                         <div class="dialog alert">
388                             No log found
389                             [% IF ( CATALOGUING ) %]
390                                 for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% object | url %]">Bibliographic record [% object | html %]</a>
391                             [% END %]
392                             [% IF ( MEMBERS ) %]
393                                 for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% object | url %]">[% INCLUDE 'patron-title.inc' %]</a>
394                             [% END %]
395                             .
396                         </div>
397                     [% END %]
398                 [% END %]
399
400
401             </main>
402         </div> <!-- /.col-sm-10.col-sm-push-2 -->
403
404         <div class="col-sm-2 col-sm-pull-10">
405             <aside>
406                 [% IF ( circulation ) %]
407                     [% INCLUDE 'circ-menu.inc' %]
408                 [% ELSE %]
409                     [% IF ( CATALOGUING ) %]
410                         [% INCLUDE 'biblio-view-menu.inc' %]
411                     [% ELSE %]
412                         [% INCLUDE 'tools-menu.inc' %]
413                     [% END %]
414                 [% END %]
415             </aside>
416         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
417      </div> <!-- /.row -->
418
419 <div class="modal" id="compareInfo" tabindex="-1" role="dialog" aria-labelledby="compareInfoLabel">
420     <div class="modal-dialog modal-lg" role="document">
421         <div class="modal-content">
422             <div class="modal-header">
423                 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
424                 <h4 class="modal-title" id="compareInfoLabel">Compare preference values</h4>
425             </div>
426             <div class="modal-body">
427                 <div class="row">
428                     <div class="compare_pane col-sm-6" id="col1">
429                         <h5>Older version</h5>
430                         <pre></pre>
431                     </div>
432                     <div class="compare_pane col-sm-6" id="col2">
433                         <h5>Newer version</h5>
434                         <pre></pre>
435                     </div>
436                 </div>
437             </div> <!-- /.modal-body -->
438             <div class="modal-footer">
439                 <button type="button" class="btn btn-default deny" data-dismiss="modal">Close</button>
440             </div>
441         </div> <!-- /.modal-content -->
442     </div> <!-- /.modal-dialog -->
443 </div> <!-- /#compareInfo -->
444
445 [% MACRO jsinclude BLOCK %]
446     [% INCLUDE 'calendar.inc' %]
447     [% INCLUDE 'datatables.inc' %]
448     [% INCLUDE 'columns_settings.inc' %]
449     [% Asset.js("lib/jquery/plugins/humanmsg.js") | $raw %]
450     [% Asset.js("js/tools-menu.js") | $raw %]
451     [% Asset.js("lib/hc-sticky.js") | $raw %]
452     [% IF ( circulation ) %]
453         [% INCLUDE 'str/members-menu.inc' %]
454         [% Asset.js("js/members-menu.js") | $raw %]
455     [% END %]
456     [% Asset.js("lib/jsdiff/jsdiff.min.js") | $raw %]
457     <script>
458         var columns_settings = [% TablesSettings.GetColumns('tools', 'logviewer', 'logst', 'json') | $raw %];
459     </script>
460     [% Asset.js("js/viewlog.js") | $raw %]
461 [% END %]
462
463 [% INCLUDE 'intranet-bottom.inc' %]