hk2166 opened a new pull request, #16777:
URL: https://github.com/apache/grails-core/pull/16777
## Description
Fixes the misplaced text reported in #15910, which is still present in
`grails-doc/src/en/guide/security/securityPlugins/springSecurity/ui/userRegistration.adoc`:
| Before | After |
|---|---|
| The `postRegisterUrl = '/welcome'` example followed the paragraph about
default roles | It follows the sentence that introduces `postRegisterUrl` |
| The two `defaultRoleNames` examples (`[]` and `['ROLE_CUSTOMER']`) sat
under **Mail configuration**, after the `emailBody` explanation | They follow
the paragraph about default roles, before **E-Mail Validation Parameter** |
The issue also asked for advice up front about the e-mail requirement. The
Registration section now says that the registration form always collects an
e-mail address and stores it on the new user, so the User domain class needs an
`email` field even when e-mail validation is turned off. The existing note
under **Notes** says the same at the end of the section.
**Correction to my comment on #15910:** I wrote there that
`requireEmailValidation = false` avoids the `email` field. It doesn't.
`RegisterCommand` declares `email` with an `email: true` constraint (not
nullable), and `SpringSecurityUiService.createUser` always sets `email:
command.email` on the new user. `requireEmailValidation` only controls whether
the verification e-mail is sent. The new sentence states the correct behaviour.
**Branch:** my comment on #15910 said 7.2.x. This targets 7.0.x instead,
following the guidance on #14185 to fix docs on the 7.0.x line so that the
merge up carries the fix everywhere. The file is identical on 7.0.x and 7.2.x.
### Verification
- `./gradlew :grails-doc:publishGuide -x aggregateGroovydoc` builds without
AsciiDoctor warnings. This was run on 7.2.x, where the file is identical.
- In the generated `single.html`, the e-mail note, the `postRegisterUrl`
sentence and example, the default-target sentence, the default-roles paragraph
and both `defaultRoleNames` examples, and the E-Mail Validation Parameter, Mail
configuration and Notes headings all appear in the intended order. Each setting
appears exactly once.
Fixes #15910
Generative AI tooling (Claude Code) was used to research the plugin's
behaviour and prepare this change.
## Contributor Checklist
Please review the following checklist before submitting your pull request.
Pull requests that do not meet these requirements may be closed without review.
### Issue and Scope
- [x] This PR is linked to an existing issue that has been **acknowledged or
approved** by the project team. If no approved issue exists, please give
background on why this change is necessary. Tickets are preferred for release
change log history.
- [x] This PR addresses the **complete scope** of the linked issue. Partial
implementations or unfinished work should not be submitted for review. *(Fixes
both misplaced sections and adds the up-front e-mail advice. The issue's
closing idea, a guide on customizing `RegisterController` and
`RegisterCommand`, was offered by its author as optional and is left out.)*
- [x] This PR contains a **single, focused change**. Unrelated changes
should be submitted as separate pull requests.
- [x] This PR targets the **correct branch** for the type of change:
- **Patch release branches** (e.g., `7.0.x`): Bug fixes only. No new
features or API changes.
- **Minor release branches** (e.g., `7.1.x`): New features are welcome,
but breaking existing APIs must be avoided.
- **Major release branches** (e.g., `8.0.x`): Reserved for major
changes. Breaking API changes are permitted.
### Code Quality
- [ ] I have **added or updated tests** that cover the changes introduced in
this PR. All code contributions are expected to include appropriate test
coverage. *(Documentation-only change; verified by building the guide, see
above.)*
- [ ] I have verified that all existing tests pass by running `./gradlew
build --rerun-tasks`. *(Not run; documentation-only change.)*
- [ ] My code follows the project's **code style** guidelines. I have run
`./gradlew codeStyle` and resolved any violations. See [Code
Style](../CONTRIBUTING.md#code-style) for details. *(Not applicable to `.adoc`
files.)*
- [x] This PR does **not** include mass reformatting, style-only changes, or
large-scale refactoring unless it was **explicitly approved** in the linked
issue. Unsolicited reformatting will not be accepted.
- [x] If generative AI tooling was used in preparing this contribution, a
quality model was used to ensure contributions are **consistent with the
project's quality standards**.
### Licensing and Attribution
- [x] All contributed code is provided under the [Apache License
2.0](https://www.apache.org/licenses/LICENSE-2.0), and new source files include
the appropriate **Apache license header**.
- [ ] I have the necessary rights to submit this contribution and confirm it
is my own original work (see [Legal
Notice](../CONTRIBUTING.md#i-want-to-contribute)).
- [x] If generative AI tooling was used in preparing this contribution, I
have followed the [Apache Software Foundation's policy on generative
tooling](https://www.apache.org/legal/generative-tooling.html) and have
properly attributed its use.
### Documentation
- [x] If this PR introduces user-facing changes, I have included or updated
the relevant documentation.
- [x] If this PR adds a new feature, I have updated the **What's New**
section of the Grails Guide.
- [x] If this PR introduces breaking changes or changes that require user
action during an upgrade, I have updated the **Upgrade Notes** for the
corresponding version in the Grails Guide.
- [x] The PR description clearly explains **what** was changed and **why**.
---
> **First-time contributors:** Please read our [Contributing
Guide](../CONTRIBUTING.md) before submitting.
> Pull requests that appear to be auto-generated, incomplete, or unrelated
to an approved issue may be
> closed to help maintainers focus on reviewed and planned work. We
appreciate your understanding.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]