summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2025-12-15 12:27:01 +0100
committerSimon Rettberg2025-12-15 12:27:01 +0100
commitc297799dd52fb9250b284d261185d78a9a8f6540 (patch)
tree4dba121bba9f97e07905222ee07cfdeca2de12fd
parentAdd tests using PHPUnit (diff)
downloadslx-admin-c297799dd52fb9250b284d261185d78a9a8f6540.tar.gz
slx-admin-c297799dd52fb9250b284d261185d78a9a8f6540.tar.xz
slx-admin-c297799dd52fb9250b284d261185d78a9a8f6540.zip
[dozmod] Show expire time in expired image list
Also disable checkboxes after submitting deletion request
-rw-r--r--modules-available/dozmod/lang/de/template-tags.json1
-rw-r--r--modules-available/dozmod/lang/en/template-tags.json1
-rw-r--r--modules-available/dozmod/pages/expiredimages.inc.php9
-rw-r--r--modules-available/dozmod/templates/images-delete.html8
4 files changed, 12 insertions, 7 deletions
diff --git a/modules-available/dozmod/lang/de/template-tags.json b/modules-available/dozmod/lang/de/template-tags.json
index 338e8e42..9760031f 100644
--- a/modules-available/dozmod/lang/de/template-tags.json
+++ b/modules-available/dozmod/lang/de/template-tags.json
@@ -37,6 +37,7 @@
"lang_emailNotifications": "EMail-Benachrichtigungen aktiviert",
"lang_error": "Fehler",
"lang_event": "Ereignis",
+ "lang_expired": "Abgelaufen",
"lang_fileName": "Dateiname",
"lang_fileSize": "Dateigr\u00f6\u00dfe",
"lang_followingPlaceholdersUnused": "Folgende Platzhalter m\u00fcssen im Template verwendet werden",
diff --git a/modules-available/dozmod/lang/en/template-tags.json b/modules-available/dozmod/lang/en/template-tags.json
index b741e03d..27a765dc 100644
--- a/modules-available/dozmod/lang/en/template-tags.json
+++ b/modules-available/dozmod/lang/en/template-tags.json
@@ -37,6 +37,7 @@
"lang_emailNotifications": "E-Mail notifications enabled",
"lang_error": "Error",
"lang_event": "Event",
+ "lang_expired": "Expired",
"lang_fileName": "File name",
"lang_fileSize": "File size",
"lang_followingPlaceholdersUnused": "The following placeholders are not being used",
diff --git a/modules-available/dozmod/pages/expiredimages.inc.php b/modules-available/dozmod/pages/expiredimages.inc.php
index ab563273..3b8554d8 100644
--- a/modules-available/dozmod/pages/expiredimages.inc.php
+++ b/modules-available/dozmod/pages/expiredimages.inc.php
@@ -12,8 +12,8 @@ class SubPage
{
$res = Database::simpleQuery("SELECT b.displayname,
own.firstname, own.lastname, own.userid,
- v.imageversionid, v.createtime, v.filesize, v.deletestate,
- lat.expiretime AS latexptime, lat.deletestate AS latdelstate
+ v.imageversionid, v.createtime, v.expiretime, v.filesize, v.deletestate,
+ lat.expiretime AS latexptime, lat.deletestate AS latdelstate, lat.isvalid AS latvalid
FROM sat.imageversion v
INNER JOIN sat.imagebase b ON (b.imagebaseid = v.imagebaseid)
INNER JOIN sat.user own ON (b.ownerid = own.userid)
@@ -23,7 +23,7 @@ class SubPage
$NOW = time();
$rows = array();
foreach ($res as $row) {
- if ($row['latexptime'] > $NOW && $row['latdelstate'] === 'KEEP') {
+ if ($row['latexptime'] > $NOW && $row['latdelstate'] === 'KEEP' && $row['latvalid']) {
$row['hasNewerClass'] = 'glyphicon-ok green';
$row['checked'] = 'checked';
} else {
@@ -32,7 +32,8 @@ class SubPage
if ($row['deletestate'] === 'WANT_DELETE') {
$row['name_extra_class'] = 'slx-strike';
}
- $row['version'] = date('d.m.Y H:i:s', $row['createtime']);
+ $row['version'] = date('d.m.Y H:i', $row['createtime']);
+ $row['expiretime_s'] = date('d.m.Y H:i', $row['expiretime']);
$row['rawfilesize'] = $row['filesize'];
$row['filesize'] = Util::readableFileSize($row['filesize']);
$rows[] = $row;
diff --git a/modules-available/dozmod/templates/images-delete.html b/modules-available/dozmod/templates/images-delete.html
index 5bbebdc3..0028d58b 100644
--- a/modules-available/dozmod/templates/images-delete.html
+++ b/modules-available/dozmod/templates/images-delete.html
@@ -16,6 +16,7 @@
<tr>
<th data-sort="string">{{lang_image}}</th>
<th data-sort="int">{{lang_version}}</th>
+ <th data-sort="int">{{lang_expired}}</th>
<th data-sort="string">{{lang_owner}}</th>
<th><span class="glyphicon glyphicon-upload" title="{{lang_hasNewer}}"></span></th>
<th data-sort="int">{{lang_size}}</th>
@@ -34,12 +35,13 @@
<td class="text-left text-nowrap {{name_extra_class}}">{{displayname}}<br><span class="small">{{imageversionid}}</span>
</td>
<td class="text-left text-nowrap" data-sort-value="{{createtime}}">{{version}}</td>
+ <td class="text-left text-nowrap" data-sort-value="{{expiretime}}">{{expiretime_s}}</td>
<td class="text-left text-nowrap"><a href="?do=dozmod&amp;section=actionlog&amp;action=showuser&amp;uuid={{userid}}">{{lastname}}, {{firstname}}</a></td>
<td class="text-left text-nowrap"><span class="glyphicon {{hasNewerClass}}"></span></td>
<td class="text-left text-nowrap" data-sort-value="{{rawfilesize}}">{{filesize}}</td>
<td>
<div class="checkbox">
- <input type="checkbox" id="images[{{imageversionid}}]" class="del-check"
+ <input type="checkbox" id="images[{{imageversionid}}]" class="del-check disable-on-delete"
name="images[{{imageversionid}}]" {{checked}}>
<label for="images[{{imageversionid}}]"></label>
</div>
@@ -49,7 +51,7 @@
</tbody>
</table>
<button {{perm.expiredimages.delete.disabled}} id="expired-delete"
- class="btn btn-danger pull-right" type="submit">
+ class="btn btn-danger pull-right disable-on-delete" type="submit">
<span class="glyphicon glyphicon-trash"></span>
{{lang_delButton}}
</button>
@@ -108,7 +110,7 @@ document.addEventListener("DOMContentLoaded", function () {
var delform = $('#delform');
delform.submit(function (e) {
e.preventDefault();
- $('#expired-delete').prop('disabled', true);
+ $('.disable-on-delete').prop('disabled', true);
$.post('?do=dozmod', delform.serialize()).done(function (data) {
$('#deloutput').text(data).css('display', '');
}).fail(function () {