accounts: allow extending expiry of more than one user

This commit is contained in:
Harvey Tindall 2023-12-24 01:45:11 +00:00
parent 0840931fed
commit 0f72a85724
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
2 changed files with 11 additions and 3 deletions

View File

@ -150,7 +150,8 @@
"accountDisabled": "Account disabled: {user}", "accountDisabled": "Account disabled: {user}",
"accountReEnabled": "Account re-enabled: {user}", "accountReEnabled": "Account re-enabled: {user}",
"accountExpired": "Account expired: {user}", "accountExpired": "Account expired: {user}",
"accountWillExpire": "Account will expire on {date}", "accountWillExpire": "Account will expire on {date}.",
"expirationBasedOn": "Given date based on 1st user.",
"userDeleted": "User was deleted.", "userDeleted": "User was deleted.",
"userDisabled": "User was disabled", "userDisabled": "User was disabled",
"inviteCreated": "Invite created: {invite}", "inviteCreated": "Invite created: {invite}",

View File

@ -1634,6 +1634,7 @@ export class accountsList {
_displayExpiryDate = () => { _displayExpiryDate = () => {
let date: Date; let date: Date;
let invalid = false; let invalid = false;
let users = this._collectUsers();
if (this._usingExtendExpiryTextInput) { if (this._usingExtendExpiryTextInput) {
date = (Date as any).fromString(this._extendExpiryTextInput.value) as Date; date = (Date as any).fromString(this._extendExpiryTextInput.value) as Date;
invalid = "invalid" in (date as any); invalid = "invalid" in (date as any);
@ -1645,7 +1646,7 @@ export class accountsList {
document.getElementById("extend-expiry-minutes") as HTMLSelectElement document.getElementById("extend-expiry-minutes") as HTMLSelectElement
]; ];
invalid = fields[0].value == "0" && fields[1].value == "0" && fields[2].value == "0" && fields[3].value == "0"; invalid = fields[0].value == "0" && fields[1].value == "0" && fields[2].value == "0" && fields[3].value == "0";
let id = this._collectUsers().length == 1 ? this._collectUsers()[0] : ""; let id = users.length > 0 ? users[0] : "";
if (!id) invalid = true; if (!id) invalid = true;
else { else {
date = new Date(this._users[id].expiry*1000); date = new Date(this._users[id].expiry*1000);
@ -1665,7 +1666,12 @@ export class accountsList {
} else { } else {
submit.disabled = false; submit.disabled = false;
submitSpan.classList.remove("opacity-60"); submitSpan.classList.remove("opacity-60");
this._extendExpiryDate.textContent = window.lang.strings("accountWillExpire").replace("{date}", toDateString(date)); this._extendExpiryDate.innerHTML = `
<div class="flex flex-col">
<span>${window.lang.strings("accountWillExpire").replace("{date}", toDateString(date))}</span>
${users.length > 1 ? "<span>"+window.lang.strings("expirationBasedOn")+"</span>" : ""}
</div>
`;
this._extendExpiryDate.classList.remove("unfocused"); this._extendExpiryDate.classList.remove("unfocused");
} }
} }
@ -1740,6 +1746,7 @@ export class accountsList {
} }
} }
this._extendExpiryTextInput.value = ""; this._extendExpiryTextInput.value = "";
this._displayExpiryDate();
window.modals.extendExpiry.show(); window.modals.extendExpiry.show();
} }