4 [% INCLUDE 'doc-head-open.inc' %]
6 Administration ›
8 [% IF op == 'add_form' %]
9 › New SMTP server
10 [% ELSIF op == 'edit_form' %]
11 › Edit SMTP server
14 [% INCLUDE 'doc-head-close.inc' %]
17 <body id="admin_smtp_servers" class="admin">
18 [% INCLUDE 'header.inc' %]
19 [% INCLUDE 'prefs-admin-search.inc' %]
21 <div id="breadcrumbs">
22 <a href="/cgi-bin/koha/mainpage.pl">Home</a> ›
23 <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> ›
24 <a href="/cgi-bin/koha/admin/smtp_servers.pl">SMTP servers</a>
25 [% IF op == 'add_form' %]
26 › <span> New</span>
27 [% ELSIF op == 'edit_form' %]
28 › <span> Edit</span>
32 <div class="main container-fluid">
34 <div class="col-sm-10 col-sm-push-2">
37 [% FOREACH m IN messages %]
38 <div class="dialog [% m.type | html %]" id="smtp_action_result_dialog">
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.
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>
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">
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>
71 <fieldset class="rows">
74 <label for="smtp_host">Host: </label>
75 <input type="text" name="smtp_host" id="smtp_host" size="60" class="required"/>
76 <span class="required">Required</span>
79 <label for="smtp_port">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>
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" />
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>
96 <label for="smtp_user_name">User name: </label>
97 <input type="text" name="smtp_user_name" id="smtp_user_name" size="60" />
100 <label for="smtp_password">Password: </label>
101 <input type="password" name="smtp_password" id="smtp_password" size="60" />
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>
112 <fieldset class="action">
113 <input type="submit" value="Submit" />
114 <a class="cancel" href="/cgi-bin/koha/admin/smtp_servers.pl">Cancel</a>
119 [% IF op == 'edit_form' %]
120 <h3>Edit SMTP server</h3>
121 <form action="/cgi-bin/koha/admin/smtp_servers.pl" id="edit_save" name="edit_save" class="validated" method="post">
122 <input type="hidden" name="op" value="edit_save" />
123 <input type="hidden" name="smtp_server_id" value="[%- smtp_server.id | html -%]" />
124 <fieldset class="rows">
127 <label for="smtp_name" class="required">Name: </label>
128 <input type="text" name="smtp_name" id="smtp_name" size="60" class="required" required="required" value="[%- smtp_server.name | html -%]"/>
129 <span class="required">Required</span>
134 <fieldset class="rows">
137 <label for="smtp_host">Host: </label>
138 <input type="text" name="smtp_host" id="smtp_host" size="60" class="required" value="[%- smtp_server.host | html -%]"/>
139 <span class="required">Required</span>
142 <label for="smtp_port">Port: </label>
143 <input type="text" inputmode="numeric" pattern="[0-9]*" name="smtp_port" id="smtp_port" size="20" class="required" value="[%- smtp_server.port | html -%]"/>
144 <span class="required">Required</span>
147 <label for="smtp_timeout">Timeout (seconds): </label>
148 <input type="text" inputmode="numeric" pattern="[0-9]*" name="smtp_timeout" id="smtp_timeout" size="20" value="[%- smtp_server.timeout | html -%]"/>
151 <label for="smtp_ssl_mode">SSL: </label>
152 <select name="smtp_ssl_mode" id="smtp_ssl_mode">
153 [%- IF smtp_server.ssl_mode == 'disabled' -%]
154 <option value="disabled" selected="selected">Disabled</option>
155 <option value="ssl">SSL</option>
156 <option value="starttls">STARTTLS</option>
157 [%- ELSIF smtp_server.ssl_mode == 'ssl' -%]
158 <option value="disabled">Disabled</option>
159 <option value="ssl" selected="selected">SSL</option>
160 <option value="starttls">STARTTLS</option>
162 <option value="disabled">Disabled</option>
163 <option value="ssl">SSL</option>
164 <option value="starttls" selected="selected">STARTTLS</option>
169 <label for="smtp_user_name">User name: </label>
170 <input type="text" name="smtp_user_name" id="smtp_user_name" size="60" value="[%- smtp_server.user_name | html -%]"/>
173 <label for="smtp_password">Password: </label>
174 <input type="password" name="smtp_password" id="smtp_password" size="60" value="[%- smtp_server.password | html -%]"/>
177 <label for="smtp_debug_mode">Debug mode: </label>
178 <select name="smtp_debug_mode" id="smtp_debug_mode">
179 [%- IF smtp_server.debug == 1 -%]
180 <option value="1" selected="selected">Enabled</option>
181 <option value="0">Disabled</option>
183 <option value="1">Enabled</option>
184 <option value="0" selected="selected">Disabled</option>
190 <fieldset class="action">
191 <input type="submit" value="Submit" />
192 <a class="cancel" href="/cgi-bin/koha/admin/smtp_servers.pl">Cancel</a>
197 [% IF op == 'list' %]
199 <div id="toolbar" class="btn-toolbar">
200 <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>
203 <h3>SMTP servers</h3>
205 <div class="dialog message" id="default_server_message">
206 <p>Default configuration:</p>
209 <li><strong>Host</strong>: [%- default_config.host | html -%]</li>
210 <li><strong>Port</strong>: [%- default_config.port | html -%]</li>
211 <li><strong>Timeout (secs)</strong>: [%- default_config.timeout | html -%]</li>
212 <li><strong>SSL</strong>: [%- IF default_config.ssl_mode == 'disabled' -%]Disabled[%- ELSIF default_config.ssl_mode == 'ssl' -%]SSL[%- ELSE -%]STARTTLS[%- END -%]</li>
213 <li><strong>Debug mode</strong>: [%- IF default_config.debug -%]Yes[%- ELSE -%]No[%- END -%]</li>
217 [% IF servers_count > 0 %]
218 <table id="smtp_servers">
224 <th>Timeout (secs)</th>
226 <th>Authenticated</th>
227 <th data-class-name="actions">Actions</th>
234 <div id="delete_confirm_modal" class="modal" tabindex="-1" role="dialog" aria-labelledby="delete_confirm_modal_label" aria-hidden="true">
235 <div class="modal-dialog">
236 <div class="modal-content">
237 <div class="modal-header">
238 <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
239 <h3 id="delete_confirm_modal_label">Delete server</h3>
241 <div class="modal-body">
242 <div id="delete_confirm_dialog"></div>
244 <div class="modal-footer">
245 <a href="#" class="btn btn-default" id="delete_confirm_modal_button" role="button" data-toggle="modal">Delete</a>
246 <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
248 </div> <!-- /.modal-content -->
249 </div> <!-- /.modal-dialog -->
250 </div> <!-- #delete_confirm_modal -->
253 </div> <!-- /.col-sm-10.col-sm-push-2 -->
255 <div class="col-sm-2 col-sm-pull-10">
257 [% INCLUDE 'admin-menu.inc' %]
259 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
260 </div> <!-- /.row -->
263 [% MACRO jsinclude BLOCK %]
264 [% Asset.js("js/admin-menu.js") | $raw %]
265 [% INCLUDE 'datatables.inc' %]
267 $(document).ready(function() {
269 var smtp_servers_url = '/api/v1/config/smtp_servers';
270 window.smtp_servers = $("#smtp_servers").api({
272 "url": smtp_servers_url
275 'emptyTable': '<div class="dialog message">'+_("There are no SMTP servers defined.")+'</div>'
279 "render": function (data, type, row, meta) {
280 if ( type == 'display' ) {
281 if ( data != null ) {
282 return data.escapeHtml();
314 "render": function (data, type, row, meta) {
315 if (data == 'disabled') {
316 return _("Disabled");
318 else if (data == 'ssl') {
322 return _("STARTTLS");
329 "data": function( row, type, val, meta ) {
330 if ( row.user_name != null ) {
341 "data": function( row, type, val, meta ) {
342 var result = '<a class="btn btn-default btn-xs" role="button" href="/cgi-bin/koha/admin/smtp_servers.pl?op=edit_form&smtp_server_id='+ encodeURIComponent(row.smtp_server_id) +'"><i class="fa fa-pencil" aria-hidden="true"></i> '+_("Edit")+'</a>'+"\n";
343 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>';
352 $('#smtp_servers').on( "click", '.delete_server', function () {
353 var smtp_server_id = $(this).data('smtp-server-id');
354 var smtp_server_name = decodeURIComponent($(this).data('smtp-server-name'));
356 $("#delete_confirm_dialog").html(
357 _("You are about to delete the '%s' SMTP server.").format(smtp_server_name)
360 $("#delete_confirm_modal_button").on( "click", function () {
363 url: "/api/v1/config/smtp_servers/"+smtp_server_id
364 }).success(function() {
365 $("#delete_confirm_modal").modal('hide');
366 window.smtp_servers.api().ajax.reload(function (data) {
367 if (data.recordsTotal == 0) {
368 $("#smtp_servers_wrapper").hide();
370 $("#smtp_action_result_dialog").hide();
371 $("#smtp_delete_success").html(_("Server '%s' deleted successfully.").format(smtp_server_name)).show();
373 }).error(function () {
374 $("#smtp_delete_error").html(_("Error deleting server '%s'. Check the logs.").format(smtp_server_name)).show();
382 [% INCLUDE 'intranet-bottom.inc' %]