web/admin: show banner when backend and frontend versions mismatch
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
1b79fad6cf
commit
55bb9b6643
|
@ -6,7 +6,7 @@ from drf_yasg.utils import swagger_auto_schema
|
||||||
from packaging.version import parse
|
from packaging.version import parse
|
||||||
from rest_framework.fields import SerializerMethodField
|
from rest_framework.fields import SerializerMethodField
|
||||||
from rest_framework.mixins import ListModelMixin
|
from rest_framework.mixins import ListModelMixin
|
||||||
from rest_framework.permissions import IsAdminUser
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.request import Request
|
from rest_framework.request import Request
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.viewsets import GenericViewSet
|
from rest_framework.viewsets import GenericViewSet
|
||||||
|
@ -50,7 +50,9 @@ class VersionSerializer(PassiveSerializer):
|
||||||
class VersionViewSet(ListModelMixin, GenericViewSet):
|
class VersionViewSet(ListModelMixin, GenericViewSet):
|
||||||
"""Get running and latest version."""
|
"""Get running and latest version."""
|
||||||
|
|
||||||
permission_classes = [IsAdminUser]
|
permission_classes = [IsAuthenticated]
|
||||||
|
pagination_class = None
|
||||||
|
filter_backends = []
|
||||||
|
|
||||||
def get_queryset(self): # pragma: no cover
|
def get_queryset(self): # pragma: no cover
|
||||||
return None
|
return None
|
||||||
|
|
|
@ -52,7 +52,6 @@ class EmailStageViewSet(ModelViewSet):
|
||||||
queryset = EmailStage.objects.all()
|
queryset = EmailStage.objects.all()
|
||||||
serializer_class = EmailStageSerializer
|
serializer_class = EmailStageSerializer
|
||||||
|
|
||||||
# TODO: Validate connection settings when use_global_settings is unchecked
|
|
||||||
@swagger_auto_schema(responses={200: TypeCreateSerializer(many=True)})
|
@swagger_auto_schema(responses={200: TypeCreateSerializer(many=True)})
|
||||||
@action(detail=False, pagination_class=None, filter_backends=[])
|
@action(detail=False, pagination_class=None, filter_backends=[])
|
||||||
def templates(self, request: Request) -> Response:
|
def templates(self, request: Request) -> Response:
|
||||||
|
|
22
swagger.yaml
22
swagger.yaml
|
@ -131,27 +131,7 @@ paths:
|
||||||
get:
|
get:
|
||||||
operationId: admin_version_list
|
operationId: admin_version_list
|
||||||
description: Get running and latest version.
|
description: Get running and latest version.
|
||||||
parameters:
|
parameters: []
|
||||||
- name: ordering
|
|
||||||
in: query
|
|
||||||
description: Which field to use when ordering the results.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
- name: search
|
|
||||||
in: query
|
|
||||||
description: A search term.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
- name: page
|
|
||||||
in: query
|
|
||||||
description: Page Index
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
- name: page_size
|
|
||||||
in: query
|
|
||||||
description: Page Size
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
responses:
|
responses:
|
||||||
'200':
|
'200':
|
||||||
description: ''
|
description: ''
|
||||||
|
|
|
@ -2,7 +2,6 @@ import { css, CSSResult, html, LitElement, property, TemplateResult } from "lit-
|
||||||
import { SidebarItem } from "../elements/sidebar/Sidebar";
|
import { SidebarItem } from "../elements/sidebar/Sidebar";
|
||||||
import PFBase from "@patternfly/patternfly/patternfly-base.css";
|
import PFBase from "@patternfly/patternfly/patternfly-base.css";
|
||||||
import PFPage from "@patternfly/patternfly/components/Page/page.css";
|
import PFPage from "@patternfly/patternfly/components/Page/page.css";
|
||||||
import PFSkipToContent from "@patternfly/patternfly/components/SkipToContent/skip-to-content.css";
|
|
||||||
import PFButton from "@patternfly/patternfly/components/Button/button.css";
|
import PFButton from "@patternfly/patternfly/components/Button/button.css";
|
||||||
import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css";
|
import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css";
|
||||||
|
|
||||||
|
@ -13,7 +12,9 @@ import "../elements/Banner";
|
||||||
import { until } from "lit-html/directives/until";
|
import { until } from "lit-html/directives/until";
|
||||||
import { me } from "../api/Users";
|
import { me } from "../api/Users";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { EVENT_NOTIFICATION_TOGGLE, EVENT_SIDEBAR_TOGGLE } from "../constants";
|
import { EVENT_NOTIFICATION_TOGGLE, EVENT_SIDEBAR_TOGGLE, VERSION } from "../constants";
|
||||||
|
import { AdminApi } from "authentik-api";
|
||||||
|
import { DEFAULT_CONFIG } from "../api/Config";
|
||||||
|
|
||||||
export abstract class Interface extends LitElement {
|
export abstract class Interface extends LitElement {
|
||||||
@property({type: Boolean})
|
@property({type: Boolean})
|
||||||
|
@ -25,7 +26,7 @@ export abstract class Interface extends LitElement {
|
||||||
abstract get sidebar(): SidebarItem[];
|
abstract get sidebar(): SidebarItem[];
|
||||||
|
|
||||||
static get styles(): CSSResult[] {
|
static get styles(): CSSResult[] {
|
||||||
return [PFBase, PFPage, PFSkipToContent, PFButton, PFDrawer, css`
|
return [PFBase, PFPage, PFButton, PFDrawer, css`
|
||||||
.pf-c-page__main, .pf-c-drawer__content, .pf-c-page__drawer {
|
.pf-c-page__main, .pf-c-drawer__content, .pf-c-page__drawer {
|
||||||
z-index: auto !important;
|
z-index: auto !important;
|
||||||
}
|
}
|
||||||
|
@ -48,6 +49,17 @@ export abstract class Interface extends LitElement {
|
||||||
|
|
||||||
render(): TemplateResult {
|
render(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
|
${until(new AdminApi(DEFAULT_CONFIG).adminVersionList().then(version => {
|
||||||
|
if (version.versionCurrent !== VERSION) {
|
||||||
|
return html`<ak-banner>
|
||||||
|
${t`A newer version of the frontend is available.`}
|
||||||
|
<button @click=${() => { window.location.reload(); }}>
|
||||||
|
${t`Reload`}
|
||||||
|
</button>
|
||||||
|
</ak-banner>`;
|
||||||
|
}
|
||||||
|
return html``;
|
||||||
|
}))}
|
||||||
${until(me().then((u) => {
|
${until(me().then((u) => {
|
||||||
if (u.original) {
|
if (u.original) {
|
||||||
return html`<ak-banner>
|
return html`<ak-banner>
|
||||||
|
|
|
@ -25,6 +25,10 @@ msgstr "6 digits, widely compatible"
|
||||||
msgid "8 digits, not compatible with apps like Google Authenticator"
|
msgid "8 digits, not compatible with apps like Google Authenticator"
|
||||||
msgstr "8 digits, not compatible with apps like Google Authenticator"
|
msgstr "8 digits, not compatible with apps like Google Authenticator"
|
||||||
|
|
||||||
|
#: src/interfaces/Interface.ts:50
|
||||||
|
msgid "A newer version of the frontend is available."
|
||||||
|
msgstr "A newer version of the frontend is available."
|
||||||
|
|
||||||
#: src/pages/policies/dummy/DummyPolicyForm.ts:53
|
#: src/pages/policies/dummy/DummyPolicyForm.ts:53
|
||||||
msgid "A policy used for testing. Always returns the same result as specified below after waiting a random duration."
|
msgid "A policy used for testing. Always returns the same result as specified below after waiting a random duration."
|
||||||
msgstr "A policy used for testing. Always returns the same result as specified below after waiting a random duration."
|
msgstr "A policy used for testing. Always returns the same result as specified below after waiting a random duration."
|
||||||
|
@ -462,7 +466,7 @@ msgstr "Change password"
|
||||||
msgid "Change your password"
|
msgid "Change your password"
|
||||||
msgstr "Change your password"
|
msgstr "Change your password"
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:119
|
#: src/pages/applications/ApplicationViewPage.ts:123
|
||||||
#: src/pages/flows/FlowViewPage.ts:110
|
#: src/pages/flows/FlowViewPage.ts:110
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:136
|
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:136
|
||||||
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:135
|
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:135
|
||||||
|
@ -1011,8 +1015,8 @@ msgid "Each provider has a different issuer, based on the application slug."
|
||||||
msgstr "Each provider has a different issuer, based on the application slug."
|
msgstr "Each provider has a different issuer, based on the application slug."
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationListPage.ts:94
|
#: src/pages/applications/ApplicationListPage.ts:94
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:95
|
#: src/pages/applications/ApplicationViewPage.ts:91
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:109
|
#: src/pages/applications/ApplicationViewPage.ts:105
|
||||||
#: src/pages/crypto/CertificateKeyPairListPage.ts:74
|
#: src/pages/crypto/CertificateKeyPairListPage.ts:74
|
||||||
#: src/pages/events/RuleListPage.ts:70
|
#: src/pages/events/RuleListPage.ts:70
|
||||||
#: src/pages/events/TransportListPage.ts:74
|
#: src/pages/events/TransportListPage.ts:74
|
||||||
|
@ -1676,7 +1680,7 @@ msgstr "Library"
|
||||||
#: src/flows/stages/identification/IdentificationStage.ts:134
|
#: src/flows/stages/identification/IdentificationStage.ts:134
|
||||||
#: src/flows/stages/password/PasswordStage.ts:31
|
#: src/flows/stages/password/PasswordStage.ts:31
|
||||||
#: src/flows/stages/prompt/PromptStage.ts:126
|
#: src/flows/stages/prompt/PromptStage.ts:126
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:60
|
#: src/pages/applications/ApplicationViewPage.ts:54
|
||||||
#: src/pages/user-settings/UserDetailsPage.ts:38
|
#: src/pages/user-settings/UserDetailsPage.ts:38
|
||||||
#: src/utils.ts:40
|
#: src/utils.ts:40
|
||||||
msgid "Loading"
|
msgid "Loading"
|
||||||
|
@ -1756,7 +1760,7 @@ msgid "Logins"
|
||||||
msgstr "Logins"
|
msgstr "Logins"
|
||||||
|
|
||||||
#: src/pages/admin-overview/AdminOverviewPage.ts:40
|
#: src/pages/admin-overview/AdminOverviewPage.ts:40
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:68
|
#: src/pages/applications/ApplicationViewPage.ts:115
|
||||||
msgid "Logins over the last 24 hours"
|
msgid "Logins over the last 24 hours"
|
||||||
msgstr "Logins over the last 24 hours"
|
msgstr "Logins over the last 24 hours"
|
||||||
|
|
||||||
|
@ -2185,7 +2189,7 @@ msgid "Outposts are deployments of authentik components to support different env
|
||||||
msgstr "Outposts are deployments of authentik components to support different environments and protocols, like reverse proxies."
|
msgstr "Outposts are deployments of authentik components to support different environments and protocols, like reverse proxies."
|
||||||
|
|
||||||
#: src/interfaces/AdminInterface.ts:17
|
#: src/interfaces/AdminInterface.ts:17
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:65
|
#: src/pages/applications/ApplicationViewPage.ts:59
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:65
|
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:65
|
||||||
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:56
|
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:56
|
||||||
#: src/pages/providers/saml/SAMLProviderViewPage.ts:58
|
#: src/pages/providers/saml/SAMLProviderViewPage.ts:58
|
||||||
|
@ -2265,7 +2269,7 @@ msgstr "Policy"
|
||||||
msgid "Policy / User / Group"
|
msgid "Policy / User / Group"
|
||||||
msgstr "Policy / User / Group"
|
msgstr "Policy / User / Group"
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:130
|
#: src/pages/applications/ApplicationViewPage.ts:134
|
||||||
#: src/pages/flows/FlowViewPage.ts:101
|
#: src/pages/flows/FlowViewPage.ts:101
|
||||||
#: src/pages/sources/oauth/OAuthSourceViewPage.ts:143
|
#: src/pages/sources/oauth/OAuthSourceViewPage.ts:143
|
||||||
#: src/pages/sources/saml/SAMLSourceViewPage.ts:150
|
#: src/pages/sources/saml/SAMLSourceViewPage.ts:150
|
||||||
|
@ -2277,6 +2281,7 @@ msgid "Policy binding"
|
||||||
msgstr "Policy binding"
|
msgstr "Policy binding"
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationForm.ts:141
|
#: src/pages/applications/ApplicationForm.ts:141
|
||||||
|
#: src/pages/applications/ApplicationViewPage.ts:81
|
||||||
#: src/pages/flows/FlowForm.ts:101
|
#: src/pages/flows/FlowForm.ts:101
|
||||||
#: src/pages/flows/StageBindingForm.ts:136
|
#: src/pages/flows/StageBindingForm.ts:136
|
||||||
msgid "Policy engine mode"
|
msgid "Policy engine mode"
|
||||||
|
@ -2384,7 +2389,7 @@ msgstr "Provide support for protocols like SAML and OAuth to assigned applicatio
|
||||||
#: src/elements/oauth/UserRefreshList.ts:29
|
#: src/elements/oauth/UserRefreshList.ts:29
|
||||||
#: src/pages/applications/ApplicationForm.ts:100
|
#: src/pages/applications/ApplicationForm.ts:100
|
||||||
#: src/pages/applications/ApplicationListPage.ts:59
|
#: src/pages/applications/ApplicationListPage.ts:59
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:82
|
#: src/pages/applications/ApplicationViewPage.ts:68
|
||||||
#: src/pages/providers/ProviderListPage.ts:34
|
#: src/pages/providers/ProviderListPage.ts:34
|
||||||
msgid "Provider"
|
msgid "Provider"
|
||||||
msgstr "Provider"
|
msgstr "Provider"
|
||||||
|
@ -2498,11 +2503,15 @@ msgstr "Register device"
|
||||||
msgid "Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression."
|
msgid "Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression."
|
||||||
msgstr "Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression."
|
msgstr "Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression."
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:76
|
#: src/pages/applications/ApplicationViewPage.ts:62
|
||||||
#: src/pages/flows/FlowViewPage.ts:64
|
#: src/pages/flows/FlowViewPage.ts:64
|
||||||
msgid "Related"
|
msgid "Related"
|
||||||
msgstr "Related"
|
msgstr "Related"
|
||||||
|
|
||||||
|
#: src/interfaces/Interface.ts:52
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Reload"
|
||||||
|
|
||||||
#: src/pages/stages/user_logout/UserLogoutStageForm.ts:51
|
#: src/pages/stages/user_logout/UserLogoutStageForm.ts:51
|
||||||
msgid "Remove the user from the current session."
|
msgid "Remove the user from the current session."
|
||||||
msgstr "Remove the user from the current session."
|
msgstr "Remove the user from the current session."
|
||||||
|
@ -2914,7 +2923,7 @@ msgstr "Status: Disabled"
|
||||||
msgid "Status: Enabled"
|
msgid "Status: Enabled"
|
||||||
msgstr "Status: Enabled"
|
msgstr "Status: Enabled"
|
||||||
|
|
||||||
#: src/interfaces/Interface.ts:51
|
#: src/interfaces/Interface.ts:63
|
||||||
msgid "Stop impersonation"
|
msgid "Stop impersonation"
|
||||||
msgstr "Stop impersonation"
|
msgstr "Stop impersonation"
|
||||||
|
|
||||||
|
@ -3297,7 +3306,7 @@ msgstr ""
|
||||||
msgid "These policies control when this stage will be applied to the flow."
|
msgid "These policies control when this stage will be applied to the flow."
|
||||||
msgstr "These policies control when this stage will be applied to the flow."
|
msgstr "These policies control when this stage will be applied to the flow."
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:132
|
#: src/pages/applications/ApplicationViewPage.ts:136
|
||||||
msgid "These policies control which users can access this application."
|
msgid "These policies control which users can access this application."
|
||||||
msgstr "These policies control which users can access this application."
|
msgstr "These policies control which users can access this application."
|
||||||
|
|
||||||
|
@ -3450,7 +3459,7 @@ msgid "Up-to-date!"
|
||||||
msgstr "Up-to-date!"
|
msgstr "Up-to-date!"
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationListPage.ts:86
|
#: src/pages/applications/ApplicationListPage.ts:86
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:101
|
#: src/pages/applications/ApplicationViewPage.ts:97
|
||||||
#: src/pages/crypto/CertificateKeyPairListPage.ts:66
|
#: src/pages/crypto/CertificateKeyPairListPage.ts:66
|
||||||
#: src/pages/events/RuleListPage.ts:62
|
#: src/pages/events/RuleListPage.ts:62
|
||||||
#: src/pages/events/TransportListPage.ts:66
|
#: src/pages/events/TransportListPage.ts:66
|
||||||
|
@ -3488,7 +3497,7 @@ msgid "Update"
|
||||||
msgstr "Update"
|
msgstr "Update"
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationListPage.ts:89
|
#: src/pages/applications/ApplicationListPage.ts:89
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:104
|
#: src/pages/applications/ApplicationViewPage.ts:100
|
||||||
msgid "Update Application"
|
msgid "Update Application"
|
||||||
msgstr "Update Application"
|
msgstr "Update Application"
|
||||||
|
|
||||||
|
@ -3854,7 +3863,7 @@ msgstr "X509 Subject"
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "Yes"
|
msgstr "Yes"
|
||||||
|
|
||||||
#: src/interfaces/Interface.ts:49
|
#: src/interfaces/Interface.ts:61
|
||||||
msgid "You're currently impersonating {0}."
|
msgid "You're currently impersonating {0}."
|
||||||
msgstr "You're currently impersonating {0}."
|
msgstr "You're currently impersonating {0}."
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,10 @@ msgstr ""
|
||||||
msgid "8 digits, not compatible with apps like Google Authenticator"
|
msgid "8 digits, not compatible with apps like Google Authenticator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/interfaces/Interface.ts:50
|
||||||
|
msgid "A newer version of the frontend is available."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/policies/dummy/DummyPolicyForm.ts:53
|
#: src/pages/policies/dummy/DummyPolicyForm.ts:53
|
||||||
msgid "A policy used for testing. Always returns the same result as specified below after waiting a random duration."
|
msgid "A policy used for testing. Always returns the same result as specified below after waiting a random duration."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -458,7 +462,7 @@ msgstr ""
|
||||||
msgid "Change your password"
|
msgid "Change your password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:119
|
#: src/pages/applications/ApplicationViewPage.ts:123
|
||||||
#: src/pages/flows/FlowViewPage.ts:110
|
#: src/pages/flows/FlowViewPage.ts:110
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:136
|
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:136
|
||||||
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:135
|
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:135
|
||||||
|
@ -1003,8 +1007,8 @@ msgid "Each provider has a different issuer, based on the application slug."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationListPage.ts:94
|
#: src/pages/applications/ApplicationListPage.ts:94
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:95
|
#: src/pages/applications/ApplicationViewPage.ts:91
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:109
|
#: src/pages/applications/ApplicationViewPage.ts:105
|
||||||
#: src/pages/crypto/CertificateKeyPairListPage.ts:74
|
#: src/pages/crypto/CertificateKeyPairListPage.ts:74
|
||||||
#: src/pages/events/RuleListPage.ts:70
|
#: src/pages/events/RuleListPage.ts:70
|
||||||
#: src/pages/events/TransportListPage.ts:74
|
#: src/pages/events/TransportListPage.ts:74
|
||||||
|
@ -1668,7 +1672,7 @@ msgstr ""
|
||||||
#: src/flows/stages/identification/IdentificationStage.ts:134
|
#: src/flows/stages/identification/IdentificationStage.ts:134
|
||||||
#: src/flows/stages/password/PasswordStage.ts:31
|
#: src/flows/stages/password/PasswordStage.ts:31
|
||||||
#: src/flows/stages/prompt/PromptStage.ts:126
|
#: src/flows/stages/prompt/PromptStage.ts:126
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:60
|
#: src/pages/applications/ApplicationViewPage.ts:54
|
||||||
#: src/pages/user-settings/UserDetailsPage.ts:38
|
#: src/pages/user-settings/UserDetailsPage.ts:38
|
||||||
#: src/utils.ts:40
|
#: src/utils.ts:40
|
||||||
msgid "Loading"
|
msgid "Loading"
|
||||||
|
@ -1748,7 +1752,7 @@ msgid "Logins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/admin-overview/AdminOverviewPage.ts:40
|
#: src/pages/admin-overview/AdminOverviewPage.ts:40
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:68
|
#: src/pages/applications/ApplicationViewPage.ts:115
|
||||||
msgid "Logins over the last 24 hours"
|
msgid "Logins over the last 24 hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2177,7 +2181,7 @@ msgid "Outposts are deployments of authentik components to support different env
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/interfaces/AdminInterface.ts:17
|
#: src/interfaces/AdminInterface.ts:17
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:65
|
#: src/pages/applications/ApplicationViewPage.ts:59
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:65
|
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:65
|
||||||
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:56
|
#: src/pages/providers/proxy/ProxyProviderViewPage.ts:56
|
||||||
#: src/pages/providers/saml/SAMLProviderViewPage.ts:58
|
#: src/pages/providers/saml/SAMLProviderViewPage.ts:58
|
||||||
|
@ -2257,7 +2261,7 @@ msgstr ""
|
||||||
msgid "Policy / User / Group"
|
msgid "Policy / User / Group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:130
|
#: src/pages/applications/ApplicationViewPage.ts:134
|
||||||
#: src/pages/flows/FlowViewPage.ts:101
|
#: src/pages/flows/FlowViewPage.ts:101
|
||||||
#: src/pages/sources/oauth/OAuthSourceViewPage.ts:143
|
#: src/pages/sources/oauth/OAuthSourceViewPage.ts:143
|
||||||
#: src/pages/sources/saml/SAMLSourceViewPage.ts:150
|
#: src/pages/sources/saml/SAMLSourceViewPage.ts:150
|
||||||
|
@ -2269,6 +2273,7 @@ msgid "Policy binding"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationForm.ts:141
|
#: src/pages/applications/ApplicationForm.ts:141
|
||||||
|
#: src/pages/applications/ApplicationViewPage.ts:81
|
||||||
#: src/pages/flows/FlowForm.ts:101
|
#: src/pages/flows/FlowForm.ts:101
|
||||||
#: src/pages/flows/StageBindingForm.ts:136
|
#: src/pages/flows/StageBindingForm.ts:136
|
||||||
msgid "Policy engine mode"
|
msgid "Policy engine mode"
|
||||||
|
@ -2376,7 +2381,7 @@ msgstr ""
|
||||||
#: src/elements/oauth/UserRefreshList.ts:29
|
#: src/elements/oauth/UserRefreshList.ts:29
|
||||||
#: src/pages/applications/ApplicationForm.ts:100
|
#: src/pages/applications/ApplicationForm.ts:100
|
||||||
#: src/pages/applications/ApplicationListPage.ts:59
|
#: src/pages/applications/ApplicationListPage.ts:59
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:82
|
#: src/pages/applications/ApplicationViewPage.ts:68
|
||||||
#: src/pages/providers/ProviderListPage.ts:34
|
#: src/pages/providers/ProviderListPage.ts:34
|
||||||
msgid "Provider"
|
msgid "Provider"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2490,11 +2495,15 @@ msgstr ""
|
||||||
msgid "Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression."
|
msgid "Regular expressions for which authentication is not required. Each new line is interpreted as a new Regular Expression."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:76
|
#: src/pages/applications/ApplicationViewPage.ts:62
|
||||||
#: src/pages/flows/FlowViewPage.ts:64
|
#: src/pages/flows/FlowViewPage.ts:64
|
||||||
msgid "Related"
|
msgid "Related"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/interfaces/Interface.ts:52
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/user_logout/UserLogoutStageForm.ts:51
|
#: src/pages/stages/user_logout/UserLogoutStageForm.ts:51
|
||||||
msgid "Remove the user from the current session."
|
msgid "Remove the user from the current session."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2906,7 +2915,7 @@ msgstr ""
|
||||||
msgid "Status: Enabled"
|
msgid "Status: Enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/interfaces/Interface.ts:51
|
#: src/interfaces/Interface.ts:63
|
||||||
msgid "Stop impersonation"
|
msgid "Stop impersonation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3287,7 +3296,7 @@ msgstr ""
|
||||||
msgid "These policies control when this stage will be applied to the flow."
|
msgid "These policies control when this stage will be applied to the flow."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:132
|
#: src/pages/applications/ApplicationViewPage.ts:136
|
||||||
msgid "These policies control which users can access this application."
|
msgid "These policies control which users can access this application."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3440,7 +3449,7 @@ msgid "Up-to-date!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationListPage.ts:86
|
#: src/pages/applications/ApplicationListPage.ts:86
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:101
|
#: src/pages/applications/ApplicationViewPage.ts:97
|
||||||
#: src/pages/crypto/CertificateKeyPairListPage.ts:66
|
#: src/pages/crypto/CertificateKeyPairListPage.ts:66
|
||||||
#: src/pages/events/RuleListPage.ts:62
|
#: src/pages/events/RuleListPage.ts:62
|
||||||
#: src/pages/events/TransportListPage.ts:66
|
#: src/pages/events/TransportListPage.ts:66
|
||||||
|
@ -3478,7 +3487,7 @@ msgid "Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/applications/ApplicationListPage.ts:89
|
#: src/pages/applications/ApplicationListPage.ts:89
|
||||||
#: src/pages/applications/ApplicationViewPage.ts:104
|
#: src/pages/applications/ApplicationViewPage.ts:100
|
||||||
msgid "Update Application"
|
msgid "Update Application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3842,7 +3851,7 @@ msgstr ""
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/interfaces/Interface.ts:49
|
#: src/interfaces/Interface.ts:61
|
||||||
msgid "You're currently impersonating {0}."
|
msgid "You're currently impersonating {0}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import { AdminStatusCard, AdminStatus } from "./AdminStatusCard";
|
||||||
export class VersionStatusCard extends AdminStatusCard<Version> {
|
export class VersionStatusCard extends AdminStatusCard<Version> {
|
||||||
|
|
||||||
getPrimaryValue(): Promise<Version> {
|
getPrimaryValue(): Promise<Version> {
|
||||||
return new AdminApi(DEFAULT_CONFIG).adminVersionList({});
|
return new AdminApi(DEFAULT_CONFIG).adminVersionList();
|
||||||
}
|
}
|
||||||
|
|
||||||
getStatus(value: Version): Promise<AdminStatus> {
|
getStatus(value: Version): Promise<AdminStatus> {
|
||||||
|
|
|
@ -71,16 +71,14 @@ export class EmailStageForm extends Form<EmailStage> {
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${t`SMTP Username`}
|
label=${t`SMTP Username`}
|
||||||
?required=${true}
|
|
||||||
name="username">
|
name="username">
|
||||||
<input type="text" value="${ifDefined(this.stage?.username || "")}" class="pf-c-form-control" required>
|
<input type="text" value="${ifDefined(this.stage?.username || "")}" class="pf-c-form-control">
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${t`SMTP Password`}
|
label=${t`SMTP Password`}
|
||||||
?required=${true}
|
|
||||||
?writeOnly=${this.stage !== undefined}
|
?writeOnly=${this.stage !== undefined}
|
||||||
name="password">
|
name="password">
|
||||||
<input type="text" value="${ifDefined(this.stage?.password || "")}" class="pf-c-form-control" required>
|
<input type="text" value="${ifDefined(this.stage?.password || "")}" class="pf-c-form-control">
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal name="useTls">
|
<ak-form-element-horizontal name="useTls">
|
||||||
<div class="pf-c-check">
|
<div class="pf-c-check">
|
||||||
|
@ -92,7 +90,7 @@ export class EmailStageForm extends Form<EmailStage> {
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal name="useSsl">
|
<ak-form-element-horizontal name="useSsl">
|
||||||
<div class="pf-c-check">
|
<div class="pf-c-check">
|
||||||
<input type="checkbox" class="pf-c-check__input" ?checked=${first(this.stage?.useSsl, true)}>
|
<input type="checkbox" class="pf-c-check__input" ?checked=${first(this.stage?.useSsl, false)}>
|
||||||
<label class="pf-c-check__label">
|
<label class="pf-c-check__label">
|
||||||
${t`Use SSL`}
|
${t`Use SSL`}
|
||||||
</label>
|
</label>
|
||||||
|
|
Reference in New Issue