Add user picker for 'Assign to user' option in Guacamole Windows and Linux VM create forms - #5053
Add user picker for 'Assign to user' option in Guacamole Windows and Linux VM create forms#5053Jonny Rylands (jonnyry) wants to merge 1 commit into
Conversation
…Linux VM create forms
There was a problem hiding this comment.
Pull request overview
Adds a workspace-user picker to Guacamole VM creation forms, replacing manual owner ID entry.
Changes:
- Adds and integrates
WorkspaceUserPicker. - Updates Linux/Windows VM schemas for user selection.
- Bumps component versions and updates the changelog.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
WorkspaceUserPickerWidget.tsx |
Adds the workspace-user dropdown. |
ResourceForm.tsx |
Registers the widget and passes workspace context. |
CreateUpdateResource.tsx |
Supplies the workspace ID to forms. |
ui/app/package.json |
Bumps the UI version. |
ui/app/package-lock.json |
Synchronizes the UI lockfile version. |
Windows template_schema.json |
Configures the owner picker. |
Windows porter.yaml |
Bumps the bundle version. |
Linux template_schema.json |
Configures the owner picker. |
Linux porter.yaml |
Bumps the bundle version. |
CHANGELOG.md |
Documents the enhancement. |
Files not reviewed (1)
- ui/app/package-lock.json: Generated file
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| userPrincipalName: string; | ||
| } | ||
|
|
||
| export const WorkspaceUserPickerWidget: React.FunctionComponent<WidgetProps> = (props) => { |
| schemaVersion: 1.0.0 | ||
| name: tre-service-guacamole-linuxvm | ||
| version: 1.4.5 | ||
| version: 1.4.6 |
| schemaVersion: 1.0.0 | ||
| name: tre-service-guacamole-windowsvm | ||
| version: 3.0.2 | ||
| version: 3.0.3 |
| { | ||
| "name": "tre-ui", | ||
| "version": "0.8.31", | ||
| "version": "0.8.32", |
Unit Test Results241 tests 241 ✅ 16s ⏱️ Results for commit 9333d0c. |
|
This repo already has an established pattern for user selection that scales well — see The new Could we reuse the One thing to confirm: |
This pull request introduces a user-friendly user picker for the "Assign to user" option in the Guacamole Windows and Linux VM creation forms. The main enhancement is the addition of a
WorkspaceUserPickerwidget, which allows users to select from a list of workspace users instead of manually entering a user ID. This improves usability and reduces errors when assigning VMs.User Assignment Improvements:
WorkspaceUserPickerwidget to the Guacamole Windows and Linux VM resource forms, allowing users to select a workspace user from a dropdown instead of entering an Object ID. (ui/app/src/components/shared/create-update-resource/WorkspaceUserPickerWidget.tsx,templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/template_schema.json,templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/template_schema.json, [1] [2] [3]owner_idproperty in the VM templates to use the new user picker, including schema and UI changes for better validation and display. (templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/template_schema.json,templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/template_schema.json, [1] [2]UI and Integration Updates:
workspaceId,workspaceApplicationIdURI) through form components to support the user picker widget. (ui/app/src/components/shared/create-update-resource/CreateUpdateResource.tsx,ui/app/src/components/shared/create-update-resource/ResourceForm.tsx, [1] [2] [3]ui/app/src/components/shared/create-update-resource/ResourceForm.tsx, ui/app/src/components/shared/create-update-resource/ResourceForm.tsxR13-R17)Versioning and Documentation:
templates/workspace_services/guacamole/user_resources/guacamole-azure-linuxvm/porter.yaml,templates/workspace_services/guacamole/user_resources/guacamole-azure-windowsvm/porter.yaml,ui/app/package.json,ui/app/package-lock.json, [1] [2] [3] [4]CHANGELOG.md, CHANGELOG.mdR6)