Skip to content

Personal controller: define the composed isMutable helper the /mutable endpoint calls - #6963

Merged
delchev merged 1 commit into
masterfrom
fix-mycontroller-ismutable
Aug 27, 2026
Merged

Personal controller: define the composed isMutable helper the /mutable endpoint calls#6963
delchev merged 1 commit into
masterfrom
fix-mycontroller-ismutable

Conversation

@delchev

@delchev delchev commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

The EntityMyController.java.template emits the /{id}/mutable immutability pre-check endpoint under #if($immutableAlways || $immutableStatusProperty) but never defines isMutable — only the power controller template does. Any entity combining personal: with immutable: / immutableWhen: / immutableInPeriod: generates a My controller that fails to compile (cannot find symbol: method isMutable).

This mirrors the power controller's composed helper verbatim into the same #if($immutableAlways || $immutableStatusProperty || $periodLock) block that carries requireMutable.

Verified downstream: regenerating BusinessIntents base-timesheets (EmployeeTimesheet: personal: + immutableWhen) from a registry-patched 14.36.0 template produces exactly the missing 6-line helper and the module's AOT compile gate goes green.

Coverage follow-up (not in this PR): IntentEmissionCoverageIT's fixtures have no entity combining personal: with an immutability keyword; adding one would catch this class at PR time.

Fixes #6962

🤖 Generated with Claude Code

…e endpoint calls

The My template emits the /{id}/mutable pre-check endpoint but only the
power controller template defines isMutable - a personal entity with any
immutability keyword generated a controller that does not compile.
Mirror the power controller's composed helper verbatim.

Fixes #6962

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@delchev
delchev merged commit 51d3a48 into master Aug 27, 2026
10 checks passed
@delchev
delchev deleted the fix-mycontroller-ismutable branch August 27, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Personal (My) controller emits /{id}/mutable calling isMutable(...) that is never defined

1 participant