intent: a transitions: button cannot ask for input - Void needs a mandatory reason and date stamped with the move
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by reading the transition handling for TransitionIntent and compare it with the generates: prompt implementation referenced as issue #6685. Trace how status moves write fields and how immutableWhen and requiredWhen are enforced. Done means a transition can collect and validate its own field values in the same write as the status change, with missing required answers rejected without moving the record.
Written by the indexing model from the issue text.
Description
What happens
transitions: (TransitionIntent: name, forEntity, from, setStatus, when, label, icon, order, notify on v14.88.0 and v14.90.0) is a one-click status move. A move that the law requires to carry data has no way to collect it:
- BG annulment of an issued invoice (ЗДДС чл. 116, reviewer Q56/Q57): Void must record a reason (mandatory) and the date of the annulment, optionally the replacing invoice. The invoice is
immutableWhen-locked from APPROVED, so the clerk cannot type the reason on the record before pressing Void either - the lock (correctly) refuses the edit. generates:hasprompt:(#6685) for exactly this kind of "ask, then act", but a prompt writes the TARGET of a create-from, not the record being moved.
BusinessIntents base-sales-invoices#92 parts 2 (reason + date) and 3 (ReplacedBy) wait on this.
Ask
prompt: on a transition, the same grammar as the generates prompt, writing the record's OWN fields in the same targeted write as the status move (so immutableWhen does not refuse it, and a gated requiredWhen on the target status can enforce the reason):
transitions:
- name: VoidSalesInvoice
forEntity: SalesInvoice
from: [3, 4]
setStatus: 9
prompt:
- { field: voidReason, required: true }
- { field: voidedOn, default: now }
- { field: ReplacedBy } # optional to-one
Fields named by prompt: are written only through the transition (readOnly in the form otherwise). A missing required prompt answer is a 400 with the field named, and the move does not happen.
Filed from BusinessIntents base-sales-invoices#92 (pre-train wave 2026-10-17).
- Dominant language
- Java
- Stars
- 278
- Forks
- 97
- Avg merge
- 18h 53m
- Merged PRs (30d)
- 228
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from eclipse-dirigible/dirigible
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
eclipse-dirigible/dirigible#7958 ·
Maintainers usually reply within 1 day
-
intent: a create-from without fromStatus answers 200 on a missing or unknown source id (no 400/404)Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
eclipse-dirigible/dirigible#7945 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
eclipse-dirigible/dirigible#7891 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
eclipse-dirigible/dirigible#6538 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
eclipse-dirigible/dirigible#4812 ·
Maintainers usually reply within 1 day
All issues in eclipse-dirigible/dirigible
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
QuiltMC/update-quilt-meta#28 ·
-
area/kotlin
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Large page[number] overflows the computed offset and returns the wrong pagePossibly taken @auraseb claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day