feat(users and groups): re-use add account dialog when editing accounts#59406
Open
pringelmann wants to merge 8 commits intomasterfrom
Open
feat(users and groups): re-use add account dialog when editing accounts#59406pringelmann wants to merge 8 commits intomasterfrom
pringelmann wants to merge 8 commits intomasterfrom
Conversation
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
…oint Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Add atomic multi-field user update with collected validation errors, IAppConfig migration, and corresponding Vuex store action/mutation. Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Replace inline row editing in user management with a modal dialog. Extract shared form fields into UserFormFields with sub-components (Groups, Quota, Language, Manager) using a single formData prop. Normalize newUser shape to API-aligned field names. Refs: #40903 -e Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
-e Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Mirror editUser permission checks in editUserMultiField. Swap NcSelect :user-select for NcSelectUsers. Extract helpers into userFormUtils.ts. Simplify UserList form init, drop unused Vue import. Update E2E tests. -e Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
-e Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
…ield Map empty string to userId since User::setDisplayName() rejects "" -e Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
86a44d9 to
e435b4c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces inline user editing in Account management settings with a dialog. Clicking the "Edit" pencil icon on a user row now opens a modal form instead of making the row editable in-place.
Adds a new
PATCH /cloud/users/{userId}endpoint that accepts multiple fields in a single request and validates them all before applying any changes. On validation failure, returns a per-field error map so the dialog can show errors inline.Closes #40903
Changes
Backend (
provisioning_api)editUserMultiFieldcontroller method - spec compliant PATCH semantics (null = not submitted),validate-then-apply, per-field errors
editUserPUT: quota/manager restricted to admins andsubadmins, delegated admins blocked from promoting to the
admingroup,force_languagesystem config respected
Frontend (
settings)EditUserDialog: structured snapshot + dirty detection,only sends changed fields
UserFormFieldsused by both "Edit" and "Add" dialogs. Complex fields(groups, quota, language, manager) split into focused sub-components
provide/injectfor shared form state across sub-components. This avoids prop drillingand
vue/no-mutating-propslint violationsUserRowis now purely presentational (all inline editing code removed)Screenshots
Kooha-2026-04-02-18-15-19.webm
Checklist
3. to review, settings)