Bug 26456: Reindent MARC subfield structure template
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / smtp_servers.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% SET footerjs = 1 %]
4 [% INCLUDE 'doc-head-open.inc' %]
5 <title>Koha &rsaquo;
6 Administration &rsaquo;
7 SMTP servers
8 [% IF    op == 'add_form' %]
9     &rsaquo; New SMTP server
10 [% ELSIF op == 'edit_form' %]
11     &rsaquo; Edit SMTP server
12 [% END %]
13 </title>
14 [% INCLUDE 'doc-head-close.inc' %]
15 </head>
16
17 <body id="admin_smtp_servers" class="admin">
18 [% INCLUDE 'header.inc' %]
19 [% INCLUDE 'prefs-admin-search.inc' %]
20
21 <div id="breadcrumbs">
22     <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
23     <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo;
24     <a href="/cgi-bin/koha/admin/smtp_servers.pl">SMTP servers</a>
25 [% IF op == 'add_form' %]
26  &rsaquo; <span> New</span>
27 [% ELSIF op == 'edit_form' %]
28  &rsaquo; <span> Edit</span>
29 [% END %]
30 </div>
31
32 <div class="main container-fluid">
33     <div class="row">
34         <div class="col-sm-10 col-sm-push-2">
35             <main>
36
37 [% FOREACH m IN messages %]
38     <div class="dialog [% m.type | html %]" id="smtp_action_result_dialog">
39         [% SWITCH m.code %]
40         [% CASE 'error_on_update' %]
41             An error occurred trying to open the server for editing. The passed id is invalid.
42         [% CASE 'error_on_insert' %]
43             An error occurred when adding the server. The library already has an SMTP server set.
44         [% CASE 'success_on_update' %]
45             Server updated successfully.
46         [% CASE 'success_on_insert' %]
47             Server added successfully.
48         [% CASE %]
49             [% m.code | html %]
50         [% END %]
51     </div>
52 [% END %]
53
54     <div class="dialog message" id="smtp_delete_success" style="display: none;"></div>
55     <div class="dialog alert"   id="smtp_delete_error"   style="display: none;"></div>
56
57 [% IF op == 'add_form' %]
58     <h3>New SMTP server</h3>
59     <form action="/cgi-bin/koha/admin/smtp_servers.pl" id="add" name="add" class="validated" method="post">
60         <input type="hidden" name="op" value="add" />
61         <fieldset class="rows">
62             <ol>
63                 <li>
64                     <label for="smtp_name" class="required">Name: </label>
65                     <input type="text" name="smtp_name" id="smtp_name" size="60" class="required" required="required" />
66                     <span class="required">Required</span>
67                 </li>
68             </ol>
69         </fieldset>
70
71         <fieldset class="rows">
72             <ol>
73                 <li>
74                     <label for="smtp_host" class="required">Host: </label>
75                     <input type="text" name="smtp_host" id="smtp_host" size="60" class="required"/>
76                     <span class="required">Required</span>
77                 </li>
78                 <li>
79                     <label for="smtp_port" class="required">Port: </label>
80                     <input type="text" inputmode="numeric" pattern="[0-9]*" value="25" name="smtp_port" id="smtp_port" size="20" class="required"/>
81                     <span class="required">Required</span>
82                 </li>
83                 <li>
84                     <label for="smtp_timeout">Timeout (seconds): </label>
85                     <input type="text" inputmode="numeric" pattern="[0-9]*" value="120" name="smtp_timeout" id="smtp_timeout" size="20" />
86                 </li>
87                 <li>
88                     <label for="smtp_ssl_mode">SSL: </label>
89                     <select name="smtp_ssl_mode" id="smtp_ssl_mode">
90                         <option value="disabled" selected="selected">Disabled</option>
91                         <option value="ssl">SSL</option>
92                         <option value="starttls">STARTTLS</option>
93                     </select>
94                 </li>
95                 <li>
96                     <label for="smtp_user_name">User name: </label>
97                     <input type="text" name="smtp_user_name" id="smtp_user_name" size="60" />
98                 </li>
99                 <li>
100                     <label for="smtp_password">Password: </label>
101                     <input type="password" name="smtp_password" id="smtp_password" size="60" />
102                 </li>
103                 <li>
104                     <label for="smtp_debug_mode">Debug mode: </label>
105                     <select name="smtp_debug_mode" id="smtp_debug_mode">
106                         <option value="1">Enabled</option>
107                         <option value="0" selected="selected">Disabled</option>
108                     </select>
109                     <span>Enables additional debug output in the logs</span>
110                 </li>
111             </ol>
112         </fieldset>
113         <fieldset class="action">
114             <input type="submit" value="Submit" />
115             <a class="cancel" href="/cgi-bin/koha/admin/smtp_servers.pl">Cancel</a>
116         </fieldset>
117     </form>
118 [% END %]
119
120 [% IF op == 'edit_form' %]
121     <h3>Edit SMTP server</h3>
122     <form action="/cgi-bin/koha/admin/smtp_servers.pl" id="edit_save" name="edit_save" class="validated" method="post">
123         <input type="hidden" name="op" value="edit_save" />
124         <input type="hidden" name="smtp_server_id" value="[%- smtp_server.id | html -%]" />
125         <fieldset class="rows">
126             <ol>
127                 <li>
128                     <label for="smtp_name" class="required">Name: </label>
129                     <input type="text" name="smtp_name" id="smtp_name" size="60" class="required" required="required" value="[%- smtp_server.name | html -%]"/>
130                     <span class="required">Required</span>
131                 </li>
132             </ol>
133         </fieldset>
134
135         <fieldset class="rows">
136             <ol>
137                 <li>
138                     <label for="smtp_host" class="required">Host: </label>
139                     <input type="text" name="smtp_host" id="smtp_host" size="60" class="required" value="[%- smtp_server.host | html -%]"/>
140                     <span class="required">Required</span>
141                 </li>
142                 <li>
143                     <label for="smtp_port" class="required">Port: </label>
144                     <input type="text" inputmode="numeric" pattern="[0-9]*" name="smtp_port" id="smtp_port" size="20" class="required" value="[%- smtp_server.port | html -%]"/>
145                     <span class="required">Required</span>
146                 </li>
147                 <li>
148                     <label for="smtp_timeout">Timeout (seconds): </label>
149                     <input type="text" inputmode="numeric" pattern="[0-9]*" name="smtp_timeout" id="smtp_timeout" size="20" value="[%- smtp_server.timeout | html -%]"/>
150                 </li>
151                 <li>
152                     <label for="smtp_ssl_mode">SSL: </label>
153                     <select name="smtp_ssl_mode" id="smtp_ssl_mode">
154                     [%- IF smtp_server.ssl_mode == 'disabled' -%]
155                         <option value="disabled" selected="selected">Disabled</option>
156                         <option value="ssl">SSL</option>
157                         <option value="starttls">STARTTLS</option>
158                     [%- ELSIF smtp_server.ssl_mode == 'ssl' -%]
159                         <option value="disabled">Disabled</option>
160                         <option value="ssl" selected="selected">SSL</option>
161                         <option value="starttls">STARTTLS</option>
162                     [%- ELSE -%]
163                         <option value="disabled">Disabled</option>
164                         <option value="ssl">SSL</option>
165                         <option value="starttls" selected="selected">STARTTLS</option>
166                     [%- END -%]
167                     </select>
168                 </li>
169                 <li>
170                     <label for="smtp_user_name">User name: </label>
171                     <input type="text" name="smtp_user_name" id="smtp_user_name" size="60"  value="[%- smtp_server.user_name | html -%]"/>
172                 </li>
173                 <li>
174                     <label for="smtp_password">Password: </label>
175                     [% IF smtp_server.password %]
176                         <input type="password" name="smtp_password" id="smtp_password" size="60"  value="****"/>
177                     [% ELSE %]
178                         <input type="password" name="smtp_password" id="smtp_password" size="60"  value=""/>
179                     [% END %]
180                 </li>
181                 <li>
182                     <label for="smtp_debug_mode">Debug mode: </label>
183                     <select name="smtp_debug_mode" id="smtp_debug_mode">
184                     [%- IF smtp_server.debug == 1 -%]
185                         <option value="1" selected="selected">Enabled</option>
186                         <option value="0">Disabled</option>
187                     [%- ELSE -%]
188                         <option value="1">Enabled</option>
189                         <option value="0" selected="selected">Disabled</option>
190                     [%- END -%]
191                     </select>
192                 </li>
193             </ol>
194         </fieldset>
195         <fieldset class="action">
196             <input type="submit" value="Submit" />
197             <a class="cancel" href="/cgi-bin/koha/admin/smtp_servers.pl">Cancel</a>
198         </fieldset>
199     </form>
200 [% END %]
201
202 [% IF op == 'list' %]
203
204     <div id="toolbar" class="btn-toolbar">
205         <a class="btn btn-default" id="new_smtp_server" href="/cgi-bin/koha/admin/smtp_servers.pl?op=add_form"><i class="fa fa-plus"></i> New SMTP server</a>
206     </div>
207
208     <h3>SMTP servers</h3>
209
210         <div class="dialog message" id="default_server_message">
211         <p>Default configuration:</p>
212
213         <ul>
214             <li><strong>Host</strong>: [%- default_config.host | html -%]</li>
215             <li><strong>Port</strong>: [%- default_config.port | html -%]</li>
216             <li><strong>Timeout (secs)</strong>: [%- default_config.timeout | html -%]</li>
217             <li><strong>SSL</strong>: [%- IF default_config.ssl_mode == 'disabled' -%]Disabled[%- ELSIF default_config.ssl_mode == 'ssl' -%]SSL[%- ELSE -%]STARTTLS[%- END -%]</li>
218             <li><strong>Debug mode</strong>: [%- IF default_config.debug -%]Yes[%- ELSE -%]No[%- END -%]</li>
219         </ul>
220     </div>
221
222     [% IF servers_count > 0 %]
223         <table id="smtp_servers">
224             <thead>
225                 <tr>
226                     <th>Name</th>
227                     <th>Host</th>
228                     <th>Port</th>
229                     <th>Timeout (secs)</th>
230                     <th>SSL</th>
231                     <th>Authenticated</th>
232                     <th data-class-name="actions">Actions</th>
233                 </tr>
234             </thead>
235         </table>
236     [% END %]
237 [% END %]
238
239             <div id="delete_confirm_modal" class="modal" tabindex="-1" role="dialog" aria-labelledby="delete_confirm_modal_label" aria-hidden="true">
240                 <div class="modal-dialog">
241                     <div class="modal-content">
242                         <div class="modal-header">
243                             <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
244                             <h3 id="delete_confirm_modal_label">Delete server</h3>
245                         </div>
246                         <div class="modal-body">
247                             <div id="delete_confirm_dialog"></div>
248                         </div>
249                         <div class="modal-footer">
250                             <a href="#" class="btn btn-default" id="delete_confirm_modal_button" role="button" data-toggle="modal">Delete</a>
251                             <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
252                         </div>
253                     </div> <!-- /.modal-content -->
254                 </div> <!-- /.modal-dialog -->
255             </div> <!-- #delete_confirm_modal -->
256
257             </main>
258         </div> <!-- /.col-sm-10.col-sm-push-2 -->
259
260         <div class="col-sm-2 col-sm-pull-10">
261             <aside>
262                 [% INCLUDE 'admin-menu.inc' %]
263             </aside>
264         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
265      </div> <!-- /.row -->
266
267
268 [% MACRO jsinclude BLOCK %]
269     [% Asset.js("js/admin-menu.js") | $raw %]
270     [% INCLUDE 'datatables.inc' %]
271     <script>
272         $(document).ready(function() {
273
274             var smtp_servers_url = '/api/v1/config/smtp_servers';
275             window.smtp_servers = $("#smtp_servers").api({
276                 "ajax": {
277                     "url": smtp_servers_url
278                 },
279                 'language': {
280                     'emptyTable': '<div class="dialog message">'+_("There are no SMTP servers defined.")+'</div>'
281                 },
282                 "columnDefs": [ {
283                     "targets": [0,1],
284                     "render": function (data, type, row, meta) {
285                         if ( type == 'display' ) {
286                             if ( data != null ) {
287                                 return data.escapeHtml();
288                             }
289                             else {
290                                 return "Default";
291                             }
292                         }
293                         return data;
294                     }
295                 } ],
296                 "columns": [
297                     {
298                         "data": "name",
299                         "searchable": true,
300                         "orderable": true
301                     },
302                     {
303                         "data": "host",
304                         "searchable": true,
305                         "orderable": true
306                     },
307                     {
308                         "data": "port",
309                         "searchable": true,
310                         "orderable": false
311                     },
312                     {
313                         "data": "timeout",
314                         "searchable": true,
315                         "orderable": false
316                     },
317                     {
318                         "data": "ssl_mode",
319                         "render": function (data, type, row, meta) {
320                             if (data == 'disabled') {
321                                 return _("Disabled");
322                             }
323                             else if (data == 'ssl') {
324                                 return _("SSL");
325                             }
326                             else {
327                                 return _("STARTTLS");
328                             }
329                         },
330                         "searchable": false,
331                         "orderable": false
332                     },
333                     {
334                         "data": function( row, type, val, meta ) {
335                             if ( row.user_name != null ) {
336                                 return _("Yes");
337                             }
338                             else {
339                                 return _("No");
340                             }
341                         },
342                         "searchable": false,
343                         "orderable": false
344                     },
345                     {
346                         "data": function( row, type, val, meta ) {
347                             var result = '<a class="btn btn-default btn-xs" role="button" href="/cgi-bin/koha/admin/smtp_servers.pl?op=edit_form&amp;smtp_server_id='+ encodeURIComponent(row.smtp_server_id) +'"><i class="fa fa-pencil" aria-hidden="true"></i> '+_("Edit")+'</a>'+"\n";
348                             result += '<a class="btn btn-default btn-xs delete_server" role="button" href="#" data-toggle="modal" data-target="#delete_confirm_modal" data-smtp-server-id="'+ encodeURIComponent(row.smtp_server_id) +'" data-smtp-server-name="'+ encodeURIComponent(row.name.escapeHtml()) +'"><i class="fa fa-trash" aria-hidden="true"></i>'+_("Delete")+'</a>';
349                             return result;
350                         },
351                         "searchable": false,
352                         "orderable": false
353                     }
354                 ],
355                 createdRow: function (row, data, dataIndex) {
356                     if ( data.debug ) {
357                         $(row).addClass('debug');
358                     }
359                 },
360             });
361
362             $('#smtp_servers').on( "click", '.delete_server', function () {
363                 var smtp_server_id   = $(this).data('smtp-server-id');
364                 var smtp_server_name = decodeURIComponent($(this).data('smtp-server-name'));
365
366                 $("#delete_confirm_dialog").html(
367                     _("You are about to delete the '%s' SMTP server.").format(smtp_server_name)
368                 );
369
370                 $("#delete_confirm_modal_button").on( "click", function () {
371                     $.ajax({
372                         method: "DELETE",
373                         url: "/api/v1/config/smtp_servers/"+smtp_server_id
374                     }).success(function() {
375                         $("#delete_confirm_modal").modal('hide');
376                         window.smtp_servers.api().ajax.reload(function (data) {
377                             if (data.recordsTotal == 0) {
378                                 $("#smtp_servers_wrapper").hide();
379                             }
380                             $("#smtp_action_result_dialog").hide();
381                             $("#smtp_delete_success").html(_("Server '%s' deleted successfully.").format(smtp_server_name)).show();
382                         });
383                     }).error(function () {
384                         $("#smtp_delete_error").html(_("Error deleting server '%s'. Check the logs.").format(smtp_server_name)).show();
385                     });
386                 });
387             });
388         });
389     </script>
390 [% END %]
391
392 [% INCLUDE 'intranet-bottom.inc' %]