diff --git a/web/src/admin/events/RuleForm.ts b/web/src/admin/events/RuleForm.ts
index 294520779..c7e2e6e2e 100644
--- a/web/src/admin/events/RuleForm.ts
+++ b/web/src/admin/events/RuleForm.ts
@@ -1,4 +1,5 @@
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
+import "@goauthentik/elements/SearchSelect";
import "@goauthentik/elements/forms/HorizontalFormElement";
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
@@ -9,7 +10,14 @@ import { customElement } from "lit/decorators.js";
import { ifDefined } from "lit/directives/if-defined.js";
import { until } from "lit/directives/until.js";
-import { CoreApi, EventsApi, NotificationRule, SeverityEnum } from "@goauthentik/api";
+import {
+ CoreApi,
+ CoreGroupsListRequest,
+ EventsApi,
+ Group,
+ NotificationRule,
+ SeverityEnum,
+} from "@goauthentik/api";
@customElement("ak-event-rule-form")
export class RuleForm extends ModelForm {
@@ -74,24 +82,29 @@ export class RuleForm extends ModelForm {
/>
-
+ => {
+ const args: CoreGroupsListRequest = {
+ ordering: "name",
+ };
+ if (query !== undefined) {
+ args.search = query;
+ }
+ const groups = await new CoreApi(DEFAULT_CONFIG).coreGroupsList(args);
+ return groups.results;
+ }}
+ .renderElement=${(group: Group): string => {
+ return group.name;
+ }}
+ .value=${(group: Group | undefined): string | undefined => {
+ return group?.pk;
+ }}
+ .selected=${(group: Group): boolean => {
+ return group.pk === this.instance?.group;
+ }}
+ ?blankable=${true}
+ >
+
-
+ => {
+ const args: CoreGroupsListRequest = {
+ ordering: "name",
+ };
+ if (query !== undefined) {
+ args.search = query;
+ }
+ const groups = await new CoreApi(DEFAULT_CONFIG).coreGroupsList(args);
+ return groups.results;
+ }}
+ .renderElement=${(group: Group): string => {
+ return group.name;
+ }}
+ .value=${(group: Group | undefined): string | undefined => {
+ return group?.pk;
+ }}
+ .selected=${(group: Group): boolean => {
+ return group.pk === this.instance?.parent;
+ }}
+ ?blankable=${true}
+ >
+