web/standards: fix boolean attribute abuse (#14662)
* web: Add InvalidationFlow to Radius Provider dialogues
## What
- Bugfix: adds the InvalidationFlow to the Radius Provider dialogues
- Repairs: `{"invalidation_flow":["This field is required."]}` message, which was *not* propagated
to the Notification.
- Nitpick: Pretties `?foo=${true}` expressions: `s/\?([^=]+)=\$\{true\}/\1/`
## Note
Yes, I know I'm going to have to do more magic when we harmonize the forms, and no, I didn't add the
Property Mappings to the wizard, and yes, I know I'm going to have pain with the *new* version of
the wizard. But this is a serious bug; you can't make Radius servers with *either* of the current
dialogues at the moment.
* This (temporary) change is needed to prevent the unit tests from failing.
\# What
\# Why
\# How
\# Designs
\# Test Steps
\# Other Notes
* Revert "This (temporary) change is needed to prevent the unit tests from failing."
This reverts commit dddde09be5.
* web/maintenance: correct the usage of boolean (false) attributes
## What
Just cleaning up a bad habit; we have a lot of `?attribute=${true|false}` (or, more alarmingly,
`.attribute=${true|false}`. These should just be `attribute` or be missing; anything else is
unnecessary.
Where the attribute is `true` by default, no changes have been made; there are only a few of them,
and they require re-working of the logic to assist with the changes. Booleans should never be `true` by
default, and if you absolutely cannot find an alternative phrasing that makes having them be `false`
by default a valid choice, they should be `reflect: true` to make their presence visible to screen
readers and debuggers.
## Why
Removing non-standard HTML uses from web components matches our programming standards and is an
important step toward the Authentik Elements NPM package, as well as the Schema-Driven Forms update.
## Boring excessive detail.
Because there are literally hundreds of changes, I've documented the boring ones here.
Changes that do *not* meet the basic criteria of "made the component comply with the standards" are
commented in the PR.
Here are all the Boolean property declarations in the system, delta the ones that declare `= true`;
those are documented at the bottom of this commit, and are not addressed in this PR. This
information is included to guide your decision making. The second block, below, documents the
actual changes made to component declarations throughout our code. The third block, at the bottom,
documents changes not made due to logic and effort constraints.
```
components/ak-switch-input.ts:
@property({ type: Boolean })
checked: boolean = false;
--
components/ak-switch-input.ts:
@property({ type: Boolean })
required = false;
--
components/ak-file-input.ts:
@property({ type: Boolean })
required = false;
--
components/HorizontalLightComponent.ts:
@property({ type: Boolean })
required = false;
--
components/ak-multi-select.ts:
@property({ type: Boolean })
required = false;
--
elements/TreeView.ts:
@property({ type: Boolean })
open = false;
--
components/ak-status-label.ts:
@property({ type: Boolean })
good = false;
--
components/ak-status-label.ts:
@property({ type: Boolean })
compact = false;
--
elements/CodeMirror.ts:
@property({ type: Boolean })
readOnly = false;
--
elements/buttons/ModalButton.ts:
@property({ type: Boolean })
open = false;
--
elements/EmptyState.ts:
@property({ type: Boolean })
fullHeight = false;
--
elements/Tabs.ts:
@property({ type: Boolean })
vertical = false;
--
elements/ak-checkbox-group/ak-checkbox-group.ts:
@property({ type: Boolean })
required = false;
--
elements/Label.ts:
@property({ type: Boolean })
compact = false;
--
elements/forms/FormGroup.ts:
@property({ type: Boolean, reflect: true })
expanded = false;
--
elements/Expand.ts:
@property({ type: Boolean })
expanded = false;
--
elements/forms/HorizontalFormElement.ts:
@property({ type: Boolean })
required = false;
--
elements/forms/HorizontalFormElement.ts:
@property({ type: Boolean })
slugMode = false;
--
elements/forms/SearchSelect/ak-portal.ts:
@property({ type: Boolean, reflect: true })
open = false;
--
elements/Alert.ts:
@property({ type: Boolean })
inline = false;
--
elements/forms/SearchSelect/ak-search-select-view.ts:
@property({ type: Boolean, reflect: true })
open = false;
--
elements/forms/SearchSelect/ak-search-select-view.ts:
@property({ type: Boolean })
blankable = false;
--
elements/sidebar/SidebarItem.ts:
@property({ type: Boolean })
expanded = false;
--
admin/stages/StageWizard.ts:
@property({ type: Boolean })
showBindingPage = false;
--
elements/forms/FormElement.ts:
@property({ type: Boolean })
required = false;
--
admin/common/ak-flow-search/FlowSearch.ts:
@property({ type: Boolean })
required?: boolean = false;
--
admin/applications/ProviderSelectModal.ts:
@property({ type: Boolean })
backchannel = false;
--
elements/forms/SearchSelect/SearchSelect.ts:
@property({ type: Boolean })
blankable = false;
--
admin/applications/components/ak-provider-search-input.ts:
@property({ type: Boolean })
required = false;
--
admin/applications/components/ak-provider-search-input.ts:
@property({ type: Boolean })
blankable = false;
--
admin/applications/components/ak-backchannel-input.ts:
@property({ type: Boolean })
required = false;
--
admin/policies/PolicyWizard.ts:
@property({ type: Boolean })
showBindingPage = false;
```
The attribute 'required' is an HTML native, and is false by default.
Here are all the change pairs around HTML attrbutes:
```
$ git diff | rg -A 1 '\?(backchannel|blankable|checked|compact|expanded|fullHeight|good|inline|open|readOnly|required|showBindingPage|slugMode|vertical)\b'
- ?required=${true}
+ required
- <ak-provider-select-table ?backchannel=${true} .confirm=${this.confirm}>
+ <ak-provider-select-table backchannel .confirm=${this.confirm}>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${false}
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
+ return html` <ak-form-element-horizontal label=${msg("Name")} name="name" required>
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Severity")} ?required=${true} name="severity">
+ <ak-form-element-horizontal label=${msg("Severity")} required name="severity">
- ?showBindingPage=${true}
+ showBindingPage
- ?showBindingPage=${true}
+ showBindingPage
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Title")} ?required=${true} name="title">
+ <ak-form-element-horizontal label=${msg("Title")} required name="title">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Stage")} ?required=${true} name="stage">
+ <ak-form-element-horizontal label=${msg("Stage")} required name="stage">
- <ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
+ <ak-form-element-horizontal label=${msg("Order")} required name="order">
- ?required=${true}
+ required
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
+ <ak-form-element-horizontal label=${msg("Type")} required name="type">
- ?blankable=${true}
+ blankable
- <ak-label color=${PFColor.Green} ?compact=${true}>
+ <ak-label color=${PFColor.Green} compact>
- ? html`<ak-label color=${PFColor.Red} ?compact=${true}
+ ? html`<ak-label color=${PFColor.Red} compact
- : html`<ak-label color=${PFColor.Green} ?compact=${true}
+ : html`<ak-label color=${PFColor.Green} compact
- ? html`<ak-label color=${PFColor.Orange} ?compact=${true}>
+ ? html`<ak-label color=${PFColor.Orange} compact>
- : html`<ak-label color=${PFColor.Green} ?compact=${true}>
+ : html`<ak-label color=${PFColor.Green} compact>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Docker URL")} ?required=${true} name="url">
+ <ak-form-element-horizontal label=${msg("Docker URL")} required name="url">
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?showBindingPage=${true}
+ showBindingPage
- ?showBindingPage=${true}
+ showBindingPage
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
+ <ak-form-element-horizontal label=${msg("Order")} required name="order">
- <ak-form-element-horizontal label=${msg("Timeout")} ?required=${true} name="timeout">
+ <ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
- ? html`<ak-label color=${PFColor.Green} ?compact=${true}>
+ ? html`<ak-label color=${PFColor.Green} compact>
- : html`<ak-label color=${PFColor.Orange} ?compact=${true}>
+ : html`<ak-label color=${PFColor.Orange} compact>
- return html`<ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
+ return html`<ak-form-element-horizontal label=${msg("User")} required name="user">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?readOnly=${true}
+ readOnly
- return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
+ return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?blankable=${true}
+ blankable
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?blankable=${true}
+ blankable
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
+ <ak-form-element-horizontal label=${msg("Name")} name="name" required>
- <ak-form-element-horizontal label=${msg("Protocol")} ?required=${true} name="protocol">
+ <ak-form-element-horizontal label=${msg("Protocol")} required name="protocol">
- <ak-form-element-horizontal label=${msg("Host")} name="host" ?required=${true}>
+ <ak-form-element-horizontal label=${msg("Host")} name="host" required>
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${false}
- ?blankable=${true}
+ blankable
- ?blankable=${true}
+ blankable
- return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?readOnly=${true}
+ readOnly
- ?blankable=${true}
+ blankable
- return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
- : html`<ak-label color=${PFColor.Orange} ?compact=${true}>
+ : html`<ak-label color=${PFColor.Orange} compact>
- <ak-label color=${PFColor.Grey} ?compact=${true}> ${msg("Built-in")}</ak-label>
+ <ak-label color=${PFColor.Grey} compact> ${msg("Built-in")}</ak-label>
- return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
+ return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${false}>
+ <ak-form-group>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- ?required=${true}
+ required
- ?readOnly=${true}
+ readOnly
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
+ <ak-form-element-horizontal label=${msg("Slug")} required name="slug">
- <ak-form-group ?expanded=${true}>
+ <ak-form-group expanded>
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
+ <ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
- <ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
+ <ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-alert ?inline=${true}>
+ <ak-alert inline>
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Mode")} ?required=${true} name="mode">
+ <ak-form-element-horizontal label=${msg("Mode")} required name="mode">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
+ <ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
- <ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
+ <ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?slugMode=${true}
+ slugMode
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Expires")} ?required=${true} name="expires">
+ <ak-form-element-horizontal label=${msg("Expires")} required name="expires">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Field Key")} ?required=${true} name="fieldKey">
+ <ak-form-element-horizontal label=${msg("Field Key")} required name="fieldKey">
- <ak-form-element-horizontal label=${msg("Label")} ?required=${true} name="label">
+ <ak-form-element-horizontal label=${msg("Label")} required name="label">
- <ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
+ <ak-form-element-horizontal label=${msg("Type")} required name="type">
- <ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
+ <ak-form-element-horizontal label=${msg("Order")} required name="order">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Source")} ?required=${true} name="source">
+ <ak-form-element-horizontal label=${msg("Source")} required name="source">
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
- <ak-alert ?inline=${true}>
+ <ak-alert inline>
- ?required=${true}
+ required
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?blankable=${true}
+ blankable
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
+ <ak-form-element-horizontal label=${msg("User")} required name="user">
- <ak-form-element-horizontal label=${msg("Intent")} ?required=${true} name="intent">
+ <ak-form-element-horizontal label=${msg("Intent")} required name="intent">
- ?required=${true}
+ required
- <input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
+ <input class="pf-c-switch__input" type="checkbox" checked />
- <input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
+ <input class="pf-c-switch__input" type="checkbox" checked />
- ?required=${true}
+ required
- <ak-form-element-horizontal label=${msg("User type")} ?required=${true} name="type">
+ <ak-form-element-horizontal label=${msg("User type")} required name="type">
- <ak-form-element-horizontal label=${msg("Path")} ?required=${true} name="path">
+ <ak-form-element-horizontal label=${msg("Path")} required name="path">
- ?required=${true}
+ required
- ?required=${true}
+ required
- <ak-tabs pageIdentifier="userCredentialsTokens" ?vertical=${true}>
+ <ak-tabs pageIdentifier="userCredentialsTokens" vertical>
- <ak-status-label ?good=${true}></ak-status-label>
+ <ak-status-label good></ak-status-label>
- ?open=${true}
+ open
- ?blankable=${true}
+ blankable
- <ak-tabs ?vertical="${true}">
+ <ak-tabs vertical>
- return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
+ return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
- ?required=${true}
+ required
```
The following issues are the `true` by default Booleans. As mentioned, these are **not addressed** by this PR.
```
elements/table/Table.ts::
@property({ type: Boolean })
paginated = true;
elements/forms/ModalForm.ts::
@property({ type: Boolean })
closeAfterSuccessfulSubmit = true;
elements/forms/ModalForm.ts::
@property({ type: Boolean })
showSubmitButton = true;
elements/CodeMirror.ts::
@property({ type: Boolean })
parseValue = true;
elements/LoadingOverlay.ts::
@property({ type: Boolean })
loading = true;
admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts::
@property({ type: Boolean })
showConfigurationStages = true;
elements/user/sources/SourceSettings.ts::
@property({ type: Boolean })
canConnect = true;
admin/outposts/OutpostHealthSimple.ts::
@property({ attribute: false })
showVersion = true;
elements/wizard/Wizard.ts::
@property({ type: Boolean })
canCancel = true;
elements/wizard/Wizard.ts::
@property({ type: Boolean })
canBack = true;
```
* Prettier had opinions.
* Caught during code review.
* Merged incorrectly; not sure what went wrong, but this re-applies the removal of the syntax from the current LDAPSourceForm.ts from to this branch.
This commit is contained in:
@ -56,18 +56,14 @@ export class AdminInterface extends WithCapabilitiesConfig(AuthenticatedInterfac
|
|||||||
|
|
||||||
protected readonly ws: WebsocketClient;
|
protected readonly ws: WebsocketClient;
|
||||||
|
|
||||||
@property({
|
@property({ type: Object, attribute: false })
|
||||||
type: Object,
|
|
||||||
attribute: false,
|
|
||||||
reflect: false,
|
|
||||||
})
|
|
||||||
public user?: SessionUser;
|
public user?: SessionUser;
|
||||||
|
|
||||||
@query("ak-about-modal")
|
@query("ak-about-modal")
|
||||||
public aboutModal?: AboutModal;
|
public aboutModal?: AboutModal;
|
||||||
|
|
||||||
@property({ type: Boolean, reflect: true })
|
@property({ type: Boolean, reflect: true })
|
||||||
public sidebarOpen: boolean;
|
public sidebarOpen = false;
|
||||||
|
|
||||||
@eventOptions({ passive: true })
|
@eventOptions({ passive: true })
|
||||||
protected sidebarListener(event: CustomEvent<SidebarToggleEventDetail>) {
|
protected sidebarListener(event: CustomEvent<SidebarToggleEventDetail>) {
|
||||||
|
|||||||
@ -88,7 +88,6 @@ export class AdminOverviewPage extends AdminOverviewBase {
|
|||||||
return html`<ak-page-header
|
return html`<ak-page-header
|
||||||
header=${this.user ? msg(str`Welcome, ${username || ""}.`) : msg("Welcome.")}
|
header=${this.user ? msg(str`Welcome, ${username || ""}.`) : msg("Welcome.")}
|
||||||
description=${msg("General system status")}
|
description=${msg("General system status")}
|
||||||
?hasIcon=${false}
|
|
||||||
>
|
>
|
||||||
</ak-page-header>
|
</ak-page-header>
|
||||||
<section class="pf-c-page__main-section">
|
<section class="pf-c-page__main-section">
|
||||||
|
|||||||
@ -93,11 +93,7 @@ export class ApplicationCheckAccessForm extends Form<{ forUser: number }> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal label=${msg("User")} required name="forUser">
|
||||||
label=${msg("User")}
|
|
||||||
?required=${true}
|
|
||||||
name="forUser"
|
|
||||||
>
|
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||||
const args: CoreUsersListRequest = {
|
const args: CoreUsersListRequest = {
|
||||||
|
|||||||
@ -99,7 +99,6 @@ export class ApplicationViewPage extends AKElement {
|
|||||||
return html`<ak-page-header
|
return html`<ak-page-header
|
||||||
header=${this.application?.name || msg("Loading")}
|
header=${this.application?.name || msg("Loading")}
|
||||||
description=${ifDefined(this.application?.metaPublisher)}
|
description=${ifDefined(this.application?.metaPublisher)}
|
||||||
.iconImage=${true}
|
|
||||||
>
|
>
|
||||||
<ak-app-icon
|
<ak-app-icon
|
||||||
size=${PFSize.Medium}
|
size=${PFSize.Medium}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ export class ProviderSelectModal extends TableModal<Provider> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@property({ type: Boolean })
|
@property({ type: Boolean })
|
||||||
backchannel?: boolean;
|
backchannel = false;
|
||||||
|
|
||||||
@property()
|
@property()
|
||||||
confirm!: (selectedItems: Provider[]) => Promise<unknown>;
|
confirm!: (selectedItems: Provider[]) => Promise<unknown>;
|
||||||
|
|||||||
@ -57,7 +57,7 @@ export class AkBackchannelProvidersInput extends AKElement {
|
|||||||
render() {
|
render() {
|
||||||
const renderOneChip = (provider: Provider) =>
|
const renderOneChip = (provider: Provider) =>
|
||||||
html`<ak-chip
|
html`<ak-chip
|
||||||
.removable=${true}
|
removable
|
||||||
value=${ifDefined(provider.pk)}
|
value=${ifDefined(provider.pk)}
|
||||||
@remove=${this.remover(provider)}
|
@remove=${this.remover(provider)}
|
||||||
>${provider.name}</ak-chip
|
>${provider.name}</ak-chip
|
||||||
@ -66,7 +66,7 @@ export class AkBackchannelProvidersInput extends AKElement {
|
|||||||
return html`
|
return html`
|
||||||
<ak-form-element-horizontal label=${this.label} name=${this.name}>
|
<ak-form-element-horizontal label=${this.label} name=${this.name}>
|
||||||
<div class="pf-c-input-group">
|
<div class="pf-c-input-group">
|
||||||
<ak-provider-select-table ?backchannel=${true} .confirm=${this.confirm}>
|
<ak-provider-select-table backchannel .confirm=${this.confirm}>
|
||||||
<button slot="trigger" class="pf-c-button pf-m-control" type="button">
|
<button slot="trigger" class="pf-c-button pf-m-control" type="button">
|
||||||
${this.tooltip ? this.tooltip : nothing}
|
${this.tooltip ? this.tooltip : nothing}
|
||||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||||
|
|||||||
@ -54,7 +54,7 @@ export class ApplicationEntitlementForm extends ModelForm<ApplicationEntitlement
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -62,11 +62,7 @@ export class ApplicationEntitlementForm extends ModelForm<ApplicationEntitlement
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Attributes")} name="attributes">
|
||||||
label=${msg("Attributes")}
|
|
||||||
?required=${false}
|
|
||||||
name="attributes"
|
|
||||||
>
|
|
||||||
<ak-codemirror
|
<ak-codemirror
|
||||||
mode=${CodeMirrorMode.YAML}
|
mode=${CodeMirrorMode.YAML}
|
||||||
value="${YAML.stringify(this.instance?.attributes ?? {})}"
|
value="${YAML.stringify(this.instance?.attributes ?? {})}"
|
||||||
|
|||||||
@ -37,7 +37,7 @@ export class ApplicationWizardRACProviderForm extends ApplicationWizardProviderF
|
|||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
label=${msg("Authorization flow")}
|
label=${msg("Authorization flow")}
|
||||||
?required=${true}
|
required
|
||||||
>
|
>
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||||
@ -60,7 +60,7 @@ export class ApplicationWizardRACProviderForm extends ApplicationWizardProviderF
|
|||||||
input-hint="code"
|
input-hint="code"
|
||||||
></ak-text-input>
|
></ak-text-input>
|
||||||
|
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -65,7 +65,7 @@ export class BlueprintForm extends ModelForm<BlueprintInstance, string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -133,7 +133,7 @@ export class BlueprintForm extends ModelForm<BlueprintInstance, string> {
|
|||||||
.selected=${(item: BlueprintFile): boolean => {
|
.selected=${(item: BlueprintFile): boolean => {
|
||||||
return this.instance?.path === item.path;
|
return this.instance?.path === item.path;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
</ak-form-element-horizontal>`
|
</ak-form-element-horizontal>`
|
||||||
|
|||||||
@ -134,7 +134,7 @@ export class BrandForm extends ModelForm<Brand, string> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Default flow background")}
|
label=${msg("Default flow background")}
|
||||||
?required=${true}
|
required
|
||||||
name="brandingDefaultFlowBackground"
|
name="brandingDefaultFlowBackground"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -95,7 +95,7 @@ export class CoreGroupSearch extends CustomListenerElement(AKElement) {
|
|||||||
.value=${renderValue}
|
.value=${renderValue}
|
||||||
.selected=${this.selected}
|
.selected=${this.selected}
|
||||||
@ak-change=${this.handleSearchUpdate}
|
@ak-change=${this.handleSearchUpdate}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
`;
|
`;
|
||||||
|
|||||||
@ -120,7 +120,7 @@ export class AkCryptoCertificateSearch extends CustomListenerElement(AKElement)
|
|||||||
.value=${renderValue}
|
.value=${renderValue}
|
||||||
.selected=${this.selected}
|
.selected=${this.selected}
|
||||||
@ak-change=${this.handleSearchUpdate}
|
@ak-change=${this.handleSearchUpdate}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
`;
|
`;
|
||||||
|
|||||||
@ -110,7 +110,7 @@ export const Default = () =>
|
|||||||
container(
|
container(
|
||||||
html` <ak-form-element-horizontal
|
html` <ak-form-element-horizontal
|
||||||
label=${msg("Authorization flow")}
|
label=${msg("Authorization flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
>
|
>
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
@ -124,7 +124,7 @@ export const WithInitialValue = () =>
|
|||||||
container(
|
container(
|
||||||
html` <ak-form-element-horizontal
|
html` <ak-form-element-horizontal
|
||||||
label=${msg("Authorization flow")}
|
label=${msg("Authorization flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
>
|
>
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
|
|||||||
@ -29,7 +29,7 @@ export class CertificateKeyPairForm extends Form<CertificateGenerationRequest> {
|
|||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal
|
||||||
label=${msg("Common Name")}
|
label=${msg("Common Name")}
|
||||||
name="commonName"
|
name="commonName"
|
||||||
?required=${true}
|
required
|
||||||
>
|
>
|
||||||
<input type="text" class="pf-c-form-control" required />
|
<input type="text" class="pf-c-form-control" required />
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
@ -39,18 +39,10 @@ export class CertificateKeyPairForm extends Form<CertificateGenerationRequest> {
|
|||||||
${msg("Optional, comma-separated SubjectAlt Names.")}
|
${msg("Optional, comma-separated SubjectAlt Names.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Validity days")} name="validityDays" required>
|
||||||
label=${msg("Validity days")}
|
|
||||||
name="validityDays"
|
|
||||||
?required=${true}
|
|
||||||
>
|
|
||||||
<input class="pf-c-form-control" type="number" value="365" />
|
<input class="pf-c-form-control" type="number" value="365" />
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Private key Algorithm")} required name="alg">
|
||||||
label=${msg("Private key Algorithm")}
|
|
||||||
?required=${true}
|
|
||||||
name="alg"
|
|
||||||
>
|
|
||||||
<ak-radio
|
<ak-radio
|
||||||
.options=${[
|
.options=${[
|
||||||
{
|
{
|
||||||
|
|||||||
@ -38,7 +38,7 @@ export class CertificateKeyPairForm extends ModelForm<CertificateKeyPair, string
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
|
return html` <ak-form-element-horizontal label=${msg("Name")} name="name" required>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
|
|||||||
@ -58,7 +58,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -88,7 +88,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.group;
|
return group.pk === this.instance?.group;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -97,11 +97,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Transports")} required name="transports">
|
||||||
label=${msg("Transports")}
|
|
||||||
?required=${true}
|
|
||||||
name="transports"
|
|
||||||
>
|
|
||||||
<ak-dual-select-dynamic-selected
|
<ak-dual-select-dynamic-selected
|
||||||
.provider=${eventTransportsProvider}
|
.provider=${eventTransportsProvider}
|
||||||
.selector=${eventTransportsSelector(this.instance?.transports)}
|
.selector=${eventTransportsSelector(this.instance?.transports)}
|
||||||
@ -114,7 +110,7 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Severity")} ?required=${true} name="severity">
|
<ak-form-element-horizontal label=${msg("Severity")} required name="severity">
|
||||||
<ak-radio
|
<ak-radio
|
||||||
.options=${[
|
.options=${[
|
||||||
{
|
{
|
||||||
|
|||||||
@ -137,7 +137,7 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
|||||||
<div slot="primary">
|
<div slot="primary">
|
||||||
<ak-stage-wizard
|
<ak-stage-wizard
|
||||||
createText=${msg("Create and bind Stage")}
|
createText=${msg("Create and bind Stage")}
|
||||||
?showBindingPage=${true}
|
showBindingPage
|
||||||
bindingTarget=${ifDefined(this.target)}
|
bindingTarget=${ifDefined(this.target)}
|
||||||
></ak-stage-wizard>
|
></ak-stage-wizard>
|
||||||
<ak-forms-modal>
|
<ak-forms-modal>
|
||||||
@ -158,7 +158,7 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
|||||||
return html`
|
return html`
|
||||||
<ak-stage-wizard
|
<ak-stage-wizard
|
||||||
createText=${msg("Create and bind Stage")}
|
createText=${msg("Create and bind Stage")}
|
||||||
?showBindingPage=${true}
|
showBindingPage
|
||||||
bindingTarget=${ifDefined(this.target)}
|
bindingTarget=${ifDefined(this.target)}
|
||||||
></ak-stage-wizard>
|
></ak-stage-wizard>
|
||||||
<ak-forms-modal>
|
<ak-forms-modal>
|
||||||
|
|||||||
@ -74,7 +74,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -82,7 +82,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Title")} ?required=${true} name="title">
|
<ak-form-element-horizontal label=${msg("Title")} required name="title">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.title)}"
|
value="${ifDefined(this.instance?.title)}"
|
||||||
@ -91,7 +91,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
/>
|
/>
|
||||||
<p class="pf-c-form__helper-text">${msg("Shown as the Title in Flow pages.")}</p>
|
<p class="pf-c-form__helper-text">${msg("Shown as the Title in Flow pages.")}</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.slug)}"
|
value="${ifDefined(this.instance?.slug)}"
|
||||||
@ -102,11 +102,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
/>
|
/>
|
||||||
<p class="pf-c-form__helper-text">${msg("Visible in the URL.")}</p>
|
<p class="pf-c-form__helper-text">${msg("Visible in the URL.")}</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Designation")} required name="designation">
|
||||||
label=${msg("Designation")}
|
|
||||||
?required=${true}
|
|
||||||
name="designation"
|
|
||||||
>
|
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value="" ?selected=${this.instance?.designation === undefined}>
|
<option value="" ?selected=${this.instance?.designation === undefined}>
|
||||||
---------
|
---------
|
||||||
@ -165,7 +161,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Authentication")}
|
label=${msg("Authentication")}
|
||||||
?required=${true}
|
required
|
||||||
name="authentication"
|
name="authentication"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -240,7 +236,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Denied action")}
|
label=${msg("Denied action")}
|
||||||
?required=${true}
|
required
|
||||||
name="deniedAction"
|
name="deniedAction"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -279,7 +275,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Policy engine mode")}
|
label=${msg("Policy engine mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="policyEngineMode"
|
name="policyEngineMode"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -309,11 +305,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
<ak-form-group>
|
<ak-form-group>
|
||||||
<span slot="header"> ${msg("Appearance settings")} </span>
|
<span slot="header"> ${msg("Appearance settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Layout")} required name="layout">
|
||||||
label=${msg("Layout")}
|
|
||||||
?required=${true}
|
|
||||||
name="layout"
|
|
||||||
>
|
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option
|
<option
|
||||||
value=${FlowLayoutEnum.Stacked}
|
value=${FlowLayoutEnum.Stacked}
|
||||||
|
|||||||
@ -76,11 +76,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
|||||||
if (this.instance?.target || this.targetPk) {
|
if (this.instance?.target || this.targetPk) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal label=${msg("Target")} required name="target">
|
||||||
label=${msg("Target")}
|
|
||||||
?required=${true}
|
|
||||||
name="target"
|
|
||||||
>
|
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||||
.currentFlow=${this.instance?.target}
|
.currentFlow=${this.instance?.target}
|
||||||
@ -91,7 +87,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` ${this.renderTarget()}
|
return html` ${this.renderTarget()}
|
||||||
<ak-form-element-horizontal label=${msg("Stage")} ?required=${true} name="stage">
|
<ak-form-element-horizontal label=${msg("Stage")} required name="stage">
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
.fetchObjects=${async (query?: string): Promise<Stage[]> => {
|
.fetchObjects=${async (query?: string): Promise<Stage[]> => {
|
||||||
const args: StagesAllListRequest = {
|
const args: StagesAllListRequest = {
|
||||||
@ -118,7 +114,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
|||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
|
<ak-form-element-horizontal label=${msg("Order")} required name="order">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.order ?? this.defaultOrder}"
|
value="${this.instance?.order ?? this.defaultOrder}"
|
||||||
@ -164,7 +160,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Invalid response behavior")}
|
label=${msg("Invalid response behavior")}
|
||||||
?required=${true}
|
required
|
||||||
name="invalidResponseAction"
|
name="invalidResponseAction"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -201,7 +197,7 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Policy engine mode")}
|
label=${msg("Policy engine mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="policyEngineMode"
|
name="policyEngineMode"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
|
|||||||
@ -62,7 +62,7 @@ export class GroupForm extends ModelForm<Group, string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -112,7 +112,7 @@ export class GroupForm extends ModelForm<Group, string> {
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.parent;
|
return group.pk === this.instance?.parent;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
@ -141,11 +141,7 @@ export class GroupForm extends ModelForm<Group, string> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Attributes")} required name="attributes">
|
||||||
label=${msg("Attributes")}
|
|
||||||
?required=${true}
|
|
||||||
name="attributes"
|
|
||||||
>
|
|
||||||
<ak-codemirror
|
<ak-codemirror
|
||||||
mode=${CodeMirrorMode.YAML}
|
mode=${CodeMirrorMode.YAML}
|
||||||
value="${YAML.stringify(this.instance?.attributes ?? {})}"
|
value="${YAML.stringify(this.instance?.attributes ?? {})}"
|
||||||
|
|||||||
@ -65,7 +65,7 @@ export class RelatedGroupAdd extends Form<{ groups: string[] }> {
|
|||||||
<ak-chip-group>
|
<ak-chip-group>
|
||||||
${this.groupsToAdd.map((group) => {
|
${this.groupsToAdd.map((group) => {
|
||||||
return html`<ak-chip
|
return html`<ak-chip
|
||||||
.removable=${true}
|
removable
|
||||||
value=${ifDefined(group.pk)}
|
value=${ifDefined(group.pk)}
|
||||||
@remove=${() => {
|
@remove=${() => {
|
||||||
const idx = this.groupsToAdd.indexOf(group);
|
const idx = this.groupsToAdd.indexOf(group);
|
||||||
|
|||||||
@ -83,7 +83,7 @@ export class RelatedUserAdd extends Form<{ users: number[] }> {
|
|||||||
<ak-chip-group>
|
<ak-chip-group>
|
||||||
${this.usersToAdd.map((user) => {
|
${this.usersToAdd.map((user) => {
|
||||||
return html`<ak-chip
|
return html`<ak-chip
|
||||||
.removable=${true}
|
removable
|
||||||
value=${ifDefined(user.pk)}
|
value=${ifDefined(user.pk)}
|
||||||
@remove=${() => {
|
@remove=${() => {
|
||||||
const idx = this.usersToAdd.indexOf(user);
|
const idx = this.usersToAdd.indexOf(user);
|
||||||
|
|||||||
@ -143,7 +143,7 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
|||||||
[OutpostTypeEnum.Rac, msg("RAC")],
|
[OutpostTypeEnum.Rac, msg("RAC")],
|
||||||
];
|
];
|
||||||
|
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -151,7 +151,7 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
|
<ak-form-element-horizontal label=${msg("Type")} required name="type">
|
||||||
<select
|
<select
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
@change=${(ev: Event) => {
|
@change=${(ev: Event) => {
|
||||||
@ -202,7 +202,7 @@ export class OutpostForm extends ModelForm<Outpost, string> {
|
|||||||
}
|
}
|
||||||
return selected;
|
return selected;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -49,7 +49,7 @@ export class OutpostHealthElement extends AKElement {
|
|||||||
</dt>
|
</dt>
|
||||||
<dd class="pf-c-description-list__description">
|
<dd class="pf-c-description-list__description">
|
||||||
<div class="pf-c-description-list__text">
|
<div class="pf-c-description-list__text">
|
||||||
<ak-label color=${PFColor.Green} ?compact=${true}>
|
<ak-label color=${PFColor.Green} compact>
|
||||||
${msg(
|
${msg(
|
||||||
str`${formatElapsedTime(this.outpostHealth.lastSeen)} (${this.outpostHealth.lastSeen?.toLocaleTimeString()})`,
|
str`${formatElapsedTime(this.outpostHealth.lastSeen)} (${this.outpostHealth.lastSeen?.toLocaleTimeString()})`,
|
||||||
)}
|
)}
|
||||||
@ -64,12 +64,12 @@ export class OutpostHealthElement extends AKElement {
|
|||||||
<dd class="pf-c-description-list__description">
|
<dd class="pf-c-description-list__description">
|
||||||
<div class="pf-c-description-list__text">
|
<div class="pf-c-description-list__text">
|
||||||
${this.outpostHealth.versionOutdated
|
${this.outpostHealth.versionOutdated
|
||||||
? html`<ak-label color=${PFColor.Red} ?compact=${true}
|
? html`<ak-label color=${PFColor.Red} compact
|
||||||
>${msg(
|
>${msg(
|
||||||
str`${this.outpostHealth.version}, should be ${this.outpostHealth.versionShould}`,
|
str`${this.outpostHealth.version}, should be ${this.outpostHealth.versionShould}`,
|
||||||
)}
|
)}
|
||||||
</ak-label>`
|
</ak-label>`
|
||||||
: html`<ak-label color=${PFColor.Green} ?compact=${true}
|
: html`<ak-label color=${PFColor.Green} compact
|
||||||
>${versionString}
|
>${versionString}
|
||||||
</ak-label>`}
|
</ak-label>`}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -112,12 +112,12 @@ export class OutpostListPage extends TablePage<Outpost> {
|
|||||||
return [
|
return [
|
||||||
html`<div>${item.name}</div>
|
html`<div>${item.name}</div>
|
||||||
${item.config.authentik_host === ""
|
${item.config.authentik_host === ""
|
||||||
? html`<ak-label color=${PFColor.Orange} ?compact=${true}>
|
? html`<ak-label color=${PFColor.Orange} compact>
|
||||||
${msg(
|
${msg(
|
||||||
"Warning: authentik Domain is not configured, authentication will not work.",
|
"Warning: authentik Domain is not configured, authentication will not work.",
|
||||||
)}
|
)}
|
||||||
</ak-label>`
|
</ak-label>`
|
||||||
: html`<ak-label color=${PFColor.Green} ?compact=${true}>
|
: html`<ak-label color=${PFColor.Green} compact>
|
||||||
${msg(str`Logging in via ${item.config.authentik_host}.`)}
|
${msg(str`Logging in via ${item.config.authentik_host}.`)}
|
||||||
</ak-label>`}`,
|
</ak-label>`}`,
|
||||||
html`${TypeToLabel(item.type)}`,
|
html`${TypeToLabel(item.type)}`,
|
||||||
|
|||||||
@ -38,7 +38,7 @@ export class ServiceConnectionDockerForm extends ModelForm<DockerServiceConnecti
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -66,7 +66,7 @@ export class ServiceConnectionDockerForm extends ModelForm<DockerServiceConnecti
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Docker URL")} ?required=${true} name="url">
|
<ak-form-element-horizontal label=${msg("Docker URL")} required name="url">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.url)}"
|
value="${ifDefined(this.instance?.url)}"
|
||||||
|
|||||||
@ -42,7 +42,7 @@ export class ServiceConnectionKubernetesForm extends ModelForm<
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
|
|||||||
@ -199,7 +199,7 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
|||||||
<div slot="primary">
|
<div slot="primary">
|
||||||
<ak-policy-wizard
|
<ak-policy-wizard
|
||||||
createText=${msg("Create and bind Policy")}
|
createText=${msg("Create and bind Policy")}
|
||||||
?showBindingPage=${true}
|
showBindingPage
|
||||||
bindingTarget=${ifDefined(this.target)}
|
bindingTarget=${ifDefined(this.target)}
|
||||||
></ak-policy-wizard>
|
></ak-policy-wizard>
|
||||||
<ak-forms-modal size=${PFSize.Medium}>
|
<ak-forms-modal size=${PFSize.Medium}>
|
||||||
@ -225,7 +225,7 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
|||||||
return html`${this.allowedTypes.includes(PolicyBindingCheckTarget.policy)
|
return html`${this.allowedTypes.includes(PolicyBindingCheckTarget.policy)
|
||||||
? html`<ak-policy-wizard
|
? html`<ak-policy-wizard
|
||||||
createText=${msg("Create and bind Policy")}
|
createText=${msg("Create and bind Policy")}
|
||||||
?showBindingPage=${true}
|
showBindingPage
|
||||||
bindingTarget=${ifDefined(this.target)}
|
bindingTarget=${ifDefined(this.target)}
|
||||||
></ak-policy-wizard>`
|
></ak-policy-wizard>`
|
||||||
: nothing}
|
: nothing}
|
||||||
|
|||||||
@ -182,7 +182,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
|||||||
.selected=${(policy: Policy): boolean => {
|
.selected=${(policy: Policy): boolean => {
|
||||||
return policy.pk === this.instance?.policy;
|
return policy.pk === this.instance?.policy;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
${this.typeNotices
|
${this.typeNotices
|
||||||
@ -219,7 +219,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.group;
|
return group.pk === this.instance?.group;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
${this.typeNotices
|
${this.typeNotices
|
||||||
@ -256,7 +256,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
|||||||
.selected=${(user: User): boolean => {
|
.selected=${(user: User): boolean => {
|
||||||
return user.pk === this.instance?.user;
|
return user.pk === this.instance?.user;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
${this.typeNotices
|
${this.typeNotices
|
||||||
@ -300,7 +300,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
|||||||
${msg("Negates the outcome of the binding. Messages are unaffected.")}
|
${msg("Negates the outcome of the binding. Messages are unaffected.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
|
<ak-form-element-horizontal label=${msg("Order")} required name="order">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.order ?? this.defaultOrder}"
|
value="${this.instance?.order ?? this.defaultOrder}"
|
||||||
@ -308,7 +308,7 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Timeout")} ?required=${true} name="timeout">
|
<ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.timeout ?? 30}"
|
value="${this.instance?.timeout ?? 30}"
|
||||||
|
|||||||
@ -65,10 +65,10 @@ export class PolicyListPage extends TablePage<Policy> {
|
|||||||
return [
|
return [
|
||||||
html`<div>${item.name}</div>
|
html`<div>${item.name}</div>
|
||||||
${(item.boundTo || 0) > 0
|
${(item.boundTo || 0) > 0
|
||||||
? html`<ak-label color=${PFColor.Green} ?compact=${true}>
|
? html`<ak-label color=${PFColor.Green} compact>
|
||||||
${msg(str`Assigned to ${item.boundTo} object(s).`)}
|
${msg(str`Assigned to ${item.boundTo} object(s).`)}
|
||||||
</ak-label>`
|
</ak-label>`
|
||||||
: html`<ak-label color=${PFColor.Orange} ?compact=${true}>
|
: html`<ak-label color=${PFColor.Orange} compact>
|
||||||
${msg("Warning: Policy is not assigned.")}
|
${msg("Warning: Policy is not assigned.")}
|
||||||
</ak-label>`}`,
|
</ak-label>`}`,
|
||||||
html`${item.verboseName}`,
|
html`${item.verboseName}`,
|
||||||
|
|||||||
@ -94,7 +94,7 @@ export class PolicyTestForm extends Form<PolicyTestRequest> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
|
return html`<ak-form-element-horizontal label=${msg("User")} required name="user">
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||||
const args: CoreUsersListRequest = {
|
const args: CoreUsersListRequest = {
|
||||||
|
|||||||
@ -36,7 +36,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
|||||||
"A policy used for testing. Always returns the same result as specified below after waiting a random duration.",
|
"A policy used for testing. Always returns the same result as specified below after waiting a random duration.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -64,7 +64,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="result">
|
<ak-form-element-horizontal name="result">
|
||||||
@ -82,11 +82,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
|||||||
<span class="pf-c-switch__label">${msg("Pass policy?")}</span>
|
<span class="pf-c-switch__label">${msg("Pass policy?")}</span>
|
||||||
</label>
|
</label>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Wait (min)")} required name="waitMin">
|
||||||
label=${msg("Wait (min)")}
|
|
||||||
?required=${true}
|
|
||||||
name="waitMin"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.waitMin ?? 1}"
|
value="${this.instance?.waitMin ?? 1}"
|
||||||
@ -99,11 +95,7 @@ export class DummyPolicyForm extends BasePolicyForm<DummyPolicy> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Wait (max)")} required name="waitMax">
|
||||||
label=${msg("Wait (max)")}
|
|
||||||
?required=${true}
|
|
||||||
name="waitMax"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.waitMax ?? 5}"
|
value="${this.instance?.waitMax ?? 5}"
|
||||||
|
|||||||
@ -48,7 +48,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
|||||||
"Matches an event against a set of criteria. If any of the configured values match, the policy passes.",
|
"Matches an event against a set of criteria. If any of the configured values match, the policy passes.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -76,7 +76,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("Action")} name="action">
|
<ak-form-element-horizontal label=${msg("Action")} name="action">
|
||||||
@ -98,7 +98,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
|||||||
.selected=${(item: TypeCreate): boolean => {
|
.selected=${(item: TypeCreate): boolean => {
|
||||||
return this.instance?.action === item.component;
|
return this.instance?.action === item.component;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -138,7 +138,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
|||||||
.selected=${(item: App): boolean => {
|
.selected=${(item: App): boolean => {
|
||||||
return this.instance?.app === item.name;
|
return this.instance?.app === item.name;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -168,7 +168,7 @@ export class EventMatcherPolicyForm extends BasePolicyForm<EventMatcherPolicy> {
|
|||||||
.selected=${(item: App): boolean => {
|
.selected=${(item: App): boolean => {
|
||||||
return this.instance?.model === item.name;
|
return this.instance?.model === item.name;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -36,7 +36,7 @@ export class PasswordExpiryPolicyForm extends BasePolicyForm<PasswordExpiryPolic
|
|||||||
"Checks if the request's user's password has been changed in the last x days, and denys based on settings.",
|
"Checks if the request's user's password has been changed in the last x days, and denys based on settings.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -64,12 +64,12 @@ export class PasswordExpiryPolicyForm extends BasePolicyForm<PasswordExpiryPolic
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Maximum age (in days)")}
|
label=${msg("Maximum age (in days)")}
|
||||||
?required=${true}
|
required
|
||||||
name="days"
|
name="days"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -39,7 +39,7 @@ export class ExpressionPolicyForm extends BasePolicyForm<ExpressionPolicy> {
|
|||||||
"Executes the python snippet to determine whether to allow or deny a request.",
|
"Executes the python snippet to determine whether to allow or deny a request.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -67,12 +67,12 @@ export class ExpressionPolicyForm extends BasePolicyForm<ExpressionPolicy> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Expression")}
|
label=${msg("Expression")}
|
||||||
?required=${true}
|
required
|
||||||
name="expression"
|
name="expression"
|
||||||
>
|
>
|
||||||
<ak-codemirror
|
<ak-codemirror
|
||||||
|
|||||||
@ -49,7 +49,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Minimum length")}
|
label=${msg("Minimum length")}
|
||||||
?required=${true}
|
required
|
||||||
name="lengthMin"
|
name="lengthMin"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -61,7 +61,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Minimum amount of Uppercase Characters")}
|
label=${msg("Minimum amount of Uppercase Characters")}
|
||||||
?required=${true}
|
required
|
||||||
name="amountUppercase"
|
name="amountUppercase"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -73,7 +73,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Minimum amount of Lowercase Characters")}
|
label=${msg("Minimum amount of Lowercase Characters")}
|
||||||
?required=${true}
|
required
|
||||||
name="amountLowercase"
|
name="amountLowercase"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -85,7 +85,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Minimum amount of Digits")}
|
label=${msg("Minimum amount of Digits")}
|
||||||
?required=${true}
|
required
|
||||||
name="amountDigits"
|
name="amountDigits"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -97,7 +97,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Minimum amount of Symbols Characters")}
|
label=${msg("Minimum amount of Symbols Characters")}
|
||||||
?required=${true}
|
required
|
||||||
name="amountSymbols"
|
name="amountSymbols"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -109,7 +109,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Error message")}
|
label=${msg("Error message")}
|
||||||
?required=${true}
|
required
|
||||||
name="errorMessage"
|
name="errorMessage"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -121,7 +121,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Symbol charset")}
|
label=${msg("Symbol charset")}
|
||||||
?required=${true}
|
required
|
||||||
name="symbolCharset"
|
name="symbolCharset"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -142,12 +142,12 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
|
|
||||||
renderHIBP(): TemplateResult {
|
renderHIBP(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("HaveIBeenPwned settings")} </span>
|
<span slot="header"> ${msg("HaveIBeenPwned settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Allowed count")}
|
label=${msg("Allowed count")}
|
||||||
?required=${true}
|
required
|
||||||
name="hibpAllowedCount"
|
name="hibpAllowedCount"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -167,12 +167,12 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
|
|
||||||
renderZxcvbn(): TemplateResult {
|
renderZxcvbn(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("zxcvbn settings")} </span>
|
<span slot="header"> ${msg("zxcvbn settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Score threshold")}
|
label=${msg("Score threshold")}
|
||||||
?required=${true}
|
required
|
||||||
name="zxcvbnScoreThreshold"
|
name="zxcvbnScoreThreshold"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -221,7 +221,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
"Checks the value from the policy request against several rules, mostly used to ensure password strength.",
|
"Checks the value from the policy request against several rules, mostly used to ensure password strength.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -251,7 +251,7 @@ export class PasswordPolicyForm extends BasePolicyForm<PasswordPolicy> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Password field")}
|
label=${msg("Password field")}
|
||||||
?required=${true}
|
required
|
||||||
name="passwordField"
|
name="passwordField"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -46,7 +46,7 @@ username they are attempting to login as, by one.`,
|
|||||||
doesn't pass when either or both of the selected options are equal or above the threshold.`,
|
doesn't pass when either or both of the selected options are equal or above the threshold.`,
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -74,7 +74,7 @@ doesn't pass when either or both of the selected options are equal or above the
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
<span slot="header"> ${msg("Policy-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="checkIp">
|
<ak-form-element-horizontal name="checkIp">
|
||||||
@ -107,11 +107,7 @@ doesn't pass when either or both of the selected options are equal or above the
|
|||||||
<span class="pf-c-switch__label">${msg("Check Username")}</span>
|
<span class="pf-c-switch__label">${msg("Check Username")}</span>
|
||||||
</label>
|
</label>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Threshold")} required name="threshold">
|
||||||
label=${msg("Threshold")}
|
|
||||||
?required=${true}
|
|
||||||
name="threshold"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${ifDefined(this.instance?.threshold || -5)}"
|
value="${ifDefined(this.instance?.threshold || -5)}"
|
||||||
|
|||||||
@ -36,7 +36,7 @@ export class UniquePasswordPolicyForm extends BasePolicyForm<UniquePasswordPolic
|
|||||||
"Ensure that the user's new password is different from their previous passwords. The number of past passwords to check is configurable.",
|
"Ensure that the user's new password is different from their previous passwords. The number of past passwords to check is configurable.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -66,7 +66,7 @@ export class UniquePasswordPolicyForm extends BasePolicyForm<UniquePasswordPolic
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Password field")}
|
label=${msg("Password field")}
|
||||||
?required=${true}
|
required
|
||||||
name="passwordField"
|
name="passwordField"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -81,7 +81,7 @@ export class UniquePasswordPolicyForm extends BasePolicyForm<UniquePasswordPolic
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Number of previous passwords to check")}
|
label=${msg("Number of previous passwords to check")}
|
||||||
?required=${true}
|
required
|
||||||
name="numHistoricalPasswords"
|
name="numHistoricalPasswords"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -62,7 +62,7 @@ export class PropertyMappingProviderRACForm extends BasePropertyMappingForm<RACP
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("General settings")} </span>
|
<span slot="header"> ${msg("General settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -54,7 +54,7 @@ export class PolicyTestForm extends Form<PropertyMappingTestRequest> {
|
|||||||
${this.result?.successful
|
${this.result?.successful
|
||||||
? html`<ak-codemirror
|
? html`<ak-codemirror
|
||||||
mode=${CodeMirrorMode.JavaScript}
|
mode=${CodeMirrorMode.JavaScript}
|
||||||
?readOnly=${true}
|
readOnly
|
||||||
value="${ifDefined(this.result?.result)}"
|
value="${ifDefined(this.result?.result)}"
|
||||||
>
|
>
|
||||||
</ak-codemirror>`
|
</ak-codemirror>`
|
||||||
|
|||||||
@ -42,7 +42,7 @@ export class ProviderViewPage extends AKElement {
|
|||||||
|
|
||||||
renderProvider(): TemplateResult {
|
renderProvider(): TemplateResult {
|
||||||
if (!this.provider) {
|
if (!this.provider) {
|
||||||
return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
|
return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
|
||||||
}
|
}
|
||||||
switch (this.provider?.component) {
|
switch (this.provider?.component) {
|
||||||
case "ak-provider-saml-form":
|
case "ak-provider-saml-form":
|
||||||
|
|||||||
@ -48,7 +48,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -56,12 +56,12 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Credentials")}
|
label=${msg("Credentials")}
|
||||||
?required=${true}
|
required
|
||||||
name="credentials"
|
name="credentials"
|
||||||
>
|
>
|
||||||
<ak-codemirror
|
<ak-codemirror
|
||||||
@ -74,7 +74,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Delegated Subject")}
|
label=${msg("Delegated Subject")}
|
||||||
?required=${true}
|
required
|
||||||
name="delegatedSubject"
|
name="delegatedSubject"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -91,7 +91,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Default group email domain")}
|
label=${msg("Default group email domain")}
|
||||||
?required=${true}
|
required
|
||||||
name="defaultGroupEmailDomain"
|
name="defaultGroupEmailDomain"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -181,7 +181,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header">${msg("User filtering")}</span>
|
<span slot="header">${msg("User filtering")}</span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="excludeUsersServiceAccount">
|
<ak-form-element-horizontal name="excludeUsersServiceAccount">
|
||||||
@ -225,7 +225,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.filterGroup;
|
return group.pk === this.instance?.filterGroup;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -234,7 +234,7 @@ export class GoogleWorkspaceProviderFormPage extends BaseProviderForm<GoogleWork
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Attribute mapping")} </span>
|
<span slot="header"> ${msg("Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -86,7 +86,7 @@ export function renderForm(
|
|||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Bind flow")}
|
label=${msg("Bind flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
.errorMessages=${errors?.authorizationFlow ?? []}
|
.errorMessages=${errors?.authorizationFlow ?? []}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -46,7 +46,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -54,14 +54,10 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Client ID")} required name="clientId">
|
||||||
label=${msg("Client ID")}
|
|
||||||
?required=${true}
|
|
||||||
name="clientId"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.clientId ?? ""}"
|
value="${this.instance?.clientId ?? ""}"
|
||||||
@ -74,7 +70,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Client Secret")}
|
label=${msg("Client Secret")}
|
||||||
?required=${true}
|
required
|
||||||
name="clientSecret"
|
name="clientSecret"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -87,11 +83,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
${msg("Client secret for the app registration.")}
|
${msg("Client secret for the app registration.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Tenant ID")} required name="tenantId">
|
||||||
label=${msg("Tenant ID")}
|
|
||||||
?required=${true}
|
|
||||||
name="tenantId"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.tenantId ?? ""}"
|
value="${this.instance?.tenantId ?? ""}"
|
||||||
@ -170,7 +162,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header">${msg("User filtering")}</span>
|
<span slot="header">${msg("User filtering")}</span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="excludeUsersServiceAccount">
|
<ak-form-element-horizontal name="excludeUsersServiceAccount">
|
||||||
@ -214,7 +206,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.filterGroup;
|
return group.pk === this.instance?.filterGroup;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -223,7 +215,7 @@ export class MicrosoftEntraProviderFormPage extends BaseProviderForm<MicrosoftEn
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Attribute mapping")} </span>
|
<span slot="header"> ${msg("Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -133,7 +133,7 @@ export function renderForm(
|
|||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
label=${msg("Authorization flow")}
|
label=${msg("Authorization flow")}
|
||||||
?required=${true}
|
required
|
||||||
>
|
>
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||||
@ -279,7 +279,7 @@ export function renderForm(
|
|||||||
label=${msg("Refresh Token validity")}
|
label=${msg("Refresh Token validity")}
|
||||||
value="${provider?.refreshTokenValidity ?? "days=30"}"
|
value="${provider?.refreshTokenValidity ?? "days=30"}"
|
||||||
input-hint="code"
|
input-hint="code"
|
||||||
?required=${true}
|
required
|
||||||
.bighelp=${html` <p class="pf-c-form__helper-text">
|
.bighelp=${html` <p class="pf-c-form__helper-text">
|
||||||
${msg("Configure how long refresh tokens are valid for.")}
|
${msg("Configure how long refresh tokens are valid for.")}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@ -416,7 +416,7 @@ export class OAuth2ProviderViewPage extends AKElement {
|
|||||||
.selected=${(user: User): boolean => {
|
.selected=${(user: User): boolean => {
|
||||||
return user.pk === this.previewUser?.pk;
|
return user.pk === this.previewUser?.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
@ak-change=${(ev: CustomEvent) => {
|
@ak-change=${(ev: CustomEvent) => {
|
||||||
this.previewUser = ev.detail.value;
|
this.previewUser = ev.detail.value;
|
||||||
this.fetchPreview();
|
this.fetchPreview();
|
||||||
|
|||||||
@ -53,7 +53,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<ak-form-element-horizontal label=${msg("Name")} name="name" ?required=${true}>
|
<ak-form-element-horizontal label=${msg("Name")} name="name" required>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -61,7 +61,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Protocol")} ?required=${true} name="protocol">
|
<ak-form-element-horizontal label=${msg("Protocol")} required name="protocol">
|
||||||
<ak-radio
|
<ak-radio
|
||||||
.options=${[
|
.options=${[
|
||||||
{
|
{
|
||||||
@ -81,7 +81,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
|||||||
>
|
>
|
||||||
</ak-radio>
|
</ak-radio>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Host")} name="host" ?required=${true}>
|
<ak-form-element-horizontal label=${msg("Host")} name="host" required>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.host)}"
|
value="${ifDefined(this.instance?.host)}"
|
||||||
@ -93,7 +93,7 @@ export class EndpointForm extends ModelForm<Endpoint, string> {
|
|||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Maximum concurrent connections")}
|
label=${msg("Maximum concurrent connections")}
|
||||||
name="maximumConnections"
|
name="maximumConnections"
|
||||||
?required=${true}
|
required
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
|
|||||||
@ -49,7 +49,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -61,7 +61,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
|||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
label=${msg("Authorization flow")}
|
label=${msg("Authorization flow")}
|
||||||
?required=${true}
|
required
|
||||||
>
|
>
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
flowType=${FlowsInstancesListDesignationEnum.Authorization}
|
||||||
@ -74,7 +74,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Connection expiry")}
|
label=${msg("Connection expiry")}
|
||||||
?required=${true}
|
required
|
||||||
name="connectionExpiry"
|
name="connectionExpiry"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -115,7 +115,7 @@ export class RACProviderFormPage extends ModelForm<RACProvider, number> {
|
|||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
|
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -84,7 +84,7 @@ export function renderForm(
|
|||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
|
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-text-input
|
<ak-text-input
|
||||||
@ -127,7 +127,6 @@ export function renderForm(
|
|||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Authentication flow")}
|
label=${msg("Authentication flow")}
|
||||||
?required=${false}
|
|
||||||
name="authenticationFlow"
|
name="authenticationFlow"
|
||||||
>
|
>
|
||||||
<ak-flow-search
|
<ak-flow-search
|
||||||
@ -236,7 +235,7 @@ export function renderForm(
|
|||||||
.selected=${(item: SAMLPropertyMapping): boolean => {
|
.selected=${(item: SAMLPropertyMapping): boolean => {
|
||||||
return provider?.nameIdMapping === item.pk;
|
return provider?.nameIdMapping === item.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -271,7 +270,7 @@ export function renderForm(
|
|||||||
.selected=${(item: SAMLPropertyMapping): boolean => {
|
.selected=${(item: SAMLPropertyMapping): boolean => {
|
||||||
return provider?.authnContextClassRefMapping === item.pk;
|
return provider?.authnContextClassRefMapping === item.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -31,12 +31,12 @@ export class SAMLProviderImportForm extends Form<SAMLProvider> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input type="text" class="pf-c-form-control" required />
|
<input type="text" class="pf-c-form-control" required />
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Authorization flow")}
|
label=${msg("Authorization flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="authorizationFlow"
|
name="authorizationFlow"
|
||||||
>
|
>
|
||||||
<ak-flow-search-no-default
|
<ak-flow-search-no-default
|
||||||
@ -49,7 +49,7 @@ export class SAMLProviderImportForm extends Form<SAMLProvider> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Invalidation flow")}
|
label=${msg("Invalidation flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="invalidationFlow"
|
name="invalidationFlow"
|
||||||
>
|
>
|
||||||
<ak-flow-search-no-default
|
<ak-flow-search-no-default
|
||||||
|
|||||||
@ -489,7 +489,7 @@ export class SAMLProviderViewPage extends AKElement {
|
|||||||
<div class="pf-c-card__footer">
|
<div class="pf-c-card__footer">
|
||||||
<ak-codemirror
|
<ak-codemirror
|
||||||
mode=${CodeMirrorMode.XML}
|
mode=${CodeMirrorMode.XML}
|
||||||
?readOnly=${true}
|
readOnly
|
||||||
value="${ifDefined(this.metadata?.metadata)}"
|
value="${ifDefined(this.metadata?.metadata)}"
|
||||||
></ak-codemirror>
|
></ak-codemirror>
|
||||||
</div>
|
</div>
|
||||||
@ -539,7 +539,7 @@ export class SAMLProviderViewPage extends AKElement {
|
|||||||
.selected=${(user: User): boolean => {
|
.selected=${(user: User): boolean => {
|
||||||
return user.pk === this.previewUser?.pk;
|
return user.pk === this.previewUser?.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
@ak-change=${(ev: CustomEvent) => {
|
@ak-change=${(ev: CustomEvent) => {
|
||||||
this.previewUser = ev.detail.value;
|
this.previewUser = ev.detail.value;
|
||||||
this.fetchPreview();
|
this.fetchPreview();
|
||||||
|
|||||||
@ -37,7 +37,6 @@ export class ObjectPermissionsPageForm extends ModelForm<unknown, string> {
|
|||||||
.model=${this.model}
|
.model=${this.model}
|
||||||
.objectPk=${this.objectPk}
|
.objectPk=${this.objectPk}
|
||||||
slot="form"
|
slot="form"
|
||||||
.embedded=${true}
|
|
||||||
>
|
>
|
||||||
</ak-rbac-object-permission-page>`;
|
</ak-rbac-object-permission-page>`;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ export class RoleForm extends ModelForm<Role, string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html`<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
|
|||||||
@ -67,7 +67,7 @@ export class RolePermissionForm extends ModelForm<RolePermissionAssign, number>
|
|||||||
<ak-chip-group>
|
<ak-chip-group>
|
||||||
${this.permissionsToAdd.map((permission) => {
|
${this.permissionsToAdd.map((permission) => {
|
||||||
return html`<ak-chip
|
return html`<ak-chip
|
||||||
.removable=${true}
|
removable
|
||||||
value=${`${permission.appLabel}.${permission.codename}`}
|
value=${`${permission.appLabel}.${permission.codename}`}
|
||||||
@remove=${() => {
|
@remove=${() => {
|
||||||
const idx = this.permissionsToAdd.indexOf(permission);
|
const idx = this.permissionsToAdd.indexOf(permission);
|
||||||
|
|||||||
@ -90,7 +90,7 @@ export class SourceListPage extends TablePage<Source> {
|
|||||||
<div>${item.name}</div>
|
<div>${item.name}</div>
|
||||||
${item.enabled
|
${item.enabled
|
||||||
? html``
|
? html``
|
||||||
: html`<ak-label color=${PFColor.Orange} ?compact=${true}>
|
: html`<ak-label color=${PFColor.Orange} compact>
|
||||||
${msg("Disabled")}</ak-label
|
${msg("Disabled")}</ak-label
|
||||||
>`}
|
>`}
|
||||||
</a>`,
|
</a>`,
|
||||||
@ -119,7 +119,7 @@ export class SourceListPage extends TablePage<Source> {
|
|||||||
return [
|
return [
|
||||||
html`<div>
|
html`<div>
|
||||||
<div>${item.name}</div>
|
<div>${item.name}</div>
|
||||||
<ak-label color=${PFColor.Grey} ?compact=${true}> ${msg("Built-in")}</ak-label>
|
<ak-label color=${PFColor.Grey} compact> ${msg("Built-in")}</ak-label>
|
||||||
</div>`,
|
</div>`,
|
||||||
html`${msg("Built-in")}`,
|
html`${msg("Built-in")}`,
|
||||||
html``,
|
html``,
|
||||||
|
|||||||
@ -34,7 +34,7 @@ export class SourceViewPage extends AKElement {
|
|||||||
|
|
||||||
renderSource(): TemplateResult {
|
renderSource(): TemplateResult {
|
||||||
if (!this.source) {
|
if (!this.source) {
|
||||||
return html`<ak-empty-state loading ?fullHeight=${true}></ak-empty-state>`;
|
return html`<ak-empty-state loading fullHeight></ak-empty-state>`;
|
||||||
}
|
}
|
||||||
switch (this.source?.component) {
|
switch (this.source?.component) {
|
||||||
case "ak-source-kerberos-form":
|
case "ak-source-kerberos-form":
|
||||||
|
|||||||
@ -119,7 +119,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
|||||||
"Enable this option to write password changes made in authentik back to Kerberos. Ignored if sync is disabled.",
|
"Enable this option to write password changes made in authentik back to Kerberos. Ignored if sync is disabled.",
|
||||||
)}
|
)}
|
||||||
></ak-switch-input>
|
></ak-switch-input>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Realm settings")} </span>
|
<span slot="header"> ${msg("Realm settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-text-input
|
<ak-text-input
|
||||||
@ -139,7 +139,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
|||||||
></ak-textarea-input>
|
></ak-textarea-input>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User matching mode")}
|
label=${msg("User matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="userMatchingMode"
|
name="userMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -182,7 +182,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Group matching mode")}
|
label=${msg("Group matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="groupMatchingMode"
|
name="groupMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -211,12 +211,12 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group .expanded=${false}>
|
<ak-form-group>
|
||||||
<span slot="header"> ${msg("Sync connection settings")} </span>
|
<span slot="header"> ${msg("Sync connection settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("KAdmin type")}
|
label=${msg("KAdmin type")}
|
||||||
?required=${true}
|
required
|
||||||
name="kadminType"
|
name="kadminType"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -274,7 +274,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
|||||||
></ak-text-input>
|
></ak-text-input>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group .expanded=${false}>
|
<ak-form-group>
|
||||||
<span slot="header"> ${msg("SPNEGO settings")} </span>
|
<span slot="header"> ${msg("SPNEGO settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-text-input
|
<ak-text-input
|
||||||
@ -303,7 +303,7 @@ export class KerberosSourceForm extends WithCapabilitiesConfig(BaseSourceForm<Ke
|
|||||||
></ak-text-input>
|
></ak-text-input>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${false}>
|
<ak-form-group>
|
||||||
<span slot="header"> ${msg("Kerberos Attribute mapping")} </span>
|
<span slot="header"> ${msg("Kerberos Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -46,7 +46,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -54,7 +54,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.slug)}"
|
value="${ifDefined(this.instance?.slug)}"
|
||||||
@ -169,12 +169,12 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Connection settings")} </span>
|
<span slot="header"> ${msg("Connection settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Server URI")}
|
label=${msg("Server URI")}
|
||||||
?required=${true}
|
required
|
||||||
name="serverUri"
|
name="serverUri"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -265,11 +265,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
name="bindPassword"
|
name="bindPassword"
|
||||||
?revealed=${this.instance === undefined}
|
?revealed=${this.instance === undefined}
|
||||||
></ak-private-text-input>
|
></ak-private-text-input>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Base DN")} required name="baseDn">
|
||||||
label=${msg("Base DN")}
|
|
||||||
?required=${true}
|
|
||||||
name="baseDn"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.baseDn)}"
|
value="${ifDefined(this.instance?.baseDn)}"
|
||||||
@ -279,7 +275,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("LDAP Attribute mapping")} </span>
|
<span slot="header"> ${msg("LDAP Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
@ -343,7 +339,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.syncParentGroup;
|
return group.pk === this.instance?.syncParentGroup;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -387,7 +383,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User object filter")}
|
label=${msg("User object filter")}
|
||||||
?required=${true}
|
required
|
||||||
name="userObjectFilter"
|
name="userObjectFilter"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -402,7 +398,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Group object filter")}
|
label=${msg("Group object filter")}
|
||||||
?required=${true}
|
required
|
||||||
name="groupObjectFilter"
|
name="groupObjectFilter"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -417,7 +413,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Group membership field")}
|
label=${msg("Group membership field")}
|
||||||
?required=${true}
|
required
|
||||||
name="groupMembershipField"
|
name="groupMembershipField"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -434,7 +430,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User membership attribute")}
|
label=${msg("User membership attribute")}
|
||||||
?required=${true}
|
required
|
||||||
name="userMembershipAttribute"
|
name="userMembershipAttribute"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -471,7 +467,7 @@ export class LDAPSourceForm extends BaseSourceForm<LDAPSource> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Object uniqueness field")}
|
label=${msg("Object uniqueness field")}
|
||||||
?required=${true}
|
required
|
||||||
name="objectUniquenessField"
|
name="objectUniquenessField"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -124,7 +124,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
if (!this.providerType?.urlsCustomizable) {
|
if (!this.providerType?.urlsCustomizable) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
return html` <ak-form-group .expanded=${true}>
|
return html` <ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("URL settings")} </span>
|
<span slot="header"> ${msg("URL settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
@ -258,7 +258,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -266,7 +266,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.slug)}"
|
value="${ifDefined(this.instance?.slug)}"
|
||||||
@ -293,7 +293,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User matching mode")}
|
label=${msg("User matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="userMatchingMode"
|
name="userMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -336,7 +336,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Group matching mode")}
|
label=${msg("Group matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="groupMatchingMode"
|
name="groupMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -422,12 +422,12 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
||||||
</ak-form-element-horizontal>`}
|
</ak-form-element-horizontal>`}
|
||||||
|
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Consumer key")}
|
label=${msg("Consumer key")}
|
||||||
?required=${true}
|
required
|
||||||
name="consumerKey"
|
name="consumerKey"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -465,7 +465,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
${this.renderUrlOptions()}
|
${this.renderUrlOptions()}
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("OAuth Attribute mapping")} </span>
|
<span slot="header"> ${msg("OAuth Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -150,7 +150,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Allowed servers")}
|
label=${msg("Allowed servers")}
|
||||||
?required=${true}
|
required
|
||||||
name="allowedServers"
|
name="allowedServers"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control" multiple>
|
<select class="pf-c-form-control" multiple>
|
||||||
@ -174,7 +174,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -182,7 +182,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.slug)}"
|
value="${ifDefined(this.instance?.slug)}"
|
||||||
@ -207,7 +207,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User matching mode")}
|
label=${msg("User matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="userMatchingMode"
|
name="userMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -250,7 +250,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Group matching mode")}
|
label=${msg("Group matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="groupMatchingMode"
|
name="groupMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -331,14 +331,10 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
/>
|
/>
|
||||||
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
||||||
</ak-form-element-horizontal>`}
|
</ak-form-element-horizontal>`}
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Client ID")} required name="clientId">
|
||||||
label=${msg("Client ID")}
|
|
||||||
?required=${true}
|
|
||||||
name="clientId"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.clientId ?? ""}"
|
value="${this.instance?.clientId ?? ""}"
|
||||||
@ -382,7 +378,7 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Plex Attribute mapping")} </span>
|
<span slot="header"> ${msg("Plex Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -80,7 +80,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -88,7 +88,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.slug)}"
|
value="${ifDefined(this.instance?.slug)}"
|
||||||
@ -113,7 +113,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User matching mode")}
|
label=${msg("User matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="userMatchingMode"
|
name="userMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -156,7 +156,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Group matching mode")}
|
label=${msg("Group matching mode")}
|
||||||
?required=${true}
|
required
|
||||||
name="groupMatchingMode"
|
name="groupMatchingMode"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -230,14 +230,10 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
<p class="pf-c-form__helper-text">${iconHelperText}</p>
|
||||||
</ak-form-element-horizontal>`}
|
</ak-form-element-horizontal>`}
|
||||||
|
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Protocol settings")} </span>
|
<span slot="header"> ${msg("Protocol settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("SSO URL")} required name="ssoUrl">
|
||||||
label=${msg("SSO URL")}
|
|
||||||
?required=${true}
|
|
||||||
name="ssoUrl"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.ssoUrl)}"
|
value="${ifDefined(this.instance?.ssoUrl)}"
|
||||||
@ -270,7 +266,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Binding Type")}
|
label=${msg("Binding Type")}
|
||||||
?required=${true}
|
required
|
||||||
name="bindingType"
|
name="bindingType"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -349,7 +345,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("NameID Policy")}
|
label=${msg("NameID Policy")}
|
||||||
?required=${true}
|
required
|
||||||
name="nameIdPolicy"
|
name="nameIdPolicy"
|
||||||
>
|
>
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
@ -401,7 +397,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Delete temporary users after")}
|
label=${msg("Delete temporary users after")}
|
||||||
?required=${true}
|
required
|
||||||
name="temporaryUserDeleteAfter"
|
name="temporaryUserDeleteAfter"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -419,7 +415,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Digest algorithm")}
|
label=${msg("Digest algorithm")}
|
||||||
?required=${true}
|
required
|
||||||
name="digestAlgorithm"
|
name="digestAlgorithm"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -448,7 +444,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Signature algorithm")}
|
label=${msg("Signature algorithm")}
|
||||||
?required=${true}
|
required
|
||||||
name="signatureAlgorithm"
|
name="signatureAlgorithm"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -494,7 +490,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("SAML Attribute mapping")} </span>
|
<span slot="header"> ${msg("SAML Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
@ -536,7 +532,7 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Pre-authentication flow")}
|
label=${msg("Pre-authentication flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="preAuthenticationFlow"
|
name="preAuthenticationFlow"
|
||||||
>
|
>
|
||||||
<ak-source-flow-search
|
<ak-source-flow-search
|
||||||
|
|||||||
@ -178,7 +178,7 @@ export class SAMLSourceViewPage extends AKElement {
|
|||||||
<div class="pf-c-card__body">
|
<div class="pf-c-card__body">
|
||||||
<ak-codemirror
|
<ak-codemirror
|
||||||
mode=${CodeMirrorMode.XML}
|
mode=${CodeMirrorMode.XML}
|
||||||
?readOnly=${true}
|
readOnly
|
||||||
value="${ifDefined(this.metadata?.metadata)}"
|
value="${ifDefined(this.metadata?.metadata)}"
|
||||||
></ak-codemirror>
|
></ak-codemirror>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -40,7 +40,7 @@ export class SCIMSourceForm extends BaseSourceForm<SCIMSource> {
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<form class="pf-c-form pf-m-horizontal">
|
return html`<form class="pf-c-form pf-m-horizontal">
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -48,7 +48,7 @@ export class SCIMSourceForm extends BaseSourceForm<SCIMSource> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Slug")} ?required=${true} name="slug">
|
<ak-form-element-horizontal label=${msg("Slug")} required name="slug">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.slug)}"
|
value="${ifDefined(this.instance?.slug)}"
|
||||||
@ -66,7 +66,7 @@ export class SCIMSourceForm extends BaseSourceForm<SCIMSource> {
|
|||||||
<label class="pf-c-check__label"> ${msg("Enabled")} </label>
|
<label class="pf-c-check__label"> ${msg("Enabled")} </label>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group ?expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("SCIM Attribute mapping")} </span>
|
<span slot="header"> ${msg("SCIM Attribute mapping")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
|
|||||||
@ -46,7 +46,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
|||||||
"Stage used to configure a duo-based authenticator. This stage should be used for configuration flows.",
|
"Stage used to configure a duo-based authenticator. This stage should be used for configuration flows.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -70,11 +70,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("API Hostname")} required name="apiHostname">
|
||||||
label=${msg("API Hostname")}
|
|
||||||
?required=${true}
|
|
||||||
name="apiHostname"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.apiHostname ?? ""}"
|
value="${this.instance?.apiHostname ?? ""}"
|
||||||
@ -84,12 +80,12 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Duo Auth API")} </span>
|
<span slot="header"> ${msg("Duo Auth API")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Integration key")}
|
label=${msg("Integration key")}
|
||||||
?required=${true}
|
required
|
||||||
name="clientId"
|
name="clientId"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -137,7 +133,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
|||||||
></ak-private-text-input>
|
></ak-private-text-input>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
@ -171,7 +167,7 @@ export class AuthenticatorDuoStageForm extends BaseStageForm<AuthenticatorDuoSta
|
|||||||
.selected=${(flow: Flow): boolean => {
|
.selected=${(flow: Flow): boolean => {
|
||||||
return this.instance?.configureFlow === flow.pk;
|
return this.instance?.configureFlow === flow.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -49,11 +49,7 @@ export class DuoDeviceImportForm extends ModelForm<AuthenticatorDuoStage, string
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderFormManual(): TemplateResult {
|
renderFormManual(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal label=${msg("User")} required name="username">
|
||||||
label=${msg("User")}
|
|
||||||
?required=${true}
|
|
||||||
name="username"
|
|
||||||
>
|
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||||
const args: CoreUsersListRequest = {
|
const args: CoreUsersListRequest = {
|
||||||
@ -81,11 +77,7 @@ export class DuoDeviceImportForm extends ModelForm<AuthenticatorDuoStage, string
|
|||||||
${msg("The user in authentik this device will be assigned to.")}
|
${msg("The user in authentik this device will be assigned to.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Duo User ID")} required name="duoUserId">
|
||||||
label=${msg("Duo User ID")}
|
|
||||||
?required=${true}
|
|
||||||
name="duoUserId"
|
|
||||||
>
|
|
||||||
<input type="text" class="pf-c-form-control" required />
|
<input type="text" class="pf-c-form-control" required />
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
${msg("The user ID in Duo, can be found in the URL after clicking on a user.")}
|
${msg("The user ID in Duo, can be found in the URL after clicking on a user.")}
|
||||||
|
|||||||
@ -50,10 +50,10 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
if (!this.showConnectionSettings) {
|
if (!this.showConnectionSettings) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
return html`<ak-form-group .expanded=${true}>
|
return html`<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Connection settings")} </span>
|
<span slot="header"> ${msg("Connection settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
|
<ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.host || "")}"
|
value="${ifDefined(this.instance?.host || "")}"
|
||||||
@ -61,7 +61,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
|
<ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.port ?? 25}"
|
value="${this.instance?.port ?? 25}"
|
||||||
@ -113,11 +113,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
<span class="pf-c-switch__label">${msg("Use SSL")}</span>
|
<span class="pf-c-switch__label">${msg("Use SSL")}</span>
|
||||||
</label>
|
</label>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
|
||||||
label=${msg("Timeout")}
|
|
||||||
?required=${true}
|
|
||||||
name="timeout"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.timeout ?? 30}"
|
value="${this.instance?.timeout ?? 30}"
|
||||||
@ -127,7 +123,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("From address")}
|
label=${msg("From address")}
|
||||||
?required=${true}
|
required
|
||||||
name="fromAddress"
|
name="fromAddress"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -146,7 +142,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <span> ${msg("Stage used to configure an email-based authenticator.")} </span>
|
return html` <span> ${msg("Stage used to configure an email-based authenticator.")} </span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -195,14 +191,10 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
${this.renderConnectionSettings()}
|
${this.renderConnectionSettings()}
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Subject")} required name="subject">
|
||||||
label=${msg("Subject")}
|
|
||||||
?required=${true}
|
|
||||||
name="subject"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.subject ?? "authentik Sign-in code"}"
|
value="${this.instance?.subject ?? "authentik Sign-in code"}"
|
||||||
@ -215,7 +207,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Token expiration")}
|
label=${msg("Token expiration")}
|
||||||
?required=${true}
|
required
|
||||||
name="tokenExpiry"
|
name="tokenExpiry"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -261,7 +253,7 @@ export class AuthenticatorEmailStageForm extends BaseStageForm<AuthenticatorEmai
|
|||||||
.selected=${(flow: Flow): boolean => {
|
.selected=${(flow: Flow): boolean => {
|
||||||
return this.instance?.configureFlow === flow.pk;
|
return this.instance?.configureFlow === flow.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -59,7 +59,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
renderProviderTwillio(): TemplateResult {
|
renderProviderTwillio(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal
|
return html` <ak-form-element-horizontal
|
||||||
label=${msg("Twilio Account SID")}
|
label=${msg("Twilio Account SID")}
|
||||||
?required=${true}
|
required
|
||||||
name="accountSid"
|
name="accountSid"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -74,11 +74,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
${msg("Get this value from https://console.twilio.com")}
|
${msg("Get this value from https://console.twilio.com")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Twilio Auth Token")} required name="auth">
|
||||||
label=${msg("Twilio Auth Token")}
|
|
||||||
?required=${true}
|
|
||||||
name="auth"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.auth ?? ""}"
|
value="${this.instance?.auth ?? ""}"
|
||||||
@ -101,7 +97,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
const current = (ev.target as HTMLInputElement).value;
|
const current = (ev.target as HTMLInputElement).value;
|
||||||
this.authType = current as AuthTypeEnum;
|
this.authType = current as AuthTypeEnum;
|
||||||
}}
|
}}
|
||||||
?required=${true}
|
required
|
||||||
name="authType"
|
name="authType"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -120,11 +116,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
>
|
>
|
||||||
</ak-radio>
|
</ak-radio>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("External API URL")} required name="accountSid">
|
||||||
label=${msg("External API URL")}
|
|
||||||
?required=${true}
|
|
||||||
name="accountSid"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.accountSid ?? ""}"
|
value="${this.instance?.accountSid ?? ""}"
|
||||||
@ -137,11 +129,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
${msg("This is the full endpoint to send POST requests to.")}
|
${msg("This is the full endpoint to send POST requests to.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("API Auth Username")} required name="auth">
|
||||||
label=${msg("API Auth Username")}
|
|
||||||
?required=${true}
|
|
||||||
name="auth"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.auth ?? ""}"
|
value="${this.instance?.auth ?? ""}"
|
||||||
@ -196,7 +184,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
.selected=${(item: NotificationWebhookMapping): boolean => {
|
.selected=${(item: NotificationWebhookMapping): boolean => {
|
||||||
return this.instance?.mapping === item.pk;
|
return this.instance?.mapping === item.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -210,7 +198,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
return html` <span>
|
return html` <span>
|
||||||
${msg("Stage used to configure an SMS-based TOTP authenticator.")}
|
${msg("Stage used to configure an SMS-based TOTP authenticator.")}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -234,14 +222,10 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Provider")} required name="provider">
|
||||||
label=${msg("Provider")}
|
|
||||||
?required=${true}
|
|
||||||
name="provider"
|
|
||||||
>
|
|
||||||
<select
|
<select
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
@change=${(ev: Event) => {
|
@change=${(ev: Event) => {
|
||||||
@ -265,7 +249,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("From number")}
|
label=${msg("From number")}
|
||||||
?required=${true}
|
required
|
||||||
name="fromNumber"
|
name="fromNumber"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -334,7 +318,7 @@ export class AuthenticatorSMSStageForm extends BaseStageForm<AuthenticatorSMSSta
|
|||||||
.selected=${(flow: Flow): boolean => {
|
.selected=${(flow: Flow): boolean => {
|
||||||
return this.instance?.configureFlow === flow.pk;
|
return this.instance?.configureFlow === flow.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -43,7 +43,7 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
|||||||
"Stage used to configure a static authenticator (i.e. static tokens). This stage should be used for configuration flows.",
|
"Stage used to configure a static authenticator (i.e. static tokens). This stage should be used for configuration flows.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -67,12 +67,12 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Token count")}
|
label=${msg("Token count")}
|
||||||
?required=${true}
|
required
|
||||||
name="tokenCount"
|
name="tokenCount"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -89,7 +89,7 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Token length")}
|
label=${msg("Token length")}
|
||||||
?required=${true}
|
required
|
||||||
name="tokenLength"
|
name="tokenLength"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -135,7 +135,7 @@ export class AuthenticatorStaticStageForm extends BaseStageForm<AuthenticatorSta
|
|||||||
.selected=${(flow: Flow): boolean => {
|
.selected=${(flow: Flow): boolean => {
|
||||||
return this.instance?.configureFlow === flow.pk;
|
return this.instance?.configureFlow === flow.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -45,7 +45,7 @@ export class AuthenticatorTOTPStageForm extends BaseStageForm<AuthenticatorTOTPS
|
|||||||
"Stage used to configure a TOTP authenticator (i.e. Authy/Google Authenticator).",
|
"Stage used to configure a TOTP authenticator (i.e. Authy/Google Authenticator).",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -69,14 +69,10 @@ export class AuthenticatorTOTPStageForm extends BaseStageForm<AuthenticatorTOTPS
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Digits")} required name="digits">
|
||||||
label=${msg("Digits")}
|
|
||||||
?required=${true}
|
|
||||||
name="digits"
|
|
||||||
>
|
|
||||||
<select name="users" class="pf-c-form-control">
|
<select name="users" class="pf-c-form-control">
|
||||||
<option
|
<option
|
||||||
value="${DigitsEnum._6}"
|
value="${DigitsEnum._6}"
|
||||||
@ -125,7 +121,7 @@ export class AuthenticatorTOTPStageForm extends BaseStageForm<AuthenticatorTOTPS
|
|||||||
.selected=${(flow: Flow): boolean => {
|
.selected=${(flow: Flow): boolean => {
|
||||||
return this.instance?.configureFlow === flow.pk;
|
return this.instance?.configureFlow === flow.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -87,7 +87,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
|||||||
"Stage used to validate any authenticator. This stage should be used during authentication or authorization flows.",
|
"Stage used to validate any authenticator. This stage should be used during authentication or authorization flows.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -95,12 +95,12 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Device classes")}
|
label=${msg("Device classes")}
|
||||||
?required=${true}
|
required
|
||||||
name="deviceClasses"
|
name="deviceClasses"
|
||||||
>
|
>
|
||||||
<ak-checkbox-group
|
<ak-checkbox-group
|
||||||
@ -119,7 +119,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Last validation threshold")}
|
label=${msg("Last validation threshold")}
|
||||||
?required=${true}
|
required
|
||||||
name="lastAuthThreshold"
|
name="lastAuthThreshold"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -139,7 +139,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Not configured action")}
|
label=${msg("Not configured action")}
|
||||||
?required=${true}
|
required
|
||||||
name="notConfiguredAction"
|
name="notConfiguredAction"
|
||||||
>
|
>
|
||||||
<select
|
<select
|
||||||
@ -208,12 +208,12 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
|||||||
: html``}
|
: html``}
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("WebAuthn-specific settings")} </span>
|
<span slot="header"> ${msg("WebAuthn-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("WebAuthn User verification")}
|
label=${msg("WebAuthn User verification")}
|
||||||
?required=${true}
|
required
|
||||||
name="webauthnUserVerification"
|
name="webauthnUserVerification"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -255,7 +255,7 @@ export class AuthenticatorValidateStageForm extends BaseStageForm<AuthenticatorV
|
|||||||
"Optionally restrict which WebAuthn device types may be used. When no device types are selected, all devices are allowed.",
|
"Optionally restrict which WebAuthn device types may be used. When no device types are selected, all devices are allowed.",
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
<ak-alert ?inline=${true}>
|
<ak-alert inline>
|
||||||
${
|
${
|
||||||
/* TODO: Remove this after 2024.6..or maybe later? */
|
/* TODO: Remove this after 2024.6..or maybe later? */
|
||||||
msg(
|
msg(
|
||||||
|
|||||||
@ -53,7 +53,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
|||||||
"Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello).",
|
"Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello).",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -77,12 +77,12 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("User verification")}
|
label=${msg("User verification")}
|
||||||
?required=${true}
|
required
|
||||||
name="userVerification"
|
name="userVerification"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -109,7 +109,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Resident key requirement")}
|
label=${msg("Resident key requirement")}
|
||||||
?required=${true}
|
required
|
||||||
name="residentKeyRequirement"
|
name="residentKeyRequirement"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -140,7 +140,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Authenticator Attachment")}
|
label=${msg("Authenticator Attachment")}
|
||||||
?required=${true}
|
required
|
||||||
name="authenticatorAttachment"
|
name="authenticatorAttachment"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -226,7 +226,7 @@ export class AuthenticatorWebAuthnStageForm extends BaseStageForm<AuthenticatorW
|
|||||||
.selected=${(flow: Flow): boolean => {
|
.selected=${(flow: Flow): boolean => {
|
||||||
return this.instance?.configureFlow === flow.pk;
|
return this.instance?.configureFlow === flow.pk;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -39,7 +39,7 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
|||||||
"This stage checks the user's current session against the Google reCaptcha (or compatible) service.",
|
"This stage checks the user's current session against the Google reCaptcha (or compatible) service.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -47,12 +47,12 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Public Key")}
|
label=${msg("Public Key")}
|
||||||
?required=${true}
|
required
|
||||||
name="publicKey"
|
name="publicKey"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -129,11 +129,7 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
|||||||
<ak-form-group>
|
<ak-form-group>
|
||||||
<span slot="header"> ${msg("Advanced settings")} </span>
|
<span slot="header"> ${msg("Advanced settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("JS URL")} required name="jsUrl">
|
||||||
label=${msg("JS URL")}
|
|
||||||
?required=${true}
|
|
||||||
name="jsUrl"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="url"
|
type="url"
|
||||||
value="${ifDefined(
|
value="${ifDefined(
|
||||||
@ -151,11 +147,7 @@ export class CaptchaStageForm extends BaseStageForm<CaptchaStage> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("API URL")} required name="apiUrl">
|
||||||
label=${msg("API URL")}
|
|
||||||
?required=${true}
|
|
||||||
name="apiUrl"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="url"
|
type="url"
|
||||||
value="${ifDefined(
|
value="${ifDefined(
|
||||||
|
|||||||
@ -45,7 +45,7 @@ export class ConsentStageForm extends BaseStageForm<ConsentStage> {
|
|||||||
"Prompt for the user's consent. The consent can either be permanent or expire in a defined amount of time.",
|
"Prompt for the user's consent. The consent can either be permanent or expire in a defined amount of time.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -53,10 +53,10 @@ export class ConsentStageForm extends BaseStageForm<ConsentStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("Mode")} ?required=${true} name="mode">
|
<ak-form-element-horizontal label=${msg("Mode")} required name="mode">
|
||||||
<select
|
<select
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
@change=${(ev: Event) => {
|
@change=${(ev: Event) => {
|
||||||
@ -95,7 +95,7 @@ export class ConsentStageForm extends BaseStageForm<ConsentStage> {
|
|||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
?hidden=${!this.showExpiresIn}
|
?hidden=${!this.showExpiresIn}
|
||||||
label=${msg("Consent expires in")}
|
label=${msg("Consent expires in")}
|
||||||
?required=${true}
|
required
|
||||||
name="consentExpireIn"
|
name="consentExpireIn"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -36,7 +36,7 @@ export class DenyStageForm extends BaseStageForm<DenyStage> {
|
|||||||
"Statically deny the flow. To use this stage effectively, disable *Evaluate when flow is planned* on the respective binding.",
|
"Statically deny the flow. To use this stage effectively, disable *Evaluate when flow is planned* on the respective binding.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -44,7 +44,7 @@ export class DenyStageForm extends BaseStageForm<DenyStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("Deny message")} name="denyMessage">
|
<ak-form-element-horizontal label=${msg("Deny message")} name="denyMessage">
|
||||||
|
|||||||
@ -35,7 +35,7 @@ export class DummyStageForm extends BaseStageForm<DummyStage> {
|
|||||||
"Dummy stage used for testing. Shows a simple continue button and always passes.",
|
"Dummy stage used for testing. Shows a simple continue button and always passes.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
|
|||||||
@ -50,7 +50,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
return html`<ak-form-group>
|
return html`<ak-form-group>
|
||||||
<span slot="header"> ${msg("Connection settings")} </span>
|
<span slot="header"> ${msg("Connection settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("SMTP Host")} ?required=${true} name="host">
|
<ak-form-element-horizontal label=${msg("SMTP Host")} required name="host">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.host || "")}"
|
value="${ifDefined(this.instance?.host || "")}"
|
||||||
@ -58,7 +58,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("SMTP Port")} ?required=${true} name="port">
|
<ak-form-element-horizontal label=${msg("SMTP Port")} required name="port">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.port ?? 25}"
|
value="${this.instance?.port ?? 25}"
|
||||||
@ -108,11 +108,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
<span class="pf-c-switch__label">${msg("Use SSL")}</span>
|
<span class="pf-c-switch__label">${msg("Use SSL")}</span>
|
||||||
</label>
|
</label>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Timeout")} required name="timeout">
|
||||||
label=${msg("Timeout")}
|
|
||||||
?required=${true}
|
|
||||||
name="timeout"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.timeout ?? 30}"
|
value="${this.instance?.timeout ?? 30}"
|
||||||
@ -122,7 +118,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("From address")}
|
label=${msg("From address")}
|
||||||
?required=${true}
|
required
|
||||||
name="fromAddress"
|
name="fromAddress"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -142,7 +138,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
"Verify the user's email address by sending them a one-time-link. Can also be used for recovery to verify the user's authenticity.",
|
"Verify the user's email address by sending them a one-time-link. Can also be used for recovery to verify the user's authenticity.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -150,7 +146,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="activateUserOnSuccess">
|
<ak-form-element-horizontal name="activateUserOnSuccess">
|
||||||
@ -201,7 +197,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Token expiration")}
|
label=${msg("Token expiration")}
|
||||||
?required=${true}
|
required
|
||||||
name="tokenExpiry"
|
name="tokenExpiry"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -215,11 +211,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
</p>
|
</p>
|
||||||
<ak-utils-time-delta-help></ak-utils-time-delta-help>
|
<ak-utils-time-delta-help></ak-utils-time-delta-help>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Subject")} required name="subject">
|
||||||
label=${msg("Subject")}
|
|
||||||
?required=${true}
|
|
||||||
name="subject"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.subject ?? "authentik"}"
|
value="${this.instance?.subject ?? "authentik"}"
|
||||||
@ -227,11 +219,7 @@ export class EmailStageForm extends BaseStageForm<EmailStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Template")} required name="template">
|
||||||
label=${msg("Template")}
|
|
||||||
?required=${true}
|
|
||||||
name="template"
|
|
||||||
>
|
|
||||||
<select name="users" class="pf-c-form-control">
|
<select name="users" class="pf-c-form-control">
|
||||||
${this.templates?.map((template) => {
|
${this.templates?.map((template) => {
|
||||||
const selected = this.instance?.template === template.name;
|
const selected = this.instance?.template === template.name;
|
||||||
|
|||||||
@ -76,7 +76,7 @@ export class IdentificationStageForm extends BaseStageForm<IdentificationStage>
|
|||||||
return html`<span>
|
return html`<span>
|
||||||
${msg("Let the user identify themselves with their username or Email address.")}
|
${msg("Let the user identify themselves with their username or Email address.")}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -84,7 +84,7 @@ export class IdentificationStageForm extends BaseStageForm<IdentificationStage>
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("User fields")} name="userFields">
|
<ak-form-element-horizontal label=${msg("User fields")} name="userFields">
|
||||||
@ -196,11 +196,7 @@ export class IdentificationStageForm extends BaseStageForm<IdentificationStage>
|
|||||||
<ak-form-group>
|
<ak-form-group>
|
||||||
<span slot="header"> ${msg("Source settings")} </span>
|
<span slot="header"> ${msg("Source settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Sources")} required name="sources">
|
||||||
label=${msg("Sources")}
|
|
||||||
?required=${true}
|
|
||||||
name="sources"
|
|
||||||
>
|
|
||||||
<ak-dual-select-dynamic-selected
|
<ak-dual-select-dynamic-selected
|
||||||
.provider=${sourcesProvider}
|
.provider=${sourcesProvider}
|
||||||
.selector=${sourcesSelector(this.instance?.sources)}
|
.selector=${sourcesSelector(this.instance?.sources)}
|
||||||
|
|||||||
@ -41,12 +41,7 @@ export class InvitationForm extends ModelForm<Invitation, string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal
|
return html` <ak-form-element-horizontal slugMode label=${msg("Name")} required name="name">
|
||||||
?slugMode=${true}
|
|
||||||
label=${msg("Name")}
|
|
||||||
?required=${true}
|
|
||||||
name="name"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name || ""}"
|
value="${this.instance?.name || ""}"
|
||||||
@ -55,7 +50,7 @@ export class InvitationForm extends ModelForm<Invitation, string> {
|
|||||||
data-ak-slug="true"
|
data-ak-slug="true"
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Expires")} ?required=${true} name="expires">
|
<ak-form-element-horizontal label=${msg("Expires")} required name="expires">
|
||||||
<input
|
<input
|
||||||
type="datetime-local"
|
type="datetime-local"
|
||||||
data-type="datetime-local"
|
data-type="datetime-local"
|
||||||
|
|||||||
@ -33,7 +33,7 @@ export class InvitationStageForm extends BaseStageForm<InvitationStage> {
|
|||||||
return html` <span>
|
return html` <span>
|
||||||
${msg("This stage can be included in enrollment flows to accept invitations.")}
|
${msg("This stage can be included in enrollment flows to accept invitations.")}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name || ""}"
|
value="${this.instance?.name || ""}"
|
||||||
@ -41,7 +41,7 @@ export class InvitationStageForm extends BaseStageForm<InvitationStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="continueFlowWithoutInvitation">
|
<ak-form-element-horizontal name="continueFlowWithoutInvitation">
|
||||||
|
|||||||
@ -45,7 +45,7 @@ export class MTLSStageForm extends BaseStageForm<MutualTLSStage> {
|
|||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<span> ${msg("Client-certificate/mTLS authentication/enrollment.")} </span>
|
<span> ${msg("Client-certificate/mTLS authentication/enrollment.")} </span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -53,7 +53,7 @@ export class MTLSStageForm extends BaseStageForm<MutualTLSStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal label=${msg("Mode")} required name="mode">
|
<ak-form-element-horizontal label=${msg("Mode")} required name="mode">
|
||||||
|
|||||||
@ -82,14 +82,10 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Backends")} required name="backends">
|
||||||
label=${msg("Backends")}
|
|
||||||
?required=${true}
|
|
||||||
name="backends"
|
|
||||||
>
|
|
||||||
<ak-checkbox-group
|
<ak-checkbox-group
|
||||||
class="user-field-select"
|
class="user-field-select"
|
||||||
.options=${backends}
|
.options=${backends}
|
||||||
@ -103,7 +99,7 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Configuration flow")}
|
label=${msg("Configuration flow")}
|
||||||
?required=${true}
|
required
|
||||||
name="configureFlow"
|
name="configureFlow"
|
||||||
>
|
>
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
@ -141,7 +137,7 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
|||||||
}
|
}
|
||||||
return selected;
|
return selected;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
@ -152,7 +148,7 @@ export class PasswordStageForm extends BaseStageForm<PasswordStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Failed attempts before cancel")}
|
label=${msg("Failed attempts before cancel")}
|
||||||
?required=${true}
|
required
|
||||||
name="failedAttemptsBeforeCancel"
|
name="failedAttemptsBeforeCancel"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -203,7 +203,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderEditForm(): TemplateResult {
|
renderEditForm(): TemplateResult {
|
||||||
return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
return html` <ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name)}"
|
value="${ifDefined(this.instance?.name)}"
|
||||||
@ -217,7 +217,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
|||||||
${msg("Unique name of this field, used for selecting fields in prompt stages.")}
|
${msg("Unique name of this field, used for selecting fields in prompt stages.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Field Key")} ?required=${true} name="fieldKey">
|
<ak-form-element-horizontal label=${msg("Field Key")} required name="fieldKey">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.fieldKey)}"
|
value="${ifDefined(this.instance?.fieldKey)}"
|
||||||
@ -238,7 +238,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Label")} ?required=${true} name="label">
|
<ak-form-element-horizontal label=${msg("Label")} required name="label">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.label)}"
|
value="${ifDefined(this.instance?.label)}"
|
||||||
@ -252,7 +252,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
|||||||
${msg("Label shown next to/above the prompt.")}
|
${msg("Label shown next to/above the prompt.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Type")} ?required=${true} name="type">
|
<ak-form-element-horizontal label=${msg("Type")} required name="type">
|
||||||
<select
|
<select
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
@change=${() => {
|
@change=${() => {
|
||||||
@ -371,7 +371,7 @@ export class PromptForm extends ModelForm<Prompt, string> {
|
|||||||
</ak-codemirror>
|
</ak-codemirror>
|
||||||
<p class="pf-c-form__helper-text">${msg("Any HTML can be used.")}</p>
|
<p class="pf-c-form__helper-text">${msg("Any HTML can be used.")}</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Order")} ?required=${true} name="order">
|
<ak-form-element-horizontal label=${msg("Order")} required name="order">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="${this.instance?.order ?? 0}"
|
value="${this.instance?.order ?? 0}"
|
||||||
|
|||||||
@ -47,7 +47,7 @@ export class PromptStageForm extends BaseStageForm<PromptStage> {
|
|||||||
"Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable.",
|
"Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -55,14 +55,10 @@ export class PromptStageForm extends BaseStageForm<PromptStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal label=${msg("Fields")} required name="fields">
|
||||||
label=${msg("Fields")}
|
|
||||||
?required=${true}
|
|
||||||
name="fields"
|
|
||||||
>
|
|
||||||
<ak-dual-select-dynamic-selected
|
<ak-dual-select-dynamic-selected
|
||||||
.provider=${promptFieldsProvider}
|
.provider=${promptFieldsProvider}
|
||||||
.selector=${promptFieldsSelector(this.instance?.fields)}
|
.selector=${promptFieldsSelector(this.instance?.fields)}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ export class SourceStageForm extends BaseStageForm<SourceStage> {
|
|||||||
"Inject an OAuth or SAML Source into the flow execution. This allows for additional user verification, or to dynamically access different sources for different user identifiers (username, email address, etc).",
|
"Inject an OAuth or SAML Source into the flow execution. This allows for additional user verification, or to dynamically access different sources for different user identifiers (username, email address, etc).",
|
||||||
)}</span
|
)}</span
|
||||||
>
|
>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -52,7 +52,7 @@ export class SourceStageForm extends BaseStageForm<SourceStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Source")} ?required=${true} name="source">
|
<ak-form-element-horizontal label=${msg("Source")} required name="source">
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
.fetchObjects=${async (query?: string): Promise<Source[]> => {
|
.fetchObjects=${async (query?: string): Promise<Source[]> => {
|
||||||
const args: SourcesAllListRequest = {
|
const args: SourcesAllListRequest = {
|
||||||
@ -81,7 +81,7 @@ export class SourceStageForm extends BaseStageForm<SourceStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Resume timeout")}
|
label=${msg("Resume timeout")}
|
||||||
?required=${true}
|
required
|
||||||
name="resumeTimeout"
|
name="resumeTimeout"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@ -35,7 +35,7 @@ export class UserDeleteStageForm extends BaseStageForm<UserDeleteStage> {
|
|||||||
"Delete the currently pending user. CAUTION, this stage does not ask for confirmation. Use a consent stage to ensure the user is aware of their actions.",
|
"Delete the currently pending user. CAUTION, this stage does not ask for confirmation. Use a consent stage to ensure the user is aware of their actions.",
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
|
|||||||
@ -33,7 +33,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <span>${msg("Log the currently pending user in.")}</span>
|
return html` <span>${msg("Log the currently pending user in.")}</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.name ?? ""}"
|
value="${this.instance?.name ?? ""}"
|
||||||
@ -41,12 +41,12 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Session duration")}
|
label=${msg("Session duration")}
|
||||||
?required=${true}
|
required
|
||||||
name="sessionDuration"
|
name="sessionDuration"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -63,7 +63,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
<ak-utils-time-delta-help></ak-utils-time-delta-help>
|
<ak-utils-time-delta-help></ak-utils-time-delta-help>
|
||||||
<ak-alert ?inline=${true}>
|
<ak-alert inline>
|
||||||
${msg(
|
${msg(
|
||||||
"Different browsers handle session cookies differently, and might not remove them even when the browser is closed.",
|
"Different browsers handle session cookies differently, and might not remove them even when the browser is closed.",
|
||||||
)}
|
)}
|
||||||
@ -77,7 +77,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Stay signed in offset")}
|
label=${msg("Stay signed in offset")}
|
||||||
?required=${true}
|
required
|
||||||
name="rememberMeOffset"
|
name="rememberMeOffset"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -97,7 +97,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("Network binding")}
|
label=${msg("Network binding")}
|
||||||
?required=${true}
|
required
|
||||||
name="networkBinding"
|
name="networkBinding"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
@ -131,7 +131,7 @@ export class UserLoginStageForm extends BaseStageForm<UserLoginStage> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${msg("GeoIP binding")}
|
label=${msg("GeoIP binding")}
|
||||||
?required=${true}
|
required
|
||||||
name="geoipBinding"
|
name="geoipBinding"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
|
|||||||
@ -31,7 +31,7 @@ export class UserLogoutStageForm extends BaseStageForm<UserLogoutStage> {
|
|||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html` <span>${msg("Remove the user from the current session.")}</span>
|
return html` <span>${msg("Remove the user from the current session.")}</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
|
|||||||
@ -47,7 +47,7 @@ export class UserWriteStageForm extends BaseStageForm<UserWriteStage> {
|
|||||||
is pending, a new user is created, and data is written to them.`,
|
is pending, a new user is created, and data is written to them.`,
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
<ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
|
<ak-form-element-horizontal label=${msg("Name")} required name="name">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.name || "")}"
|
value="${ifDefined(this.instance?.name || "")}"
|
||||||
@ -55,7 +55,7 @@ export class UserWriteStageForm extends BaseStageForm<UserWriteStage> {
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-group .expanded=${true}>
|
<ak-form-group expanded>
|
||||||
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
<span slot="header"> ${msg("Stage-specific settings")} </span>
|
||||||
<div slot="body" class="pf-c-form">
|
<div slot="body" class="pf-c-form">
|
||||||
<ak-form-element-horizontal name="userCreationMode">
|
<ak-form-element-horizontal name="userCreationMode">
|
||||||
@ -183,7 +183,7 @@ export class UserWriteStageForm extends BaseStageForm<UserWriteStage> {
|
|||||||
.selected=${(group: Group): boolean => {
|
.selected=${(group: Group): boolean => {
|
||||||
return group.pk === this.instance?.createUsersGroup;
|
return group.pk === this.instance?.createUsersGroup;
|
||||||
}}
|
}}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
<p class="pf-c-form__helper-text">
|
<p class="pf-c-form__helper-text">
|
||||||
|
|||||||
@ -58,7 +58,7 @@ export class TokenForm extends ModelForm<Token, string> {
|
|||||||
return html` <ak-form-element-horizontal
|
return html` <ak-form-element-horizontal
|
||||||
label=${msg("Identifier")}
|
label=${msg("Identifier")}
|
||||||
name="identifier"
|
name="identifier"
|
||||||
?required=${true}
|
required
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
@ -72,7 +72,7 @@ export class TokenForm extends ModelForm<Token, string> {
|
|||||||
${msg("Unique identifier the token is referenced by.")}
|
${msg("Unique identifier the token is referenced by.")}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("User")} ?required=${true} name="user">
|
<ak-form-element-horizontal label=${msg("User")} required name="user">
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
.fetchObjects=${async (query?: string): Promise<User[]> => {
|
||||||
const args: CoreUsersListRequest = {
|
const args: CoreUsersListRequest = {
|
||||||
@ -99,7 +99,7 @@ export class TokenForm extends ModelForm<Token, string> {
|
|||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Intent")} ?required=${true} name="intent">
|
<ak-form-element-horizontal label=${msg("Intent")} required name="intent">
|
||||||
<ak-radio
|
<ak-radio
|
||||||
.options=${[
|
.options=${[
|
||||||
{
|
{
|
||||||
|
|||||||
@ -54,11 +54,7 @@ export class ServiceAccountForm extends Form<UserServiceAccountRequest> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal label=${msg("Username")} required name="name">
|
||||||
label=${msg("Username")}
|
|
||||||
?required=${true}
|
|
||||||
name="name"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value=""
|
value=""
|
||||||
@ -73,7 +69,7 @@ export class ServiceAccountForm extends Form<UserServiceAccountRequest> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal name="createGroup">
|
<ak-form-element-horizontal name="createGroup">
|
||||||
<label class="pf-c-switch">
|
<label class="pf-c-switch">
|
||||||
<input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
|
<input class="pf-c-switch__input" type="checkbox" checked />
|
||||||
<span class="pf-c-switch__toggle">
|
<span class="pf-c-switch__toggle">
|
||||||
<span class="pf-c-switch__toggle-icon">
|
<span class="pf-c-switch__toggle-icon">
|
||||||
<i class="fas fa-check" aria-hidden="true"></i>
|
<i class="fas fa-check" aria-hidden="true"></i>
|
||||||
@ -89,7 +85,7 @@ export class ServiceAccountForm extends Form<UserServiceAccountRequest> {
|
|||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal name="expiring">
|
<ak-form-element-horizontal name="expiring">
|
||||||
<label class="pf-c-switch">
|
<label class="pf-c-switch">
|
||||||
<input class="pf-c-switch__input" type="checkbox" ?checked=${true} />
|
<input class="pf-c-switch__input" type="checkbox" checked />
|
||||||
<span class="pf-c-switch__toggle">
|
<span class="pf-c-switch__toggle">
|
||||||
<span class="pf-c-switch__toggle-icon">
|
<span class="pf-c-switch__toggle-icon">
|
||||||
<i class="fas fa-check" aria-hidden="true"></i>
|
<i class="fas fa-check" aria-hidden="true"></i>
|
||||||
|
|||||||
@ -81,11 +81,7 @@ export class UserForm extends ModelForm<User, number> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal label=${msg("Username")} required name="username">
|
||||||
label=${msg("Username")}
|
|
||||||
?required=${true}
|
|
||||||
name="username"
|
|
||||||
>
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.instance?.username)}"
|
value="${ifDefined(this.instance?.username)}"
|
||||||
@ -106,7 +102,7 @@ export class UserForm extends ModelForm<User, number> {
|
|||||||
/>
|
/>
|
||||||
<p class="pf-c-form__helper-text">${msg("User's display name.")}</p>
|
<p class="pf-c-form__helper-text">${msg("User's display name.")}</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("User type")} ?required=${true} name="type">
|
<ak-form-element-horizontal label=${msg("User type")} required name="type">
|
||||||
<ak-radio
|
<ak-radio
|
||||||
.options=${[
|
.options=${[
|
||||||
{
|
{
|
||||||
@ -172,7 +168,7 @@ export class UserForm extends ModelForm<User, number> {
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal label=${msg("Path")} ?required=${true} name="path">
|
<ak-form-element-horizontal label=${msg("Path")} required name="path">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value="${this.instance?.path ?? this.defaultPath}"
|
value="${this.instance?.path ?? this.defaultPath}"
|
||||||
|
|||||||
@ -26,11 +26,7 @@ export class UserPasswordForm extends Form<UserPasswordSetRequest> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal label=${msg("Password")} required name="password">
|
||||||
label=${msg("Password")}
|
|
||||||
?required=${true}
|
|
||||||
name="password"
|
|
||||||
>
|
|
||||||
<input type="password" value="" class="pf-c-form-control" required />
|
<input type="password" value="" class="pf-c-form-control" required />
|
||||||
</ak-form-element-horizontal>`;
|
</ak-form-element-horizontal>`;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,7 +67,7 @@ export class UserPermissionForm extends ModelForm<UserPermissionAssign, number>
|
|||||||
<ak-chip-group>
|
<ak-chip-group>
|
||||||
${this.permissionsToAdd.map((permission) => {
|
${this.permissionsToAdd.map((permission) => {
|
||||||
return html`<ak-chip
|
return html`<ak-chip
|
||||||
.removable=${true}
|
removable
|
||||||
value=${`${permission.appLabel}.${permission.codename}`}
|
value=${`${permission.appLabel}.${permission.codename}`}
|
||||||
@remove=${() => {
|
@remove=${() => {
|
||||||
const idx = this.permissionsToAdd.indexOf(permission);
|
const idx = this.permissionsToAdd.indexOf(permission);
|
||||||
|
|||||||
@ -34,7 +34,7 @@ export class UserResetEmailForm extends Form<CoreUsersRecoveryEmailCreateRequest
|
|||||||
renderForm(): TemplateResult {
|
renderForm(): TemplateResult {
|
||||||
return html`<ak-form-element-horizontal
|
return html`<ak-form-element-horizontal
|
||||||
label=${msg("Email stage")}
|
label=${msg("Email stage")}
|
||||||
?required=${true}
|
required
|
||||||
name="emailStage"
|
name="emailStage"
|
||||||
>
|
>
|
||||||
<ak-search-select
|
<ak-search-select
|
||||||
|
|||||||
@ -260,7 +260,7 @@ export class UserViewPage extends WithCapabilitiesConfig(AKElement) {
|
|||||||
|
|
||||||
renderTabCredentialsToken(user: User): TemplateResult {
|
renderTabCredentialsToken(user: User): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<ak-tabs pageIdentifier="userCredentialsTokens" ?vertical=${true}>
|
<ak-tabs pageIdentifier="userCredentialsTokens" vertical>
|
||||||
<section
|
<section
|
||||||
slot="page-sessions"
|
slot="page-sessions"
|
||||||
data-tab-title="${msg("Sessions")}"
|
data-tab-title="${msg("Sessions")}"
|
||||||
|
|||||||
@ -48,7 +48,7 @@ export const AppIcon = () => {
|
|||||||
</dd>
|
</dd>
|
||||||
<dt>Programmatically Good</dt><dd>
|
<dt>Programmatically Good</dt><dd>
|
||||||
|
|
||||||
<ak-status-label ?good=${true}></ak-status-label>
|
<ak-status-label good></ak-status-label>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
<dt>Programmatically Bad</dt><dd>
|
<dt>Programmatically Bad</dt><dd>
|
||||||
|
|||||||
@ -199,7 +199,7 @@ export class TreeView extends AKElement {
|
|||||||
<ak-treeview-node
|
<ak-treeview-node
|
||||||
.item=${rootItem}
|
.item=${rootItem}
|
||||||
activePath=${this.activePath}
|
activePath=${this.activePath}
|
||||||
?open=${true}
|
open
|
||||||
separator=${this.separator}
|
separator=${this.separator}
|
||||||
.host=${this}
|
.host=${this}
|
||||||
></ak-treeview-node>
|
></ak-treeview-node>
|
||||||
|
|||||||
@ -73,7 +73,7 @@ export class MockSearch extends CustomListenerElement(AKElement) {
|
|||||||
.selected=${this.selected}
|
.selected=${this.selected}
|
||||||
managed
|
managed
|
||||||
@ak-change=${this.handleSearchUpdate}
|
@ak-change=${this.handleSearchUpdate}
|
||||||
?blankable=${true}
|
blankable
|
||||||
>
|
>
|
||||||
</ak-search-select>
|
</ak-search-select>
|
||||||
`;
|
`;
|
||||||
|
|||||||
@ -97,7 +97,7 @@ export class UserOAuthAccessTokenList extends Table<TokenModel> {
|
|||||||
: msg("-")}`,
|
: msg("-")}`,
|
||||||
html`<ak-chip-group>
|
html`<ak-chip-group>
|
||||||
${item.scope.sort().map((scope) => {
|
${item.scope.sort().map((scope) => {
|
||||||
return html`<ak-chip .removable=${false}>${scope}</ak-chip>`;
|
return html`<ak-chip>${scope}</ak-chip>`;
|
||||||
})}
|
})}
|
||||||
</ak-chip-group>`,
|
</ak-chip-group>`,
|
||||||
];
|
];
|
||||||
|
|||||||
@ -98,7 +98,7 @@ export class UserOAuthRefreshTokenList extends Table<TokenModel> {
|
|||||||
: msg("-")}`,
|
: msg("-")}`,
|
||||||
html`<ak-chip-group>
|
html`<ak-chip-group>
|
||||||
${item.scope.sort().map((scope) => {
|
${item.scope.sort().map((scope) => {
|
||||||
return html`<ak-chip .removable=${false}>${scope}</ak-chip>`;
|
return html`<ak-chip>${scope}</ak-chip>`;
|
||||||
})}
|
})}
|
||||||
</ak-chip-group>`,
|
</ak-chip-group>`,
|
||||||
];
|
];
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user