From: Marcin Haba Date: Sun, 14 Jun 2020 05:16:03 +0000 (+0200) Subject: baculum: Add date and time formatters - idea proposed by Wanderlei Huttel X-Git-Tag: Release-9.6.6~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4998f2be7cb7e13dcdca8ef64a27fe6d78314783;p=thirdparty%2Fbacula.git baculum: Add date and time formatters - idea proposed by Wanderlei Huttel --- diff --git a/gui/baculum/protected/Web/Class/WebConfig.php b/gui/baculum/protected/Web/Class/WebConfig.php index 3fb1212dd..27f75b5d4 100644 --- a/gui/baculum/protected/Web/Class/WebConfig.php +++ b/gui/baculum/protected/Web/Class/WebConfig.php @@ -63,6 +63,12 @@ class WebConfig extends ConfigFileModule { */ const DEF_TIME_IN_JOB_LOG = 0; + + /** + * Default date and time format. + */ + const DEF_DATE_TIME_FORMAT = 'Y-M-D R'; + /** * Supported authentication methods. */ @@ -171,7 +177,8 @@ class WebConfig extends ConfigFileModule { 'lang' => self::DEF_LANG, 'max_jobs' => self::DEF_MAX_JOBS, 'size_values_unit' => self::DEF_SIZE_VAL_UNIT, - 'time_in_job_log' => self::DEF_TIME_IN_JOB_LOG + 'time_in_job_log' => self::DEF_TIME_IN_JOB_LOG, + 'date_time_format' => self::DEF_DATE_TIME_FORMAT ]; if (key_exists('baculum', $config)) { $config['baculum'] = array_merge($baculum, $config['baculum']); diff --git a/gui/baculum/protected/Web/JavaScript/misc.js b/gui/baculum/protected/Web/JavaScript/misc.js index 7a052591f..511ab6f55 100644 --- a/gui/baculum/protected/Web/JavaScript/misc.js +++ b/gui/baculum/protected/Web/JavaScript/misc.js @@ -120,9 +120,79 @@ var Units = { timestamp *= 1000; } var d = new Date(timestamp); - var date = [d.getFullYear(), ('0' + (d.getMonth()+1)).slice(-2), ('0' + d.getDate()).slice(-2)].join('-'); - var time = [d.getHours(), ('0' + d.getMinutes()).slice(-2), ('0' + d.getSeconds()).slice(-2)].join(':'); - return (date + ' ' + time); + var dt = DATE_TIME_FORMAT; + if (dt.indexOf('Y') !== -1) { // full 4 digits year, ex. 2021 + dt = dt.replace(/Y/g, d.getFullYear()); + } + if (dt.indexOf('y') !== -1) { // 2 digits year, ex, 21 + dt = dt.replace(/y/g, ('0' + d.getFullYear()).slice(-2)); + } + if (dt.indexOf('M') !== -1) { // 2 digits month 01..12 + dt = dt.replace(/M/g, ('0' + (d.getMonth() + 1)).slice(-2)); + } + if (dt.indexOf('m') !== -1) { // 1-2 digits month 1..12 + dt = dt.replace(/m/g, (d.getMonth() + 1)); + } + if (dt.indexOf('D') !== -1) { // 2 digits day 01..31 + dt = dt.replace(/D/g, ('0' + d.getDate()).slice(-2)); + } + if (dt.indexOf('d') !== -1) { // 1-2 digits day 1..31 + dt = dt.replace(/d/g, d.getDate()); + } + if (dt.indexOf('H') !== -1) { // 2 digits 24-hour format hour 00..23 + dt = dt.replace(/H/g, ('0' + d.getHours()).slice(-2)); + } + if (dt.indexOf('h') !== -1) { // 1-2 digits 24-hour format hour 0..23 + dt = dt.replace(/h/g, d.getHours()); + } + if (dt.indexOf('G') !== -1) { // 2 digits 12-hour format hour value 01..12 + var hours = d.getHours() % 12; + hours = hours ? hours : 12; + dt = dt.replace(/G/g, ('0' + hours).slice(-2)); + } + if (dt.indexOf('g') !== -1) { // 1-2 digits 12-hour format hour value 1..12 + var hours = d.getHours() % 12; + hours = hours ? hours : 12; + dt = dt.replace(/g/g, hours); + } + if (dt.indexOf('I') !== -1) { // 2 digits minutes 00..59 + dt = dt.replace(/I/g, ('0' + d.getMinutes()).slice(-2)); + } + if (dt.indexOf('i') !== -1) { // 1-2 digits minutes 0..59 + dt = dt.replace(/i/g, d.getMinutes()); + } + if (dt.indexOf('S') !== -1) { // 2 digits seconds 00..23 + dt = dt.replace(/S/g, ('0' + d.getSeconds()).slice(-2)); + } + if (dt.indexOf('s') !== -1) { // 1-2 digits seconds 0..23 + dt = dt.replace(/s/g, d.getSeconds()); + } + if (dt.indexOf('p') !== -1) { // AM/PM value + var am_pm = d.getHours() >= 12 ? 'PM' : 'AM'; + dt = dt.replace(/p/g, am_pm); + } + if (dt.indexOf('R') !== -1) { // 24-hours format time value 17:22:41 + var minutes = ('0' + d.getMinutes()).slice(-2); + var seconds = ('0' + d.getSeconds()).slice(-2); + dt = dt.replace(/R/g, d.getHours() + ':' + minutes + ':' + seconds); + } + if (dt.indexOf('r') !== -1) { // time in digits 12-hours format 11:05:12 AM + var am_pm = d.getHours() >= 12 ? 'PM' : 'AM'; + var hours = d.getHours() % 12; + hours = hours ? hours : 12; + var minutes = ('0' + d.getMinutes()).slice(-2); + var seconds = ('0' + d.getSeconds()).slice(-2); + dt = dt.replace(/r/g, hours + ':' + minutes + ':' + seconds + ' ' + am_pm); + } + return dt; + }, + format_date_str: function(date) { + var d; + if (date && date != 'no date') { + var t = (new Date(date)).getTime(); + d = Units.format_date(t); + } + return d; }, format_speed: function(speed_bytes, format, float_val, decimal) { var reminder; @@ -187,7 +257,8 @@ var PieGraph = { var Formatters = { formatter: [ {css_class: 'size', format_func: function(val) { return Units.get_formatted_size(val); }}, - {css_class: 'time', format_func: function(val) { return Units.format_time_period(val); }} + {css_class: 'time', format_func: function(val) { return Units.format_time_period(val); }}, + {css_class: 'datetime', format_func: function(val) { return Units.format_date_str(val); }} ], set_formatters: function() { var elements, formatter, txt, val; @@ -209,6 +280,85 @@ var Formatters = { } } + +/** Data tables formatters **/ + +function render_date(data, type, row) { + var t = data; + if (t) { + var d = (new Date(t)).getTime(); + if (type == 'display') { + t = Units.format_date(d); + } else { + t = d; + } + } + return t; +} + +function render_date_ts(data, type, row) { + var t; + if (type == 'display') { + t = Units.format_date(data) + } else { + t = data; + } + return t; +} + +function render_date_ex(data, type, row) { + var t = data; + if (t && t != 'no date') { + var d = (new Date(t)).getTime(); + if (type == 'display') { + t = Units.format_date(d); + } else { + t = d; + } + } + return t; +} + +function render_jobstatus(data, type, row) { + var ret; + if (type == 'display') { + ret = JobStatus.get_icon(data).outerHTML; + } else { + ret = data; + } + return ret; +} + +function render_bytes(data, type, row) { + var s; + if (type == 'display') { + s = Units.get_formatted_size(data) + } else { + s = data; + } + return s; +} +function render_level(data, type, row) { + var ret; + if (!data) { + ret = '-'; + } else { + ret = JobLevel.get_level(data); + } + return ret; +} + +function render_time_period(data, type, row) { + var ret; + if (type == 'display' || type == 'filter') { + var time = Units.format_time_period(data); + ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': ''); + } else { + ret = data; + } + return ret; +} + function set_formatters() { Formatters.set_formatters(); } @@ -457,19 +607,12 @@ var oLastJobsList = { }, { data: 'starttime', + render: render_date, responsivePriority: 5 }, { data: 'jobstatus', - render: function (data, type, row) { - var ret; - if (type == 'display') { - ret = JobStatus.get_icon(data).outerHTML; - } else { - ret = data; - } - return ret; - }, + render: render_jobstatus, responsivePriority: 4 } ], diff --git a/gui/baculum/protected/Web/Lang/en/messages.mo b/gui/baculum/protected/Web/Lang/en/messages.mo index 94925bd3c..48cc6850d 100644 Binary files a/gui/baculum/protected/Web/Lang/en/messages.mo and b/gui/baculum/protected/Web/Lang/en/messages.mo differ diff --git a/gui/baculum/protected/Web/Lang/en/messages.po b/gui/baculum/protected/Web/Lang/en/messages.po index e631cedce..198e5ca1b 100644 --- a/gui/baculum/protected/Web/Lang/en/messages.po +++ b/gui/baculum/protected/Web/Lang/en/messages.po @@ -2926,3 +2926,60 @@ msgstr "Nginx on most UNIX platforms" msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." msgstr "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." + +msgid "Date and time format:" +msgstr "Date and time format:" + +msgid "Available formats:" +msgstr "Available formats:" + +msgid "full 4 digits year, ex. 2021" +msgstr "full 4 digits year, ex. 2021" + +msgid "2 digits year, ex, 21" +msgstr "2 digits year, ex, 21" + +msgid "2 digits month 01..12" +msgstr "2 digits month 01..12" + +msgid "1-2 digits month 1..12" +msgstr "1-2 digits month 1..12" + +msgid "2 digits day 01..31" +msgstr "2 digits day 01..31" + +msgid "1-2 digits day 1..31" +msgstr "1-2 digits day 1..31" + +msgid "2 digits 24-hour format hour 00..23" +msgstr "2 digits 24-hour format hour 00..23" + +msgid "1-2 digits 24-hour format hour 0..23" +msgstr "1-2 digits 24-hour format hour 0..23" + +msgid "2 digits 12-hour format hour 01..12" +msgstr "2 digits 12-hour format hour 01..12" + +msgid "1-2 digits 12-hour format hour 1..12" +msgstr "1-2 digits 12-hour format hour 1..12" + +msgid "2 digits minutes 00..59" +msgstr "2 digits minutes 00..59" + +msgid "1-2 digits minutes 0..59" +msgstr "1-2 digits minutes 0..59" + +msgid "2 digits seconds 00..59" +msgstr "2 digits seconds 00..59" + +msgid "1-2 digits seconds 0..59" +msgstr "1-2 digits seconds 0..59" + +msgid "AM/PM value" +msgstr "AM/PM value" + +msgid "24-hours format time 17:22:41" +msgstr "24-hours format time 17:22:41" + +msgid "12-hours format time 5:22:41 PM" +msgstr "12-hours format time 5:22:41 PM" diff --git a/gui/baculum/protected/Web/Lang/ja/messages.mo b/gui/baculum/protected/Web/Lang/ja/messages.mo index facba96b9..b0a264462 100644 Binary files a/gui/baculum/protected/Web/Lang/ja/messages.mo and b/gui/baculum/protected/Web/Lang/ja/messages.mo differ diff --git a/gui/baculum/protected/Web/Lang/ja/messages.po b/gui/baculum/protected/Web/Lang/ja/messages.po index 00303cf36..8a3576888 100644 --- a/gui/baculum/protected/Web/Lang/ja/messages.po +++ b/gui/baculum/protected/Web/Lang/ja/messages.po @@ -3012,3 +3012,60 @@ msgstr "Nginx on most UNIX platforms" msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." msgstr "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." + +msgid "Date and time format:" +msgstr "Date and time format:" + +msgid "Available formats:" +msgstr "Available formats:" + +msgid "full 4 digits year, ex. 2021" +msgstr "full 4 digits year, ex. 2021" + +msgid "2 digits year, ex, 21" +msgstr "2 digits year, ex, 21" + +msgid "2 digits month 01..12" +msgstr "2 digits month 01..12" + +msgid "1-2 digits month 1..12" +msgstr "1-2 digits month 1..12" + +msgid "2 digits day 01..31" +msgstr "2 digits day 01..31" + +msgid "1-2 digits day 1..31" +msgstr "1-2 digits day 1..31" + +msgid "2 digits 24-hour format hour 00..23" +msgstr "2 digits 24-hour format hour 00..23" + +msgid "1-2 digits 24-hour format hour 0..23" +msgstr "1-2 digits 24-hour format hour 0..23" + +msgid "2 digits 12-hour format hour 01..12" +msgstr "2 digits 12-hour format hour 01..12" + +msgid "1-2 digits 12-hour format hour 1..12" +msgstr "1-2 digits 12-hour format hour 1..12" + +msgid "2 digits minutes 00..59" +msgstr "2 digits minutes 00..59" + +msgid "1-2 digits minutes 0..59" +msgstr "1-2 digits minutes 0..59" + +msgid "2 digits seconds 00..59" +msgstr "2 digits seconds 00..59" + +msgid "1-2 digits seconds 0..59" +msgstr "1-2 digits seconds 0..59" + +msgid "AM/PM value" +msgstr "AM/PM value" + +msgid "24-hours format time 17:22:41" +msgstr "24-hours format time 17:22:41" + +msgid "12-hours format time 5:22:41 PM" +msgstr "12-hours format time 5:22:41 PM" diff --git a/gui/baculum/protected/Web/Lang/pl/messages.mo b/gui/baculum/protected/Web/Lang/pl/messages.mo index 29907b454..fba5b67f2 100644 Binary files a/gui/baculum/protected/Web/Lang/pl/messages.mo and b/gui/baculum/protected/Web/Lang/pl/messages.mo differ diff --git a/gui/baculum/protected/Web/Lang/pl/messages.po b/gui/baculum/protected/Web/Lang/pl/messages.po index b6b4ddcdb..c342e7490 100644 --- a/gui/baculum/protected/Web/Lang/pl/messages.po +++ b/gui/baculum/protected/Web/Lang/pl/messages.po @@ -2934,3 +2934,60 @@ msgstr "Nginx na większości platform UNIXowych" msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." msgstr "Nie znaleziono żadnego pliku dla wybranej kopii zapasowej. Może to oznaczać, że rekordy plików dla tej kopii są wyczyszczone. Przywracanie wybranych plików nie jest dostępne, ale jeżeli kontynuujesz, to zostanie wykonane pełne przywrócenie wszystkich plików kopii zapasowej." + +msgid "Date and time format:" +msgstr "Format daty i czasu:" + +msgid "Available formats:" +msgstr "Dostępne formaty:" + +msgid "full 4 digits year, ex. 2021" +msgstr "pełne 4 cyfry roku, np. 2021" + +msgid "2 digits year, ex, 21" +msgstr "dwie cyfry roku, np. 21" + +msgid "2 digits month 01..12" +msgstr "dwie cyfry miesiąca 01..12" + +msgid "1-2 digits month 1..12" +msgstr "1-2 cyfry miesiąca 1..12" + +msgid "2 digits day 01..31" +msgstr "dwie cyfry dnia 01..31" + +msgid "1-2 digits day 1..31" +msgstr "1-2 cyfry dnia 1..31" + +msgid "2 digits 24-hour format hour 00..23" +msgstr "2 cyfry 24-godzinnego formatu godziny 00..23" + +msgid "1-2 digits 24-hour format hour 0..23" +msgstr "1-2 cyfry 24-godzinnego formatu godziny 0..23" + +msgid "2 digits 12-hour format hour 01..12" +msgstr "2 cyfry 12-godzinnego formatu godziny 01..12" + +msgid "1-2 digits 12-hour format hour 1..12" +msgstr "1-2 cyfry 12-godzinnego formatu godziny 1..12" + +msgid "2 digits minutes 00..59" +msgstr "2 cyfry minuty 00..59" + +msgid "1-2 digits minutes 0..59" +msgstr "1-2 cyfry minuty 0..59" + +msgid "2 digits seconds 00..59" +msgstr "2 cyfry sekundy 00..59" + +msgid "1-2 digits seconds 0..59" +msgstr "1-2 cyfry sekundy 0..59" + +msgid "AM/PM value" +msgstr "Wartość AM/PM" + +msgid "24-hours format time 17:22:41" +msgstr "24-godzinny format czasu 17:22:41" + +msgid "12-hours format time 5:22:41 PM" +msgstr "12-godzinny format czasu 5:22:41 PM" diff --git a/gui/baculum/protected/Web/Lang/pt/messages.mo b/gui/baculum/protected/Web/Lang/pt/messages.mo index 489351f24..1ef06b3b9 100644 Binary files a/gui/baculum/protected/Web/Lang/pt/messages.mo and b/gui/baculum/protected/Web/Lang/pt/messages.mo differ diff --git a/gui/baculum/protected/Web/Lang/pt/messages.po b/gui/baculum/protected/Web/Lang/pt/messages.po index 1813f70ea..b1b8bdb37 100644 --- a/gui/baculum/protected/Web/Lang/pt/messages.po +++ b/gui/baculum/protected/Web/Lang/pt/messages.po @@ -2934,3 +2934,60 @@ msgstr "Nginx na maioria das plataformas UNIX" msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." msgstr "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files." + +msgid "Date and time format:" +msgstr "Date and time format:" + +msgid "Available formats:" +msgstr "Available formats:" + +msgid "full 4 digits year, ex. 2021" +msgstr "full 4 digits year, ex. 2021" + +msgid "2 digits year, ex, 21" +msgstr "2 digits year, ex, 21" + +msgid "2 digits month 01..12" +msgstr "2 digits month 01..12" + +msgid "1-2 digits month 1..12" +msgstr "1-2 digits month 1..12" + +msgid "2 digits day 01..31" +msgstr "2 digits day 01..31" + +msgid "1-2 digits day 1..31" +msgstr "1-2 digits day 1..31" + +msgid "2 digits 24-hour format hour 00..23" +msgstr "2 digits 24-hour format hour 00..23" + +msgid "1-2 digits 24-hour format hour 0..23" +msgstr "1-2 digits 24-hour format hour 0..23" + +msgid "2 digits 12-hour format hour 01..12" +msgstr "2 digits 12-hour format hour 01..12" + +msgid "1-2 digits 12-hour format hour 1..12" +msgstr "1-2 digits 12-hour format hour 1..12" + +msgid "2 digits minutes 00..59" +msgstr "2 digits minutes 00..59" + +msgid "1-2 digits minutes 0..59" +msgstr "1-2 digits minutes 0..59" + +msgid "2 digits seconds 00..59" +msgstr "2 digits seconds 00..59" + +msgid "1-2 digits seconds 0..59" +msgstr "1-2 digits seconds 0..59" + +msgid "AM/PM value" +msgstr "AM/PM value" + +msgid "24-hours format time 17:22:41" +msgstr "24-hours format time 17:22:41" + +msgid "12-hours format time 5:22:41 PM" +msgstr "12-hours format time 5:22:41 PM" diff --git a/gui/baculum/protected/Web/Layouts/Main.tpl b/gui/baculum/protected/Web/Layouts/Main.tpl index 864e5dade..6a41a3e45 100644 --- a/gui/baculum/protected/Web/Layouts/Main.tpl +++ b/gui/baculum/protected/Web/Layouts/Main.tpl @@ -36,7 +36,8 @@ <%[ Running jobs: ]%> diff --git a/gui/baculum/protected/Web/Layouts/Wizard.tpl b/gui/baculum/protected/Web/Layouts/Wizard.tpl index 80176c05d..2f443e99b 100644 --- a/gui/baculum/protected/Web/Layouts/Wizard.tpl +++ b/gui/baculum/protected/Web/Layouts/Wizard.tpl @@ -7,7 +7,8 @@ diff --git a/gui/baculum/protected/Web/Pages/ApplicationSettings.page b/gui/baculum/protected/Web/Pages/ApplicationSettings.page index e4fe3eca4..754a4a231 100644 --- a/gui/baculum/protected/Web/Pages/ApplicationSettings.page +++ b/gui/baculum/protected/Web/Pages/ApplicationSettings.page @@ -1,5 +1,7 @@ <%@ MasterClass="Application.Web.Layouts.Main" Theme="Baculum-v2"%> + /> + />
@@ -21,9 +23,11 @@
+
+
+
<%[ Date and time format: ]%>
+
+ + + +
+ +
web_config['baculum'])) { $this->TimeInJobLog->Checked = ($this->web_config['baculum']['time_in_job_log'] == 1); } + if (key_exists('date_time_format', $this->web_config['baculum'])) { + $this->DateTimeFormat->Text = $this->web_config['baculum']['date_time_format']; + } else { + $this->DateTimeFormat->Text = WebConfig::DEF_DATE_TIME_FORMAT; + } } } @@ -57,6 +62,7 @@ class ApplicationSettings extends BaculumWebPage { $this->web_config['baculum']['max_jobs'] = $max_jobs; $this->web_config['baculum']['size_values_unit'] = $this->BinaryBytes->Checked ? 'binary' : 'decimal'; $this->web_config['baculum']['time_in_job_log'] = ($this->TimeInJobLog->Checked === true) ? 1 : 0; + $this->web_config['baculum']['date_time_format'] = $this->DateTimeFormat->Text; $this->getModule('web_config')->setConfig($this->web_config); } } diff --git a/gui/baculum/protected/Web/Pages/ClientList.page b/gui/baculum/protected/Web/Pages/ClientList.page index 129160745..2d9e95ec5 100644 --- a/gui/baculum/protected/Web/Pages/ClientList.page +++ b/gui/baculum/protected/Web/Pages/ClientList.page @@ -74,29 +74,11 @@ var oClientList = { }, { data: 'jobretention', - render: function (data, type, row) { - var ret; - if (type == 'display' || type == 'filter') { - var time = Units.format_time_period(data); - ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': ''); - } else { - ret = data; - } - return ret; - } + render: render_time_period }, { data: 'fileretention', - render: function (data, type, row) { - var ret; - if (type == 'display' || type == 'filter') { - var time = Units.format_time_period(data); - ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': ''); - } else { - ret = data; - } - return ret; - } + render: render_time_period }, { data: 'clientid', diff --git a/gui/baculum/protected/Web/Pages/ClientView.page b/gui/baculum/protected/Web/Pages/ClientView.page index 262ab9200..79b28698c 100644 --- a/gui/baculum/protected/Web/Pages/ClientView.page +++ b/gui/baculum/protected/Web/Pages/ClientView.page @@ -659,25 +659,25 @@ var oJobForClientList = { }, { data: 'schedtime', + render: render_date, visible: false }, - {data: 'starttime'}, - {data: 'endtime'}, + { + data: 'starttime', + render: render_date + }, + { + data: 'endtime', + render: render_date + }, { data: 'realendtime', + render: render_date, visible: false }, { data: 'jobtdate', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { @@ -686,53 +686,21 @@ var oJobForClientList = { }, { data: 'volsessiontime', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { data: 'jobstatus', - render: function (data, type, row) { - var ret; - if (type == 'display') { - ret = JobStatus.get_icon(data).outerHTML; - } else { - ret = data; - } - return ret; - }, + render: render_jobstatus, className: 'w3-center' }, { data: 'jobbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - } + render: render_bytes }, { data: 'readbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, {data: 'jobfiles'}, diff --git a/gui/baculum/protected/Web/Pages/JobHistoryList.page b/gui/baculum/protected/Web/Pages/JobHistoryList.page index aa73dae52..e2f30d7c8 100644 --- a/gui/baculum/protected/Web/Pages/JobHistoryList.page +++ b/gui/baculum/protected/Web/Pages/JobHistoryList.page @@ -257,25 +257,25 @@ var oJobList = { }, { data: 'schedtime', + render: render_date, visible: false }, - {data: 'starttime'}, - {data: 'endtime'}, + { + data: 'starttime', + render: render_date + }, + { + data: 'endtime', + render: render_date + }, { data: 'realendtime', + render: render_date, visible: false }, { data: 'jobtdate', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { @@ -284,53 +284,21 @@ var oJobList = { }, { data: 'volsessiontime', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { data: 'jobstatus', - render: function (data, type, row) { - var ret; - if (type == 'display') { - ret = JobStatus.get_icon(data).outerHTML; - } else { - ret = data; - } - return ret; - }, + render: render_jobstatus, className: 'w3-center' }, { data: 'jobbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - } + render: render_bytes }, { data: 'readbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, {data: 'jobfiles'}, diff --git a/gui/baculum/protected/Web/Pages/JobView.page b/gui/baculum/protected/Web/Pages/JobView.page index 611788c47..d390fab0c 100644 --- a/gui/baculum/protected/Web/Pages/JobView.page +++ b/gui/baculum/protected/Web/Pages/JobView.page @@ -205,25 +205,25 @@ var oJobHistoryList = { }, { data: 'schedtime', + render: render_date, visible: false }, - {data: 'starttime'}, - {data: 'endtime'}, + { + data: 'starttime', + render: render_date + }, + { + data: 'endtime', + render: render_date + }, { data: 'realendtime', + render: render_date, visible: false }, { data: 'jobtdate', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { @@ -232,53 +232,21 @@ var oJobHistoryList = { }, { data: 'volsessiontime', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { data: 'jobstatus', - render: function (data, type, row) { - var ret; - if (type == 'display') { - ret = JobStatus.get_icon(data).outerHTML; - } else { - ret = data; - } - return ret; - }, + render: render_jobstatus, className: 'w3-center' }, { data: 'jobbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - } + render: render_bytes }, { data: 'readbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, {data: 'jobfiles'}, diff --git a/gui/baculum/protected/Web/Pages/PoolList.page b/gui/baculum/protected/Web/Pages/PoolList.page index 234754227..7685fe216 100644 --- a/gui/baculum/protected/Web/Pages/PoolList.page +++ b/gui/baculum/protected/Web/Pages/PoolList.page @@ -75,16 +75,7 @@ var oPoolList = { }, { data: 'volretention', - render: function (data, type, row) { - var ret; - if (type == 'display' || type == 'filter') { - var time = Units.format_time_period(data); - ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': ''); - } else { - ret = data; - } - return ret; - } + render: render_time_period }, { data: 'autoprune', diff --git a/gui/baculum/protected/Web/Pages/PoolView.page b/gui/baculum/protected/Web/Pages/PoolView.page index 56c5035c7..543307849 100644 --- a/gui/baculum/protected/Web/Pages/PoolView.page +++ b/gui/baculum/protected/Web/Pages/PoolView.page @@ -137,7 +137,7 @@ LabelType <%[ First written ]%> <%[ Last written ]%> - <%[ Vol. bytes ]%> + <%[ Vol. bytes ]%> <%[ Max. vol. bytes ]%> <%[ Max. vol. jobs ]%> <%[ Max. vol. files ]%> @@ -199,7 +199,7 @@ LabelType <%[ First written ]%> <%[ Last written ]%> - <%[ Vol. bytes ]%> + <%[ Vol. bytes ]%> <%[ Max. vol. bytes ]%> <%[ Max. vol. jobs ]%> <%[ Max. vol. files ]%> @@ -334,32 +334,20 @@ var oVolumeList = { }, { data: 'firstwritten', + render: render_date, visible: false }, - {data: 'lastwritten'}, + { + data: 'lastwritten', + render: render_date + }, { data: 'volbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - } + render: render_bytes }, { data: 'maxvolbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -372,28 +360,12 @@ var oVolumeList = { }, { data: 'volcapacitybytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { data: 'volabytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -402,15 +374,7 @@ var oVolumeList = { }, { data: 'volholebytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -431,6 +395,7 @@ var oVolumeList = { }, { data: 'labeldate', + render: render_date, visible: false }, { @@ -458,44 +423,17 @@ var oVolumeList = { }, { data: 'volretention', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { data: 'cacheretention', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { data: 'voluseduration', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { @@ -504,30 +442,12 @@ var oVolumeList = { }, { data: 'volreadtime', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { data: 'volwritetime', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { @@ -540,15 +460,7 @@ var oVolumeList = { }, { data: 'lastpartbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -593,6 +505,7 @@ var oVolumeList = { }, { data: 'whenexpire', + render: render_date_ex, visible: false }, { diff --git a/gui/baculum/protected/Web/Pages/RestoreWizard.page b/gui/baculum/protected/Web/Pages/RestoreWizard.page index f3c9d518e..14e8fa682 100644 --- a/gui/baculum/protected/Web/Pages/RestoreWizard.page +++ b/gui/baculum/protected/Web/Pages/RestoreWizard.page @@ -263,28 +263,12 @@ var oJobsToRestoreList = { }, { data: 'jobstatus', - render: function (data, type, row) { - var ret; - if (type == 'display') { - ret = JobStatus.get_icon(data).outerHTML; - } else { - ret = data; - } - return ret; - }, + render: render_jobstatus, aresponsivePriority: 6 }, { data: 'jobbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, responsivePriority: 7 }, { @@ -293,6 +277,7 @@ var oJobsToRestoreList = { }, { data: 'endtime', + render: render_date, responsivePriority: 9 }, { diff --git a/gui/baculum/protected/Web/Pages/VolumeList.page b/gui/baculum/protected/Web/Pages/VolumeList.page index 681a40d32..eeef9e7bd 100644 --- a/gui/baculum/protected/Web/Pages/VolumeList.page +++ b/gui/baculum/protected/Web/Pages/VolumeList.page @@ -249,32 +249,20 @@ var oVolumeList = { }, { data: 'firstwritten', + render: render_date, visible: false }, - {data: 'lastwritten'}, + { + data: 'lastwritten', + render: render_date + }, { data: 'volbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - } + render: render_bytes }, { data: 'maxvolbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -287,28 +275,12 @@ var oVolumeList = { }, { data: 'volcapacitybytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { data: 'volabytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -317,15 +289,7 @@ var oVolumeList = { }, { data: 'volholebytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -346,6 +310,7 @@ var oVolumeList = { }, { data: 'labeldate', + render: render_date, visible: false }, { @@ -373,44 +338,17 @@ var oVolumeList = { }, { data: 'volretention', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { data: 'cacheretention', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { data: 'voluseduration', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { @@ -419,30 +357,12 @@ var oVolumeList = { }, { data: 'volreadtime', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { data: 'volwritetime', - render: function(data, type, row) { - var t; - if (type == 'display') { - var ret = Units.format_time_period(data); - t = ret.value + ' ' + ret.format; - } else { - t = data; - } - return t; - }, + render: render_time_period, visible: false }, { @@ -455,15 +375,7 @@ var oVolumeList = { }, { data: 'lastpartbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, { @@ -508,6 +420,7 @@ var oVolumeList = { }, { data: 'whenexpire', + render: render_date_ex, visible: false }, { diff --git a/gui/baculum/protected/Web/Pages/VolumeView.page b/gui/baculum/protected/Web/Pages/VolumeView.page index ab368e610..82d4b6d7d 100644 --- a/gui/baculum/protected/Web/Pages/VolumeView.page +++ b/gui/baculum/protected/Web/Pages/VolumeView.page @@ -120,11 +120,11 @@ <%[ First written ]%> - + <%[ Last written ]%> - +
@@ -145,7 +145,7 @@ <%[ When expire ]%> - + @@ -454,25 +454,25 @@ var oJobsOnVolumeList = { }, { data: 'schedtime', + render: render_date, visible: false }, - {data: 'starttime'}, - {data: 'endtime'}, + { + data: 'starttime', + render: render_date + }, + { + data: 'endtime', + render: render_date + }, { data: 'realendtime', + render: render_date, visible: false }, { data: 'jobtdate', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { @@ -481,53 +481,21 @@ var oJobsOnVolumeList = { }, { data: 'volsessiontime', - render: function (data, type, row) { - var t; - if (type == 'display') { - t = Units.format_date(data) - } else { - t = data; - } - return t; - }, + render: render_date_ts, visible: false }, { data: 'jobstatus', - render: function (data, type, row) { - var ret; - if (type == 'display') { - ret = JobStatus.get_icon(data).outerHTML; - } else { - ret = data; - } - return ret; - }, + render: render_jobstatus, className: 'w3-center' }, { data: 'jobbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - } + render: render_bytes }, { data: 'readbytes', - render: function (data, type, row) { - var s; - if (type == 'display') { - s = Units.get_formatted_size(data) - } else { - s = data; - } - return s; - }, + render: render_bytes, visible: false }, {data: 'jobfiles'}, @@ -608,11 +576,11 @@ var oJobsOnVolumeList = { }, { className: "dt-center", - targets: [ 1, 3, 4, 5, 7, 9, 10 ] + targets: [ 1, 3, 4, 5, 7, 8, 9, 10 ] }, { className: "dt-body-right", - targets: [ 8 ] + targets: [ 15 ] }], order: [1, 'desc'], initComplete: function () { diff --git a/gui/baculum/protected/Web/Portlets/StatusSchedule.tpl b/gui/baculum/protected/Web/Portlets/StatusSchedule.tpl index e68a7b064..1855415f1 100644 --- a/gui/baculum/protected/Web/Portlets/StatusSchedule.tpl +++ b/gui/baculum/protected/Web/Portlets/StatusSchedule.tpl @@ -148,15 +148,7 @@ var oJobScheduleList = { }, { data: 'level', - render: function(data, type, row) { - var ret; - if (!data) { - ret = '-'; - } else { - ret = JobLevel.get_level(data); - } - return ret; - } + render: render_level }, { data: 'type', @@ -167,9 +159,7 @@ var oJobScheduleList = { {data: 'priority'}, { data: 'schedtime_epoch', - render: function(data, type, row) { - return Units.format_date(data); - } + render: render_date_ts }, <%=empty($this->Job) ? '{data: "name"},' : ''%> {data: 'client'},