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

@@ -1021,7 +1021,7 @@
"DESCRIPTION": "Tato nastavení rozšiřují a přepisují nastavení vaší instance."
},
"LIST": {
"GENERAL": "Obecné",
"LANGUAGES": "Jazyky",
"LOGIN": "Chování při přihlášení a bezpečnost",
"LOCKOUT": "Blokování",
"COMPLEXITY": "Složitost hesla",
@@ -1050,22 +1050,32 @@
}
},
"SETTING": {
"DEFAULTLANGUAGE": "Výchozí jazyk",
"LANGUAGE": {
"de": "Deutsch",
"en": "English",
"es": "Español",
"fr": "Français",
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文",
"bg": "Български",
"pt": "Portuguese",
"mk": "Македонски",
"cs": "Čeština",
"ru": "Русский",
"nl": "Nederlands"
"LANGUAGES": {
"TITLE": "Nastavení jazyka",
"DEFAULT": "Výchozí jazyk",
"ALLOWED": "Povolené jazyky",
"NOT_ALLOWED": "Nepovolené jazyky",
"ALLOW_ALL": "Povolit všechny jazyky",
"DISALLOW_ALL": "Zakázat všechny jazyky",
"SETASDEFAULT": "Nastavit jako výchozí",
"DEFAULT_SAVED": "Výchozí jazyk byl úspěšně nastaven.",
"ALLOWED_SAVED": "Povolené jazyky byly úspěšně nastaveny.",
"OPTIONS": {
"de": "Deutsch",
"en": "English",
"es": "Español",
"fr": "Français",
"it": "Italiano",
"ja": "日本語",
"pl": "Polski",
"zh": "简体中文",
"bg": "Български",
"pt": "Portuguese",
"mk": "Македонски",
"cs": "Čeština",
"ru": "Русский",
"nl": "Nederlands"
}
},
"SMTP": {
"TITLE": "Nastavení SMTP",
@@ -1379,6 +1389,8 @@
"ALLOWUSERNAMEPASSWORD": "Povoleno uživatelské jméno a heslo",
"ALLOWEXTERNALIDP": "Povoleno externí IDP",
"ALLOWREGISTER": "Registrace povolena",
"ALLOWREGISTERUSERS": "Registrace uživatelů povolena",
"ALLOWREGISTERORGS": "Registrace organizací povolena",
"ALLOWUSERNAMEPASSWORD_DESC": "Je povoleno klasické přihlášení s uživatelským jménem a heslem.",
"ALLOWEXTERNALIDP_DESC": "Přihlášení je povoleno pro níže uvedené poskytovatele identity.",
"ALLOWREGISTER_DESC": "Pokud je možnost vybrána, objeví se při přihlášení další krok pro registraci uživatele.",