diff --git a/web/src/locales/en.po b/web/src/locales/en.po index 9db36b6e3..06701eaf4 100644 --- a/web/src/locales/en.po +++ b/web/src/locales/en.po @@ -2080,6 +2080,10 @@ msgstr "Link to a user with identical email address. Can have security implicati msgid "Link to a user with identical username address. Can have security implications when a username is used with another source." msgstr "Link to a user with identical username address. Can have security implications when a username is used with another source." +#: src/pages/stages/invitation/InvitationListLink.ts +msgid "Link to use the invitation." +msgstr "Link to use the invitation." + #: src/pages/sources/oauth/OAuthSourceForm.ts #: src/pages/sources/plex/PlexSourceForm.ts msgid "Link users on unique identifier" @@ -2168,6 +2172,7 @@ msgstr "Loading" #: src/pages/stages/identification/IdentificationStageForm.ts #: src/pages/stages/identification/IdentificationStageForm.ts #: src/pages/stages/identification/IdentificationStageForm.ts +#: src/pages/stages/invitation/InvitationListLink.ts #: src/pages/stages/password/PasswordStageForm.ts #: src/pages/stages/prompt/PromptStageForm.ts #: src/pages/stages/prompt/PromptStageForm.ts @@ -3263,6 +3268,10 @@ msgstr "Select a provider that this application should use. Alternatively, creat msgid "Select all rows" msgstr "Select all rows" +#: src/pages/stages/invitation/InvitationListLink.ts +msgid "Select an enrollment flow" +msgstr "Select an enrollment flow" + #: src/flows/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Select an identification method." msgstr "Select an identification method." diff --git a/web/src/locales/pseudo-LOCALE.po b/web/src/locales/pseudo-LOCALE.po index 88e11913e..caf2014d5 100644 --- a/web/src/locales/pseudo-LOCALE.po +++ b/web/src/locales/pseudo-LOCALE.po @@ -2072,6 +2072,10 @@ msgstr "" msgid "Link to a user with identical username address. Can have security implications when a username is used with another source." msgstr "" +#: src/pages/stages/invitation/InvitationListLink.ts +msgid "Link to use the invitation." +msgstr "" + #: src/pages/sources/oauth/OAuthSourceForm.ts #: src/pages/sources/plex/PlexSourceForm.ts msgid "Link users on unique identifier" @@ -2160,6 +2164,7 @@ msgstr "" #: src/pages/stages/identification/IdentificationStageForm.ts #: src/pages/stages/identification/IdentificationStageForm.ts #: src/pages/stages/identification/IdentificationStageForm.ts +#: src/pages/stages/invitation/InvitationListLink.ts #: src/pages/stages/password/PasswordStageForm.ts #: src/pages/stages/prompt/PromptStageForm.ts #: src/pages/stages/prompt/PromptStageForm.ts @@ -3255,6 +3260,10 @@ msgstr "" msgid "Select all rows" msgstr "" +#: src/pages/stages/invitation/InvitationListLink.ts +msgid "Select an enrollment flow" +msgstr "" + #: src/flows/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Select an identification method." msgstr "" diff --git a/web/src/pages/stages/invitation/InvitationListLink.ts b/web/src/pages/stages/invitation/InvitationListLink.ts new file mode 100644 index 000000000..052549bd4 --- /dev/null +++ b/web/src/pages/stages/invitation/InvitationListLink.ts @@ -0,0 +1,67 @@ +import { t } from "@lingui/macro"; +import { CSSResult, customElement, html, LitElement, property, TemplateResult } from "lit-element"; +import { until } from "lit-html/directives/until"; +import PFForm from "@patternfly/patternfly/components/Form/form.css"; +import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; +import AKGlobal from "../../../authentik.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; +import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css"; +import { FlowsApi, FlowsInstancesListDesignationEnum } from "authentik-api"; +import { DEFAULT_CONFIG } from "../../../api/Config"; +import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; + +@customElement("ak-stage-invitation-list-link") +export class InvitationListLink extends LitElement { + + @property() + invitation?: string + + @property() + selectedFlow?: string; + + static get styles(): CSSResult[] { + return [PFBase, PFForm, PFFormControl, PFFlex, PFDescriptionList, AKGlobal]; + } + + renderLink(): string { + return `${window.location.protocol}//${window.location.host}/if/flow/${this.selectedFlow}/?token=${this.invitation}`; + } + + render(): TemplateResult { + return html`