diff --git a/client/src/components/common/AdministrationModal/UsersPane/ActionsStep.jsx b/client/src/components/common/AdministrationModal/UsersPane/ActionsStep.jsx index 2b9732e2..19f4eb9d 100644 --- a/client/src/components/common/AdministrationModal/UsersPane/ActionsStep.jsx +++ b/client/src/components/common/AdministrationModal/UsersPane/ActionsStep.jsx @@ -38,8 +38,8 @@ const StepTypes = { const ActionsStep = React.memo(({ userId, onClose }) => { const selectUserById = useMemo(() => selectors.makeSelectUserById(), []); - const activeUsersLimit = useSelector(selectors.selectActiveUsersLimit); - const activeUsersTotal = useSelector(selectors.selectActiveUsersTotal); + const activeUserLimit = useSelector(selectors.selectActiveUserLimit); + const activeUserTotal = useSelector(selectors.selectActiveUserTotal); const user = useSelector((state) => selectUserById(state, userId)); const isCurrentUser = useSelector((state) => user.id === selectors.selectCurrentUserId(state)); @@ -237,8 +237,8 @@ const ActionsStep = React.memo(({ userId, onClose }) => { = activeUsersLimit + activeUserLimit !== null && + activeUserTotal >= activeUserLimit } className={styles.menuItem} onClick={user.isDeactivated ? handleActivateClick : handleDeactivateClick} diff --git a/client/src/components/common/AdministrationModal/UsersPane/UsersPane.jsx b/client/src/components/common/AdministrationModal/UsersPane/UsersPane.jsx index 5fc04858..3f06b3f8 100755 --- a/client/src/components/common/AdministrationModal/UsersPane/UsersPane.jsx +++ b/client/src/components/common/AdministrationModal/UsersPane/UsersPane.jsx @@ -17,8 +17,8 @@ import AddStep from './AddStep'; import styles from './UsersPane.module.scss'; const UsersPane = React.memo(() => { - const activeUsersTotal = useSelector(selectors.selectActiveUsersTotal); - const activeUsersLimit = useSelector(selectors.selectActiveUsersLimit); + const activeUserTotal = useSelector(selectors.selectActiveUserTotal); + const activeUserLimit = useSelector(selectors.selectActiveUserLimit); const users = useSelector(selectors.selectUsers); const canAdd = useSelector((state) => { @@ -106,13 +106,13 @@ const UsersPane = React.memo(() => { diff --git a/client/src/components/common/Login/Content.jsx b/client/src/components/common/Login/Content.jsx index b73c2460..4166ee29 100644 --- a/client/src/components/common/Login/Content.jsx +++ b/client/src/components/common/Login/Content.jsx @@ -64,10 +64,10 @@ const createMessage = (error) => { type: 'error', content: 'common.usernameAlreadyInUse', }; - case 'Active users limit reached': + case 'Active user limit reached': return { type: 'error', - content: 'common.activeUsersLimitReached', + content: 'common.activeUserLimitReached', }; case 'Failed to fetch': return { diff --git a/client/src/locales/ar-YE/login.js b/client/src/locales/ar-YE/login.js index e7464f4d..7b0f5c79 100644 --- a/client/src/locales/ar-YE/login.js +++ b/client/src/locales/ar-YE/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'تم الوصول إلى حد المستخدمين النشطين', + activeUserLimitReached: 'تم الوصول إلى حد المستخدمين النشطين', adminLoginRequiredToInitializeInstance: 'مطلوب تسجيل دخول المدير لتهيئة المثيل', emailAlreadyInUse: 'البريد الإلكتروني مستخدم بالفعل', emailOrUsername: 'البريد الإلكتروني أو اسم المستخدم', diff --git a/client/src/locales/bg-BG/login.js b/client/src/locales/bg-BG/login.js index 5a95581d..bf7daace 100644 --- a/client/src/locales/bg-BG/login.js +++ b/client/src/locales/bg-BG/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Достигнат е лимитът на активни потребители', + activeUserLimitReached: 'Достигнат е лимитът на активни потребители', adminLoginRequiredToInitializeInstance: 'Необходимо е влизане на администратор за инициализиране на инстанцията', emailAlreadyInUse: 'Имейлът вече се използва', diff --git a/client/src/locales/ca-ES/login.js b/client/src/locales/ca-ES/login.js index 0c58e6f7..2c28d8f4 100644 --- a/client/src/locales/ca-ES/login.js +++ b/client/src/locales/ca-ES/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: "S'ha assolit el límit d'usuaris actius", + activeUserLimitReached: "S'ha assolit el límit d'usuaris actius", adminLoginRequiredToInitializeInstance: "Es requereix inici de sessió d'administrador per inicialitzar la instància", emailAlreadyInUse: 'Correu electrònic ja en ús', diff --git a/client/src/locales/cs-CZ/login.js b/client/src/locales/cs-CZ/login.js index b737bc33..9f44cc71 100644 --- a/client/src/locales/cs-CZ/login.js +++ b/client/src/locales/cs-CZ/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Dosažený limit aktivních uživatelů', + activeUserLimitReached: 'Dosažený limit aktivních uživatelů', adminLoginRequiredToInitializeInstance: 'K inicializaci instance je nutné přihlášení správce.', emailAlreadyInUse: 'E-mail se již používá', diff --git a/client/src/locales/da-DK/login.js b/client/src/locales/da-DK/login.js index 87aa00f5..6f086ebf 100644 --- a/client/src/locales/da-DK/login.js +++ b/client/src/locales/da-DK/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Grænsen for aktive brugere er nået', + activeUserLimitReached: 'Grænsen for aktive brugere er nået', adminLoginRequiredToInitializeInstance: 'Administrator login påkrævet for at initialisere instans', emailAlreadyInUse: 'E-mail allerede i brug', diff --git a/client/src/locales/de-DE/login.js b/client/src/locales/de-DE/login.js index 5d7d73b0..eddd6fa3 100644 --- a/client/src/locales/de-DE/login.js +++ b/client/src/locales/de-DE/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Maximale Anzahl aktiver Benutzer erreicht', + activeUserLimitReached: 'Maximale Anzahl aktiver Benutzer erreicht', adminLoginRequiredToInitializeInstance: 'Admin-Anmeldung erforderlich zur Initialisierung der Instanz', emailAlreadyInUse: 'E-mail Adresse wird bereits benutzt', diff --git a/client/src/locales/el-GR/login.js b/client/src/locales/el-GR/login.js index e18ccad9..204e1461 100644 --- a/client/src/locales/el-GR/login.js +++ b/client/src/locales/el-GR/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Έχει επιτευχθεί το όριο ενεργών χρηστών', + activeUserLimitReached: 'Έχει επιτευχθεί το όριο ενεργών χρηστών', adminLoginRequiredToInitializeInstance: 'Απαιτείται σύνδεση διαχειριστή για την αρχικοποίηση της εφαρμογής', emailAlreadyInUse: 'Το e-mail χρησιμοποιείται ήδη', diff --git a/client/src/locales/en-GB/login.js b/client/src/locales/en-GB/login.js index 81206524..a003b26e 100644 --- a/client/src/locales/en-GB/login.js +++ b/client/src/locales/en-GB/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Active users limit reached', + activeUserLimitReached: 'Active user limit reached', adminLoginRequiredToInitializeInstance: 'Admin login required to initialize instance', emailAlreadyInUse: 'E-mail already in use', emailOrUsername: 'E-mail or username', diff --git a/client/src/locales/en-US/login.js b/client/src/locales/en-US/login.js index 81206524..a003b26e 100644 --- a/client/src/locales/en-US/login.js +++ b/client/src/locales/en-US/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Active users limit reached', + activeUserLimitReached: 'Active user limit reached', adminLoginRequiredToInitializeInstance: 'Admin login required to initialize instance', emailAlreadyInUse: 'E-mail already in use', emailOrUsername: 'E-mail or username', diff --git a/client/src/locales/es-ES/login.js b/client/src/locales/es-ES/login.js index d07d65b1..30dbc847 100644 --- a/client/src/locales/es-ES/login.js +++ b/client/src/locales/es-ES/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Se ha alcanzado el límite de usuarios activos', + activeUserLimitReached: 'Se ha alcanzado el límite de usuarios activos', adminLoginRequiredToInitializeInstance: 'Se requiere inicio de sesión de administrador para inicializar la instancia', emailAlreadyInUse: 'Correo electrónico ya en uso', diff --git a/client/src/locales/et-EE/login.js b/client/src/locales/et-EE/login.js index 7128832e..b21d59f2 100644 --- a/client/src/locales/et-EE/login.js +++ b/client/src/locales/et-EE/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Aktiivsete kasutajate limiit on täis', + activeUserLimitReached: 'Aktiivsete kasutajate limiit on täis', adminLoginRequiredToInitializeInstance: 'Administraatori sisselogimine on vajalik rakenduse käivitamiseks', emailAlreadyInUse: 'E-post on juba kasutusel', diff --git a/client/src/locales/fa-IR/login.js b/client/src/locales/fa-IR/login.js index ce39d0eb..c5541e75 100644 --- a/client/src/locales/fa-IR/login.js +++ b/client/src/locales/fa-IR/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'حد کاربران فعال به پایان رسیده است', + activeUserLimitReached: 'حد کاربران فعال به پایان رسیده است', adminLoginRequiredToInitializeInstance: 'ورود مدیر برای راه‌اندازی نمونه مورد نیاز است', emailAlreadyInUse: 'ایمیل قبلا استفاده شده است', emailOrUsername: 'ایمیل یا نام کاربری', diff --git a/client/src/locales/fi-FI/login.js b/client/src/locales/fi-FI/login.js index 5c69248c..871e9c47 100644 --- a/client/src/locales/fi-FI/login.js +++ b/client/src/locales/fi-FI/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Aktiivisten käyttäjien raja saavutettu', + activeUserLimitReached: 'Aktiivisten käyttäjien raja saavutettu', adminLoginRequiredToInitializeInstance: 'Järjestelmänvalvojan kirjautuminen vaaditaan instanssin alustamiseksi', emailAlreadyInUse: 'Sähköposti on jo käytössä', diff --git a/client/src/locales/fr-FR/login.js b/client/src/locales/fr-FR/login.js index a4410062..48bd111b 100644 --- a/client/src/locales/fr-FR/login.js +++ b/client/src/locales/fr-FR/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'La limite d’utilisateurs actifs a été atteinte', + activeUserLimitReached: 'La limite d’utilisateurs actifs a été atteinte', adminLoginRequiredToInitializeInstance: "Connexion administrateur requise pour initialiser l'instance", emailAlreadyInUse: 'E-mail déjà utilisé', diff --git a/client/src/locales/hu-HU/login.js b/client/src/locales/hu-HU/login.js index da81a03d..dce21035 100644 --- a/client/src/locales/hu-HU/login.js +++ b/client/src/locales/hu-HU/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Aktív felhasználók korlátja elérve', + activeUserLimitReached: 'Aktív felhasználók korlátja elérve', adminLoginRequiredToInitializeInstance: 'Rendszergazdai bejelentkezés szükséges a példány inicializálásához', emailAlreadyInUse: 'Az e-mail cím már használatban van', diff --git a/client/src/locales/id-ID/login.js b/client/src/locales/id-ID/login.js index 032a75f5..356f255c 100644 --- a/client/src/locales/id-ID/login.js +++ b/client/src/locales/id-ID/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Batas pengguna aktif tercapai', + activeUserLimitReached: 'Batas pengguna aktif tercapai', adminLoginRequiredToInitializeInstance: 'Login admin diperlukan untuk menginisialisasi instance', emailAlreadyInUse: 'E-mail telah digunakan', diff --git a/client/src/locales/it-IT/login.js b/client/src/locales/it-IT/login.js index 608a7b14..8c1593ba 100644 --- a/client/src/locales/it-IT/login.js +++ b/client/src/locales/it-IT/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Limite utenti attivi raggiunto', + activeUserLimitReached: 'Limite utenti attivi raggiunto', adminLoginRequiredToInitializeInstance: "Login amministratore richiesto per inizializzare l'istanza", emailAlreadyInUse: 'E-mail già in uso', diff --git a/client/src/locales/ja-JP/login.js b/client/src/locales/ja-JP/login.js index efc4824a..b9c9c221 100644 --- a/client/src/locales/ja-JP/login.js +++ b/client/src/locales/ja-JP/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'アクティブユーザーの上限に達しました', + activeUserLimitReached: 'アクティブユーザーの上限に達しました', adminLoginRequiredToInitializeInstance: 'インスタンスを初期化するには管理者ログインが必要です', emailAlreadyInUse: 'Eメールは既に使われています', diff --git a/client/src/locales/ko-KR/login.js b/client/src/locales/ko-KR/login.js index 1e63164c..43d8e181 100644 --- a/client/src/locales/ko-KR/login.js +++ b/client/src/locales/ko-KR/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: '활성 사용자 한도에 도달했습니다', + activeUserLimitReached: '활성 사용자 한도에 도달했습니다', adminLoginRequiredToInitializeInstance: '인스턴스 초기화를 위해 관리자 로그인이 필요합니다', emailAlreadyInUse: '이미 사용 중인 이메일', emailOrUsername: '이메일 또는 사용자 이름', diff --git a/client/src/locales/nl-NL/login.js b/client/src/locales/nl-NL/login.js index e36c19b2..35dda3d6 100644 --- a/client/src/locales/nl-NL/login.js +++ b/client/src/locales/nl-NL/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Limiet voor actieve gebruikers bereikt', + activeUserLimitReached: 'Limiet voor actieve gebruikers bereikt', adminLoginRequiredToInitializeInstance: 'Beheerder login vereist om instantie te initialiseren', emailAlreadyInUse: 'E-mail is al in gebruik', diff --git a/client/src/locales/pl-PL/login.js b/client/src/locales/pl-PL/login.js index 4b4d4bc1..1e431d14 100644 --- a/client/src/locales/pl-PL/login.js +++ b/client/src/locales/pl-PL/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Osiągnięto limit aktywnych użytkowników', + activeUserLimitReached: 'Osiągnięto limit aktywnych użytkowników', adminLoginRequiredToInitializeInstance: 'Wymagane logowanie administratora do inicjalizacji instancji', emailAlreadyInUse: 'E-mail jest już używany', diff --git a/client/src/locales/pt-BR/login.js b/client/src/locales/pt-BR/login.js index effbc3b0..a69680d8 100644 --- a/client/src/locales/pt-BR/login.js +++ b/client/src/locales/pt-BR/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Limite de usuários ativos atingido', + activeUserLimitReached: 'Limite de usuários ativos atingido', adminLoginRequiredToInitializeInstance: 'Login de administrador necessário para inicializar a instância', emailAlreadyInUse: 'E-mail já está em uso', diff --git a/client/src/locales/pt-PT/login.js b/client/src/locales/pt-PT/login.js index 98c64ae1..2064ef0f 100644 --- a/client/src/locales/pt-PT/login.js +++ b/client/src/locales/pt-PT/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Limite de utilizadores activos atingido', + activeUserLimitReached: 'Limite de utilizadores activos atingido', adminLoginRequiredToInitializeInstance: 'Início de sessão de administrador necessário para inicializar a instância', emailAlreadyInUse: 'E-mail já está em uso', diff --git a/client/src/locales/ro-RO/login.js b/client/src/locales/ro-RO/login.js index c18721fc..7296823e 100644 --- a/client/src/locales/ro-RO/login.js +++ b/client/src/locales/ro-RO/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Limita utilizatorilor activi a fost atinsă', + activeUserLimitReached: 'Limita utilizatorilor activi a fost atinsă', adminLoginRequiredToInitializeInstance: 'Este necesară autentificarea administratorului pentru a inițializa instanța', emailAlreadyInUse: 'E-mail deja utilizat', diff --git a/client/src/locales/ru-RU/login.js b/client/src/locales/ru-RU/login.js index 0d1cb159..3f7ea3d3 100644 --- a/client/src/locales/ru-RU/login.js +++ b/client/src/locales/ru-RU/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Достигнут лимит активных пользователей', + activeUserLimitReached: 'Достигнут лимит активных пользователей', adminLoginRequiredToInitializeInstance: 'Требуется вход администратора для инициализации экземпляра', emailAlreadyInUse: 'E-mail уже занят', diff --git a/client/src/locales/sk-SK/login.js b/client/src/locales/sk-SK/login.js index 7a91103d..bdbd1c07 100644 --- a/client/src/locales/sk-SK/login.js +++ b/client/src/locales/sk-SK/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Limit aktívnych používateľov bol dosiahnutý', + activeUserLimitReached: 'Limit aktívnych používateľov bol dosiahnutý', adminLoginRequiredToInitializeInstance: 'Na inicializáciu inštancie je potrebné prihlásenie správcu', emailAlreadyInUse: 'E-mail je už použitý', diff --git a/client/src/locales/sr-Cyrl-RS/login.js b/client/src/locales/sr-Cyrl-RS/login.js index eb53fe01..a6fe3423 100644 --- a/client/src/locales/sr-Cyrl-RS/login.js +++ b/client/src/locales/sr-Cyrl-RS/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Достигнут је лимит активних корисника', + activeUserLimitReached: 'Достигнут је лимит активних корисника', adminLoginRequiredToInitializeInstance: 'Потребна је администраторска пријава за иницијализацију инстанце', emailAlreadyInUse: 'Е-пошта је већ у употреби', diff --git a/client/src/locales/sr-Latn-RS/login.js b/client/src/locales/sr-Latn-RS/login.js index 75e2ee86..01302690 100644 --- a/client/src/locales/sr-Latn-RS/login.js +++ b/client/src/locales/sr-Latn-RS/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Dostignut je limit aktivnih korisnika', + activeUserLimitReached: 'Dostignut je limit aktivnih korisnika', adminLoginRequiredToInitializeInstance: 'Potrebna je administratorska prijava za inicijalizaciju instance', emailAlreadyInUse: 'E-pošta je već u upotrebi', diff --git a/client/src/locales/sv-SE/login.js b/client/src/locales/sv-SE/login.js index 58743087..ace6b473 100644 --- a/client/src/locales/sv-SE/login.js +++ b/client/src/locales/sv-SE/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Gränsen för aktiva användare har nåtts', + activeUserLimitReached: 'Gränsen för aktiva användare har nåtts', adminLoginRequiredToInitializeInstance: 'Administratörsinloggning krävs för att initiera instansen', emailAlreadyInUse: 'E-mail används redan', diff --git a/client/src/locales/tr-TR/login.js b/client/src/locales/tr-TR/login.js index 2c78dd41..4639c9f2 100644 --- a/client/src/locales/tr-TR/login.js +++ b/client/src/locales/tr-TR/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Aktif kullanıcı sınırına ulaşıldı', + activeUserLimitReached: 'Aktif kullanıcı sınırına ulaşıldı', adminLoginRequiredToInitializeInstance: 'Örneği başlatmak için yönetici girişi gerekli', emailAlreadyInUse: 'E-posta adresi zaten kullanımda', emailOrUsername: 'E-posta adresi veya kullanıcı adı', diff --git a/client/src/locales/uk-UA/login.js b/client/src/locales/uk-UA/login.js index 41ee019e..e08f3e41 100644 --- a/client/src/locales/uk-UA/login.js +++ b/client/src/locales/uk-UA/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Досягнуто ліміту активних користувачів', + activeUserLimitReached: 'Досягнуто ліміту активних користувачів', adminLoginRequiredToInitializeInstance: 'Потрібен вхід адміністратора для ініціалізації екземпляра', emailAlreadyInUse: 'Електронна пошта вже використовується', diff --git a/client/src/locales/uz-UZ/login.js b/client/src/locales/uz-UZ/login.js index 29768cb3..fceed31e 100644 --- a/client/src/locales/uz-UZ/login.js +++ b/client/src/locales/uz-UZ/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Faol foydalanuvchilar chegarasiga yetildi', + activeUserLimitReached: 'Faol foydalanuvchilar chegarasiga yetildi', adminLoginRequiredToInitializeInstance: 'Tizimni ishga tushirish uchun admin kirishi talab qilinadi', emailAlreadyInUse: 'E-mail allaqachon mavjud', diff --git a/client/src/locales/vi-VN/login.js b/client/src/locales/vi-VN/login.js index e4de4afc..8a7828b8 100644 --- a/client/src/locales/vi-VN/login.js +++ b/client/src/locales/vi-VN/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: 'Đã đạt giới hạn người dùng hoạt động', + activeUserLimitReached: 'Đã đạt giới hạn người dùng hoạt động', adminLoginRequiredToInitializeInstance: 'Cần đăng nhập quản trị để khởi tạo phiên bản', emailAlreadyInUse: 'E-mail đã được sử dụng', emailOrUsername: 'E-mail hoặc tên đăng nhập', diff --git a/client/src/locales/zh-CN/login.js b/client/src/locales/zh-CN/login.js index 8c51d33f..446ab38c 100644 --- a/client/src/locales/zh-CN/login.js +++ b/client/src/locales/zh-CN/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: '活跃用户数已达上限', + activeUserLimitReached: '活跃用户数已达上限', adminLoginRequiredToInitializeInstance: '需要管理员登录以初始化实例', emailAlreadyInUse: '邮箱已使用', emailOrUsername: '邮箱或用户名', diff --git a/client/src/locales/zh-TW/login.js b/client/src/locales/zh-TW/login.js index e8147489..f81245db 100644 --- a/client/src/locales/zh-TW/login.js +++ b/client/src/locales/zh-TW/login.js @@ -1,7 +1,7 @@ export default { translation: { common: { - activeUsersLimitReached: '活躍使用者數已達上限', + activeUserLimitReached: '活躍使用者數已達上限', adminLoginRequiredToInitializeInstance: '需要管理員登入以初始化實例', emailAlreadyInUse: '郵箱已被使用', emailOrUsername: '郵箱或使用者名稱', diff --git a/client/src/selectors/common.js b/client/src/selectors/common.js index 9a7fbf0a..79761f37 100644 --- a/client/src/selectors/common.js +++ b/client/src/selectors/common.js @@ -11,7 +11,7 @@ export const selectBootstrap = ({ common: { bootstrap } }) => bootstrap; export const selectOidcBootstrap = (state) => selectBootstrap(state).oidc; -export const selectActiveUsersLimit = (state) => selectBootstrap(state).activeUsersLimit; +export const selectActiveUserLimit = (state) => selectBootstrap(state).activeUserLimit; export const selectAccessToken = ({ auth: { accessToken } }) => accessToken; @@ -28,7 +28,7 @@ export default { selectIsInitializing, selectBootstrap, selectOidcBootstrap, - selectActiveUsersLimit, + selectActiveUserLimit, selectAccessToken, selectAuthenticateForm, selectUserCreateForm, diff --git a/client/src/selectors/users.js b/client/src/selectors/users.js index d4faec79..4c974f57 100644 --- a/client/src/selectors/users.js +++ b/client/src/selectors/users.js @@ -51,7 +51,7 @@ export const selectActiveUsers = createSelector(orm, ({ User }) => User.getActiveQuerySet().toRefArray(), ); -export const selectActiveUsersTotal = createSelector(orm, ({ User }) => +export const selectActiveUserTotal = createSelector(orm, ({ User }) => User.getActiveQuerySet().count(), ); @@ -347,7 +347,7 @@ export default { selectCurrentUserId, selectUsers, selectActiveUsers, - selectActiveUsersTotal, + selectActiveUserTotal, selectActiveAdminOrProjectOwnerUsers, selectCurrentUser, selectProjectIdsForCurrentUser, diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 23c05cc7..771e9e27 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -42,7 +42,7 @@ services: # - INTERNAL_ACCESS_TOKEN= # - STORAGE_LIMIT= - # - ACTIVE_USERS_LIMIT= + # - ACTIVE_USER_LIMIT= # - CUSTOMER_PANEL_URL= # Set to true to show more detailed authentication error messages. diff --git a/docker-compose.yml b/docker-compose.yml index 3b41a397..bc5f65f3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,7 +56,7 @@ services: # - INTERNAL_ACCESS_TOKEN= # - STORAGE_LIMIT= - # - ACTIVE_USERS_LIMIT= + # - ACTIVE_USER_LIMIT= # - CUSTOMER_PANEL_URL= # Set to true to show more detailed authentication error messages. diff --git a/server/.env.sample b/server/.env.sample index 30a7d773..d7bf6d91 100644 --- a/server/.env.sample +++ b/server/.env.sample @@ -33,7 +33,7 @@ SECRET_KEY=notsecretkey # INTERNAL_ACCESS_TOKEN= # STORAGE_LIMIT= -# ACTIVE_USERS_LIMIT= +# ACTIVE_USER_LIMIT= # CUSTOMER_PANEL_URL= # Set to true to show more detailed authentication error messages. diff --git a/server/api/controllers/access-tokens/exchange-with-oidc.js b/server/api/controllers/access-tokens/exchange-with-oidc.js index 1e0618ae..8fa53bed 100644 --- a/server/api/controllers/access-tokens/exchange-with-oidc.js +++ b/server/api/controllers/access-tokens/exchange-with-oidc.js @@ -119,7 +119,7 @@ * enum: * - Email already in use * - Username already in use - * - Active users limit reached + * - Active user limit reached * description: Specific error message * example: Email already in use * 422: @@ -182,8 +182,8 @@ const Errors = { USERNAME_ALREADY_IN_USE: { usernameAlreadyInUse: 'Username already in use', }, - ACTIVE_USERS_LIMIT_REACHED: { - activeUsersLimitReached: 'Active users limit reached', + ACTIVE_USER_LIMIT_REACHED: { + activeUserLimitReached: 'Active user limit reached', }, MISSING_VALUES: { missingValues: 'Unable to retrieve required values (email, name)', @@ -229,7 +229,7 @@ module.exports = { usernameAlreadyInUse: { responseType: 'conflict', }, - activeUsersLimitReached: { + activeUserLimitReached: { responseType: 'conflict', }, missingValues: { @@ -250,7 +250,7 @@ module.exports = { .intercept('invalidUserinfoConfiguration', () => Errors.INVALID_USERINFO_CONFIGURATION) .intercept('emailAlreadyInUse', () => Errors.EMAIL_ALREADY_IN_USE) .intercept('usernameAlreadyInUse', () => Errors.USERNAME_ALREADY_IN_USE) - .intercept('activeLimitReached', () => Errors.ACTIVE_USERS_LIMIT_REACHED) + .intercept('activeLimitReached', () => Errors.ACTIVE_USER_LIMIT_REACHED) .intercept('missingValues', () => Errors.MISSING_VALUES); return sails.helpers.accessTokens.handleSteps diff --git a/server/api/controllers/bootstrap/show.js b/server/api/controllers/bootstrap/show.js index cda20d26..e430a978 100644 --- a/server/api/controllers/bootstrap/show.js +++ b/server/api/controllers/bootstrap/show.js @@ -47,7 +47,7 @@ * type: boolean * description: Whether OIDC authentication is enforced (users must use OIDC to login) * example: false - * activeUsersLimit: + * activeUserLimit: * type: number * nullable: true * description: Maximum number of active users allowed (conditionally added for admins if configured) diff --git a/server/api/helpers/bootstrap/present-one.js b/server/api/helpers/bootstrap/present-one.js index 003aa341..3e6ab3ee 100644 --- a/server/api/helpers/bootstrap/present-one.js +++ b/server/api/helpers/bootstrap/present-one.js @@ -22,7 +22,7 @@ module.exports = { }; if (inputs.user && inputs.user.role === User.Roles.ADMIN) { Object.assign(data, { - activeUsersLimit: sails.config.custom.activeUsersLimit, + activeUserLimit: sails.config.custom.activeUserLimit, customerPanelUrl: sails.config.custom.customerPanelUrl, }); } diff --git a/server/api/hooks/query-methods/models/User.js b/server/api/hooks/query-methods/models/User.js index 80d3207f..393749f6 100644 --- a/server/api/hooks/query-methods/models/User.js +++ b/server/api/hooks/query-methods/models/User.js @@ -25,7 +25,7 @@ const defaultFind = (criteria) => User.find(criteria).sort('id'); /* Query methods */ const createOne = (values) => { - if (sails.config.custom.activeUsersLimit !== null) { + if (sails.config.custom.activeUserLimit !== null) { return sails.getDatastore().transaction(async (db) => { const queryResult = await sails .sendNativeQuery('SELECT NULL FROM user_account WHERE is_deactivated = $1 FOR UPDATE', [ @@ -33,7 +33,7 @@ const createOne = (values) => { ]) .usingConnection(db); - if (queryResult.rowCount >= sails.config.custom.activeUsersLimit) { + if (queryResult.rowCount >= sails.config.custom.activeUserLimit) { throw 'activeLimitReached'; } @@ -87,7 +87,7 @@ const getOneActiveByApiKeyHash = (apiKeyHash) => const updateOne = async (criteria, values) => { const enforceActiveLimit = - values.isDeactivated === false && sails.config.custom.activeUsersLimit !== null; + values.isDeactivated === false && sails.config.custom.activeUserLimit !== null; if (!_.isUndefined(values.avatar) || enforceActiveLimit) { return sails.getDatastore().transaction(async (db) => { @@ -98,7 +98,7 @@ const updateOne = async (criteria, values) => { ]) .usingConnection(db); - if (queryResult.rowCount >= sails.config.custom.activeUsersLimit) { + if (queryResult.rowCount >= sails.config.custom.activeUserLimit) { throw 'activeLimitReached'; } } diff --git a/server/config/custom.js b/server/config/custom.js index 07d0b696..b780b3b2 100644 --- a/server/config/custom.js +++ b/server/config/custom.js @@ -61,7 +61,7 @@ module.exports.custom = { internalAccessToken: process.env.INTERNAL_ACCESS_TOKEN, storageLimit: envToBytes(process.env.STORAGE_LIMIT), - activeUsersLimit: envToNumber(process.env.ACTIVE_USERS_LIMIT), + activeUserLimit: envToNumber(process.env.ACTIVE_USER_LIMIT), customerPanelUrl: process.env.CUSTOMER_PANEL_URL, showDetailedAuthErrors: process.env.SHOW_DETAILED_AUTH_ERRORS === 'true', diff --git a/server/db/seeds/default.js b/server/db/seeds/default.js index 04394632..3b1949ce 100644 --- a/server/db/seeds/default.js +++ b/server/db/seeds/default.js @@ -57,9 +57,9 @@ exports.seed = async (knex) => { } } - const activeUsersLimit = parseInt(process.env.ACTIVE_USERS_LIMIT, 10); + const activeUserLimit = parseInt(process.env.ACTIVE_USER_LIMIT, 10); - if (!Number.isNaN(activeUsersLimit)) { + if (!Number.isNaN(activeUserLimit)) { let orderByQuery; let orderByQueryValues; @@ -76,7 +76,7 @@ exports.seed = async (knex) => { .where('is_deactivated', false) .orderByRaw(orderByQuery, orderByQueryValues) .orderBy('id') - .offset(activeUsersLimit); + .offset(activeUserLimit); if (users.length > 0) { const userIds = users.map(({ id }) => id);