diff --git a/data/web/js/site/debug.js b/data/web/js/site/debug.js
index deb0215e..03189e93 100644
--- a/data/web/js/site/debug.js
+++ b/data/web/js/site/debug.js
@@ -90,6 +90,7 @@ jQuery(function($){
title: lang.time,
data: 'time',
defaultContent: '',
+ responsivePriority: 1,
render: function(data, type){
var date = new Date(data ? data * 1000 : 0);
return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});
@@ -98,22 +99,27 @@ jQuery(function($){
{
title: 'User-Agent',
data: 'ua',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md',
+ responsivePriority: 5
},
{
title: 'Username',
data: 'user',
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 4
},
{
title: 'IP',
data: 'ip',
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 2
},
{
title: 'Service',
data: 'service',
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 3
}
]
});
@@ -155,7 +161,8 @@ jQuery(function($){
{
title: lang.message,
data: 'message',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md text-break'
}
]
});
@@ -240,7 +247,7 @@ jQuery(function($){
title: 'URI',
data: 'uri',
defaultContent: '',
- className: 'text-break min-tablet none'
+ className: 'dtr-col-md dtr-break-all'
},
{
title: 'Method',
@@ -255,7 +262,8 @@ jQuery(function($){
{
title: 'Data',
data: 'data',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md dtr-break-all'
}
]
});
@@ -394,28 +402,32 @@ jQuery(function($){
{
title: 'User',
data: 'user',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-sm'
},
{
title: 'Role',
data: 'role',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-sm'
},
{
title: 'IP',
data: 'remote',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md dtr-break-all'
},
{
title: lang.message,
data: 'msg',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md dtr-break-all'
},
{
title: 'Call',
data: 'call',
defaultContent: '',
- className: 'none text-break'
+ className: 'none dtr-col-md dtr-break-all'
}
]
});
@@ -453,7 +465,8 @@ jQuery(function($){
{
title: 'IP',
data: 'real_rip',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md text-break'
},
{
title: lang.login_time,
@@ -499,7 +512,8 @@ jQuery(function($){
{
title: lang.message,
data: 'message',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md dtr-break-all'
}
]
});
@@ -541,7 +555,8 @@ jQuery(function($){
{
title: lang.message,
data: 'message',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md text-break'
}
]
});
@@ -583,7 +598,8 @@ jQuery(function($){
{
title: lang.message,
data: 'message',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md text-break'
}
]
});
@@ -625,7 +641,8 @@ jQuery(function($){
{
title: lang.message,
data: 'message',
- defaultContent: ''
+ defaultContent: '',
+ className: 'dtr-col-md text-break'
}
]
});
@@ -757,7 +774,8 @@ jQuery(function($){
{
title: 'Symbols',
data: 'symbols',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none dtr-col-md'
},
{
title: 'Msg size',
diff --git a/data/web/js/site/mailbox.js b/data/web/js/site/mailbox.js
index c74494aa..77da5029 100644
--- a/data/web/js/site/mailbox.js
+++ b/data/web/js/site/mailbox.js
@@ -142,7 +142,9 @@ jQuery(function($){
$(".refresh_table").on('click', function(e) {
e.preventDefault();
var table_name = $(this).data('table');
- $('#' + table_name).DataTable().ajax.reload();
+
+ if ($.fn.DataTable.isDataTable('#' + table_name))
+ $('#' + table_name).DataTable().ajax.reload();
});
function draw_domain_table() {
// just recalc width if instance already exists
@@ -177,9 +179,9 @@ jQuery(function($){
item.chkbox = '';
item.action = '
';
+ item.action += ' ' + lang.edit + '' +
+ ' ' + lang.remove + '' +
+ ' DNS';
}
else {
item.action += ' ' + lang.edit + '' +
@@ -288,18 +290,20 @@ jQuery(function($){
{
title: lang.domain_admins,
data: 'domain_admins',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: 'Tags',
data: 'tags',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.active,
data: 'active',
defaultContent: '',
- responsivePriority: 5,
+ responsivePriority: 6,
render: function (data, type) {
return 1==data?'':(0==data?'':2==data&&'—');
}
@@ -307,7 +311,7 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md',
responsivePriority: 5,
defaultContent: ''
},
@@ -378,11 +382,11 @@ jQuery(function($){
if (acl_data.login_as === 1) {
item.action = '';
}
@@ -431,13 +435,13 @@ jQuery(function($){
{
title: lang.username,
data: 'username',
- responsivePriority: 1,
+ responsivePriority: 3,
defaultContent: ''
},
{
title: lang.domain_quota,
data: 'quota',
- responsivePriority: 2,
+ responsivePriority: 8,
defaultContent: '',
render: function (data, type) {
data = data.split("/");
@@ -449,7 +453,7 @@ jQuery(function($){
title: lang.last_mail_login,
data: 'last_mail_login',
defaultContent: '',
- responsivePriority: 3,
+ responsivePriority: 7,
render: function (data, type) {
res = data.split("/");
return 'IMAP @ ' + unix_time_format(Number(res[0])) + '
' +
@@ -466,57 +470,68 @@ jQuery(function($){
title: lang.in_use,
data: 'in_use',
defaultContent: '',
- responsivePriority: 4
+ responsivePriority: 9,
+ className: 'dt-data-w100'
},
{
title: lang.fname,
data: 'name',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.domain,
data: 'domain',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.tls_enforce_in,
data: 'tls_enforce_in',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.tls_enforce_out,
data: 'tls_enforce_out',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: 'SMTP',
data: 'smtp_access',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: 'IMAP',
data: 'imap_access',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: 'POP3',
data: 'pop3_access',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: 'SIEVE',
data: 'sieve_access',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.quarantine_notification,
data: 'quarantine_notification',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.quarantine_category,
data: 'quarantine_category',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.msg_num,
@@ -527,13 +542,14 @@ jQuery(function($){
{
title: 'Tags',
data: 'tags',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.active,
data: 'active',
defaultContent: '',
- responsivePriority: 6,
+ responsivePriority: 4,
render: function (data, type) {
return 1==data?'':(0==data?'':2==data&&'—');
}
@@ -541,8 +557,8 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
- responsivePriority: 5,
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md',
+ responsivePriority: 6,
defaultContent: ''
},
]
@@ -572,8 +588,8 @@ jQuery(function($){
item.multiple_bookings = '' + lang.booking_custom_short + ' (' + item.multiple_bookings + ')';
}
item.action = '';
item.chkbox = '';
item.name = escapeHtml(item.name);
@@ -639,9 +655,9 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
responsivePriority: 5,
- defaultContent: ''
+ defaultContent: '',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right'
},
]
});
@@ -691,8 +707,8 @@ jQuery(function($){
dataSrc: function(json){
$.each(json, function (i, item) {
item.action = '';
item.chkbox = '';
item.local_dest = escapeHtml(item.local_dest);
@@ -763,7 +779,7 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
responsivePriority: 5,
defaultContent: ''
},
@@ -791,8 +807,8 @@ jQuery(function($){
item.recipient_map_old = escapeHtml(item.recipient_map_old);
item.recipient_map_new = escapeHtml(item.recipient_map_new);
item.action = '';
item.chkbox = '';
});
@@ -832,7 +848,8 @@ jQuery(function($){
{
title: lang.recipient_map_new,
data: 'recipient_map_new',
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 4
},
{
title: lang.active,
@@ -845,8 +862,8 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
- responsivePriority: 4,
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
+ responsivePriority: 5,
defaultContent: ''
},
]
@@ -867,6 +884,7 @@ jQuery(function($){
type: "GET",
url: "/api/v1/get/tls-policy-map/all",
dataSrc: function(json){
+ console.log(json);
if (role !== "admin") return null;
$.each(json, function (i, item) {
@@ -878,8 +896,8 @@ jQuery(function($){
item.parameters = '' + escapeHtml(item.parameters) + '
';
}
item.action = '';
item.chkbox = '';
});
@@ -914,7 +932,8 @@ jQuery(function($){
{
title: lang.tls_map_dest,
data: 'dest',
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 4
},
{
title: lang.tls_map_policy,
@@ -926,12 +945,6 @@ jQuery(function($){
data: 'parameters',
defaultContent: ''
},
- {
- title: lang.domain,
- data: 'domain',
- responsivePriority: 4,
- defaultContent: ''
- },
{
title: lang.active,
data: 'active',
@@ -943,7 +956,7 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
responsivePriority: 5,
defaultContent: ''
},
@@ -967,8 +980,8 @@ jQuery(function($){
dataSrc: function(json){
$.each(json, function (i, item) {
item.action = '';
item.chkbox = '';
item.goto = escapeHtml(item.goto.replace(/,/g, " "));
@@ -1083,7 +1096,7 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
responsivePriority: 5,
defaultContent: ''
},
@@ -1107,9 +1120,9 @@ jQuery(function($){
dataSrc: function(json){
$.each(json, function (i, item) {
item.action = '' +
+ ' ' + lang.edit + '' +
+ ' ' + lang.remove + '' +
+ ' DNS' +
'';
item.chkbox = '';
if(item.parent_is_backupmx == '1') {
@@ -1163,7 +1176,7 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
responsivePriority: 5,
defaultContent: ''
},
@@ -1195,8 +1208,8 @@ jQuery(function($){
}
item.server_w_port = escapeHtml(item.user1) + '@' + item.host1 + ':' + item.port1;
item.action = '';
item.chkbox = '';
if (item.is_running == 1) {
@@ -1290,17 +1303,19 @@ jQuery(function($){
{
title: lang.excludes,
data: 'exclude',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.mins_interval,
data: 'mins_interval',
- defaultContent: ''
+ defaultContent: '',
+ className: 'none'
},
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
responsivePriority: 5,
defaultContent: ''
},
@@ -1329,11 +1344,11 @@ jQuery(function($){
} else {
item.active = '' + lang.inactive + '';
}
- item.script_data = '' + escapeHtml(item.script_data) + '
'
+ item.script_data = '' + escapeHtml(item.script_data) + '
'
item.filter_type = '' + item.filter_type.charAt(0).toUpperCase() + item.filter_type.slice(1).toLowerCase() + '
'
item.action = '';
item.chkbox = ''
});
@@ -1396,7 +1411,7 @@ jQuery(function($){
{
title: lang.action,
data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
+ className: 'dt-sm-head-hidden dt-data-w100 dtr-col-md dt-body-right',
responsivePriority: 5,
defaultContent: ''
},
diff --git a/data/web/js/site/user.js b/data/web/js/site/user.js
index 2d09bcea..36bcfa63 100644
--- a/data/web/js/site/user.js
+++ b/data/web/js/site/user.js
@@ -276,14 +276,16 @@ jQuery(function($){
data: null,
searchable: false,
orderable: false,
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 1
},
{
title: '',
data: 'chkbox',
searchable: false,
orderable: false,
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 2
},
{
title: 'ID',
@@ -299,7 +301,8 @@ jQuery(function($){
{
title: lang.username,
data: 'user1',
- defaultContent: ''
+ defaultContent: '',
+ responsivePriority: 3
},
{
title: lang.last_run,
@@ -328,7 +331,7 @@ jQuery(function($){
title: lang.status,
data: 'is_running',
defaultContent: '',
- responsivePriority: 4
+ responsivePriority: 5
},
{
title: lang.encryption,
diff --git a/data/web/lang/lang.de.json b/data/web/lang/lang.de.json
index 98c2cc3b..3086c1c7 100644
--- a/data/web/lang/lang.de.json
+++ b/data/web/lang/lang.de.json
@@ -466,8 +466,10 @@
"yotp_verification_failed": "Yubico OTP-Verifizierung fehlgeschlagen: %s"
},
"datatables": {
+ "collapse_all": "Alle Einklappen",
"decimal": "",
"emptyTable": "Keine Daten in der Tabelle vorhanden",
+ "expand_all": "Alle Ausklappen",
"info": "_START_ bis _END_ von _TOTAL_ Einträgen",
"infoEmpty": "0 bis 0 von 0 Einträgen",
"infoFiltered": "(gefiltert von _MAX_ Einträgen)",
diff --git a/data/web/lang/lang.en.json b/data/web/lang/lang.en.json
index ea7ed96d..5bc9ca39 100644
--- a/data/web/lang/lang.en.json
+++ b/data/web/lang/lang.en.json
@@ -466,8 +466,10 @@
"yotp_verification_failed": "Yubico OTP verification failed: %s"
},
"datatables": {
+ "collapse_all": "Collapse All",
"decimal": "",
"emptyTable": "No data available in table",
+ "expand_all": "Expand All",
"info": "Showing _START_ to _END_ of _TOTAL_ entries",
"infoEmpty": "Showing 0 to 0 of 0 entries",
"infoFiltered": "(filtered from _MAX_ total entries)",
diff --git a/data/web/templates/admin/tab-config-admins.twig b/data/web/templates/admin/tab-config-admins.twig
index 1d2d05f2..0221a8e7 100644
--- a/data/web/templates/admin/tab-config-admins.twig
+++ b/data/web/templates/admin/tab-config-admins.twig
@@ -1,6 +1,6 @@