@@ -13,13 +13,14 @@ import { showAPIErrorMessage } from "#elements/messages/MessageContainer";
1313import { paramURL } from "#elements/router/RouterOutlet" ;
1414import { SlottedTemplateResult } from "#elements/types" ;
1515
16+ import { AccessRequestFulfillForm } from "#user/requests/AccessRequestFulfillForm" ;
1617import Styles from "#user/user-settings/styles.css" ;
1718
1819import { GrantRequest , RequestsApi } from "@goauthentik/api" ;
1920
2021import { msg } from "@lit/localize" ;
21- import { CSSResult , html , nothing } from "lit" ;
22- import { customElement , state } from "lit/decorators.js" ;
22+ import { CSSResult , html , nothing , PropertyValues } from "lit" ;
23+ import { customElement , property , state } from "lit/decorators.js" ;
2324
2425import PFBanner from "@patternfly/patternfly/components/Banner/banner.css" ;
2526import PFContent from "@patternfly/patternfly/components/Content/content.css" ;
@@ -32,6 +33,9 @@ export class AccessRequestsPage extends AKElement {
3233 @state ( )
3334 toReview ?: PaginatedResponse < GrantRequest > ;
3435
36+ @property ( { attribute : "request-to-fulfill" } )
37+ requestToFulfill : string | null = null ;
38+
3539 override async connectedCallback ( ) : Promise < void > {
3640 super . connectedCallback ( ) ;
3741 try {
@@ -41,6 +45,21 @@ export class AccessRequestsPage extends AKElement {
4145 }
4246 }
4347
48+ protected updated ( changedProperties : PropertyValues ) : void {
49+ super . updated ( changedProperties ) ;
50+ if ( changedProperties . has ( "requestToFulfill" ) && this . requestToFulfill !== null ) {
51+ aki ( RequestsApi )
52+ . requestsGrantRequestsRetrieve ( {
53+ uuid : this . requestToFulfill ,
54+ } )
55+ . then ( ( req ) => {
56+ const form = new AccessRequestFulfillForm ( ) ;
57+ form . request = req ;
58+ form . showModal ( ) ;
59+ } ) ;
60+ }
61+ }
62+
4463 protected override render ( ) : SlottedTemplateResult {
4564 return html `< div class ="pf-c-page ">
4665 < div class ="pf-c-page__main ">
0 commit comments