From 3b4c8b9311173bbbf733b6d3f13bd8546872ca85 Mon Sep 17 00:00:00 2001
From: Josef Glatz <typo3@josefglatz.at>
Date: Wed, 15 Feb 2023 18:05:27 +0100
Subject: [PATCH] [TASK] Streamline backend user/-group total amount output

Streamline total amount text for backend groups and backend
user listing. Also correct wording is applied, depending on
the number of records displayed.

Resolves: #99966
Releases: main, 12.4
Change-Id: Ie96dfc1148d4eafcc4418b7187645bf4831262f3
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79736
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
---
 .../beuser/Resources/Private/Language/locallang.xlf  | 12 +++++++++---
 .../Private/Partials/BackendUser/PaginatedList.html  |  7 ++++---
 .../Partials/BackendUserGroup/PaginatedList.html     |  5 ++++-
 .../Private/Templates/BackendUser/Online.html        | 11 +++++++++++
 .../Application/BackendUser/ListUserCest.php         |  2 +-
 5 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/typo3/sysext/beuser/Resources/Private/Language/locallang.xlf b/typo3/sysext/beuser/Resources/Private/Language/locallang.xlf
index a0ce73df0d03..e01988510353 100644
--- a/typo3/sysext/beuser/Resources/Private/Language/locallang.xlf
+++ b/typo3/sysext/beuser/Resources/Private/Language/locallang.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
-	<file source-language="en" datatype="plaintext" original="EXT:beuser/Resources/Private/Language/locallang.xlf" date="2012-07-16T10:11:32Z" product-name="beuser">
+	<file source-language="en" datatype="plaintext" original="EXT:beuser/Resources/Private/Language/locallang.xlf" date="2023-02-15T18:03:32Z" product-name="beuser">
 		<header/>
 		<body>
 			<trans-unit id="activeSessions" resname="activeSessions">
@@ -36,6 +36,9 @@
 			<trans-unit id="users" resname="users">
 				<source>Users</source>
 			</trans-unit>
+			<trans-unit id="user" resname="user">
+				<source>User</source>
+			</trans-unit>
 			<trans-unit id="yes" resname="yes">
 				<source>Yes</source>
 			</trans-unit>
@@ -213,6 +216,9 @@
 			<trans-unit id="groups" resname="groups">
 				<source>Groups</source>
 			</trans-unit>
+			<trans-unit id="group" resname="group">
+				<source>Group</source>
+			</trans-unit>
 			<trans-unit id="information.groups.direct" resname="information.groups.direct">
 				<source>Directly assigned</source>
 			</trans-unit>
@@ -339,10 +345,10 @@
 				<source>Storage</source>
 			</trans-unit>
 			<trans-unit id="filemount.amount.multiple" resname="filemount.amount.multiple">
-				<source>%s filemounts</source>
+				<source>%s Filemounts</source>
 			</trans-unit>
 			<trans-unit id="filemount.amount.singular" resname="filemount.amount.singular">
-				<source>1 filemount</source>
+				<source>1 Filemount</source>
 			</trans-unit>
 		</body>
 	</file>
diff --git a/typo3/sysext/beuser/Resources/Private/Partials/BackendUser/PaginatedList.html b/typo3/sysext/beuser/Resources/Private/Partials/BackendUser/PaginatedList.html
index f8299330d5d2..02a848bc2721 100644
--- a/typo3/sysext/beuser/Resources/Private/Partials/BackendUser/PaginatedList.html
+++ b/typo3/sysext/beuser/Resources/Private/Partials/BackendUser/PaginatedList.html
@@ -143,7 +143,10 @@
         <tfoot>
             <tr>
                 <td colspan="5">
-                    {totalAmountOfBackendUsers} <f:translate key="users" />
+                    <f:if condition="{totalAmountOfBackendUsers} > 1">
+                        <f:then>{totalAmountOfBackendUsers} <f:translate key="users" /></f:then>
+                        <f:else>{totalAmountOfBackendUsers} <f:translate key="user" /></f:else>
+                    </f:if>
                 </td>
             </tr>
         </tfoot>
@@ -151,5 +154,3 @@
 </div>
 
 <f:render partial="SimplePagination" arguments="{paginator:paginator, pagination:pagination}" />
-
-</html>
diff --git a/typo3/sysext/beuser/Resources/Private/Partials/BackendUserGroup/PaginatedList.html b/typo3/sysext/beuser/Resources/Private/Partials/BackendUserGroup/PaginatedList.html
index 5488eac6290e..d537a6355f57 100644
--- a/typo3/sysext/beuser/Resources/Private/Partials/BackendUserGroup/PaginatedList.html
+++ b/typo3/sysext/beuser/Resources/Private/Partials/BackendUserGroup/PaginatedList.html
@@ -110,7 +110,10 @@
         <tfoot>
             <tr>
                 <td colspan="4">
-                    {totalAmountOfBackendUserGroups} <f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_groups" />
+                    <f:if condition="{totalAmountOfBackendUserGroups} > 1">
+                        <f:then>{totalAmountOfBackendUserGroups} <f:translate key="groups" /></f:then>
+                        <f:else>{totalAmountOfBackendUserGroups} <f:translate key="group" /></f:else>
+                    </f:if>
                 </td>
             </tr>
         </tfoot>
diff --git a/typo3/sysext/beuser/Resources/Private/Templates/BackendUser/Online.html b/typo3/sysext/beuser/Resources/Private/Templates/BackendUser/Online.html
index a20902a270b0..96c8637cfe4e 100644
--- a/typo3/sysext/beuser/Resources/Private/Templates/BackendUser/Online.html
+++ b/typo3/sysext/beuser/Resources/Private/Templates/BackendUser/Online.html
@@ -78,6 +78,17 @@
                     </f:for>
                 </f:for>
             </tbody>
+            <tfoot>
+                <tr>
+                    <td colspan="5">
+                        <f:variable name="onlineUsersAndSessionsCount">{onlineUsersAndSessions -> f:count()}</f:variable>
+                        <f:if condition="{onlineUsersAndSessionsCount} > 1">
+                            <f:then>{onlineUsersAndSessionsCount} <f:translate key="users" /></f:then>
+                            <f:else>{onlineUsersAndSessionsCount} <f:translate key="user" /></f:else>
+                        </f:if>
+                    </td>
+                </tr>
+            </tfoot>
         </table>
     </div>
 
diff --git a/typo3/sysext/core/Tests/Acceptance/Application/BackendUser/ListUserCest.php b/typo3/sysext/core/Tests/Acceptance/Application/BackendUser/ListUserCest.php
index f31dc0fa7838..910bf40fd0cc 100644
--- a/typo3/sysext/core/Tests/Acceptance/Application/BackendUser/ListUserCest.php
+++ b/typo3/sysext/core/Tests/Acceptance/Application/BackendUser/ListUserCest.php
@@ -190,7 +190,7 @@ final class ListUserCest
         $I->canSeeNumberOfElements('#typo3-backend-user-list tbody tr', $countOfUsers);
         $I->wantToTest('If a number of users is shown in the footer row');
         $I->canSeeNumberOfElements('#typo3-backend-user-list tfoot tr', 1);
-        $I->see($countOfUsers . ' Users', '#typo3-backend-user-list tfoot tr');
+        $I->see($countOfUsers . ' User', '#typo3-backend-user-list tfoot tr');
     }
 
     private function openAndCloseTheEditForm(ApplicationTester $I, string $username): void
-- 
GitLab