feat: manage restrictions in console (#6965)

* feat: return 404 or 409 if org reg disallowed

* fix: system limit permissions

* feat: add iam limits api

* feat: disallow public org registrations on default instance

* add integration test

* test: integration

* fix test

* docs: describe public org registrations

* avoid updating docs deps

* fix system limits integration test

* silence integration tests

* fix linting

* ignore strange linter complaints

* review

* improve reset properties naming

* redefine the api

* use restrictions aggregate

* test query

* simplify and test projection

* test commands

* fix unit tests

* move integration test

* support restrictions on default instance

* also test GetRestrictions

* self review

* lint

* abstract away resource owner

* fix tests

* configure supported languages

* fix allowed languages

* fix tests

* default lang must not be restricted

* preferred language must be allowed

* change preferred languages

* check languages everywhere

* lint

* test command side

* lint

* add integration test

* add integration test

* restrict supported ui locales

* lint

* lint

* cleanup

* lint

* allow undefined preferred language

* fix integration tests

* update main

* fix env var

* ignore linter

* ignore linter

* improve integration test config

* reduce cognitive complexity

* compile

* fix(console): switch back to saved language

* feat(API): get allowed languages

* fix(console): only make allowed languages selectable

* warn when editing not allowed languages

* feat: manage restrictions in console

* check for duplicates

* remove useless restriction checks

* review

* revert restriction renaming

* manage languages

* fix language restrictions

* lint

* generate

* allow custom texts for supported langs for now

* fix tests

* cleanup

* cleanup

* cleanup

* lint

* unsupported preferred lang is allowed

* fix integration test

* allow unsupported preferred languages

* lint

* fix languages lists

* simplify default language selection

* translate

* discard

* lint

* load languages for tests

* load languages

* lint

* cleanup

* lint

* cleanup

* get allowed only on admin

* cleanup

* reduce flakiness on very limited postgres

* simplify langSvc

* refactor according to suggestions in pr

* lint

* improve ux

* update central allowed languages

* set first allowed language as default

* readd lost translations

* disable sorting disallowed languages

* fix permissions

* lint

* selectionchange for language in msg texts

* initialize login texts

* init message texts

* lint

* fix drag and drop list styles

* start from 1

* cleanup

* prettier

* correct orgdefaultlabel

* unsubscribe

* lint

* docs: describe language settings

---------

Co-authored-by: peintnermax <max@caos.ch>
This commit is contained in:
Elio Bischof
2023-12-07 13:31:01 +01:00
committed by GitHub
parent 3842319d07
commit d639c5200a
34 changed files with 961 additions and 449 deletions

View File

@@ -1017,7 +1017,7 @@
"DESCRIPTION": "Эти настройки расширяют и перезаписывают настройки вашего экземпляра."
},
"LIST": {
"GENERAL": "Общие",
"LANGUAGES": "Языки",
"LOGIN": "Поведение при входе и безопасность",
"LOCKOUT": "Блокировка",
"COMPLEXITY": "Сложность пароля",
@@ -1043,21 +1043,31 @@
}
},
"SETTING": {
"DEFAULTLANGUAGE": "Язык по умолчанию",
"LANGUAGE": {
"de": "Deutsch",
"en": "English",
"es": "Español",
"fr": "Français",
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文",
"bg": "Български",
"pt": "Portuguese",
"mk": "Македонски",
"ru": "Русский",
"nl": "Nederlands"
"LANGUAGES": {
"TITLE": "Настройки языка",
"DEFAULT": "Язык по умолчанию",
"ALLOWED": "Разрешенные языки",
"NOT_ALLOWED": "Неразрешенные языки",
"ALLOW_ALL": "Разрешить все языки",
"DISALLOW_ALL": "Запретить все языки",
"SETASDEFAULT": "Установить как язык по умолчанию",
"DEFAULT_SAVED": "Язык по умолчанию сохранен",
"ALLOWED_SAVED": "Разрешенные языки сохранены",
"OPTIONS": {
"de": "Deutsch",
"en": "English",
"es": "Español",
"fr": "Français",
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文",
"bg": "Български",
"pt": "Portuguese",
"mk": "Македонски",
"ru": "Русский",
"nl": "Nederlands"
}
},
"SMTP": {
"TITLE": "Настройки SMTP",
@@ -1364,7 +1374,8 @@
"SMTPSENDERADDRESSMATCHESINSTANCEDOMAIN": "Адрес отправителя SMTP соответствует домену экземпляра",
"ALLOWUSERNAMEPASSWORD": "Вход с паролем разрешен",
"ALLOWEXTERNALIDP": "Внешний поставщик разрешен",
"ALLOWREGISTER": "Регистрация разрешена",
"ALLOWREGISTERUSERS": "Регистрация пользователей разрешена",
"ALLOWREGISTERORGS": "Регистрация организаций разрешена",
"ALLOWUSERNAMEPASSWORD_DESC": "Разрешен обычный вход в систему с использованием имени пользователя и паролем.",
"ALLOWEXTERNALIDP_DESC": "Вход разрешен для базовых поставщиков удостоверений.",
"ALLOWREGISTER_DESC": "Если опция выбрана, в логине появляется дополнительный шаг для регистрации пользователя.",