Merge: t-paliad-165 — Regel ↔ Typ collapse via auto-link on the deadline create form
Two slices on mai/noether/collapse-regel-typ-on:0c12644feat(deadline-rules): expose concept's canonical event_type per rule1e97eccfeat(deadlines/new): auto-link Typ to Regel's concept What ships: - New junction paliad.deadline_concept_event_types maps every paliad.deadline_concepts row to its canonical paliad.event_types row(s). Many-to-many for concepts with multiple legitimate variants (statement-of-defence ↔ base + with_ccr + no_ccr; opposition across EPO + DPMA). Exactly one row per concept marked is_default = true by a partial unique index — that is the row the deadline form auto-fills with. - Backend: paliad.deadline_rules_with_concept_event_type view + the deadline-rules read path now expose the rule's default concept event_type so the form has the auto-fill target without an extra round-trip. - Frontend deadline create / edit form: when the user picks a Regel, the Typ chip auto-fills with the rule's concept's default event_type. A small "vorgegeben durch Regel — überschreiben?" hint sits next to the chip so the auto-fill is visible. The user can override (free- text or pick a different type); the override is explicit, no blocking validation. - Free-text Typ stays available — manual deadlines without a matching rule (e.g. "Call me" reminders) keep working as today. Migration housekeeping ====================== noether authored her migration as 072 on her branch but main had already taken 072 via minkowski's t-paliad-164 (paliad.projects.our_side). Renumbered to 073 during merge resolution to resolve the same-number collision. Added IF NOT EXISTS guards on CREATE TABLE / CREATE INDEX for re-run safety (the seed INSERT already had ON CONFLICT DO NOTHING). Live tracker bumped 72 → 73 in the same operation: both effects (our_side column AND deadline_concept_event_types table) were applied to live during dev (each worker against the same DB), so the tracker advance reflects schema reality. Next deploy sees tracker=73 with file 073 present and has nothing to apply. Refs m/paliad#18.
This commit is contained in:
@@ -475,6 +475,12 @@ type DeadlineRule struct {
|
||||
AltRuleCode *string `db:"alt_rule_code" json:"alt_rule_code,omitempty"`
|
||||
AnchorAlt *string `db:"anchor_alt" json:"anchor_alt,omitempty"`
|
||||
ConceptID *uuid.UUID `db:"concept_id" json:"concept_id,omitempty"`
|
||||
// ConceptDefaultEventTypeID is the canonical paliad.event_types row for
|
||||
// this rule's concept (joined via paliad.deadline_concept_event_types
|
||||
// where is_default = true). Lets the deadline create form auto-populate
|
||||
// the Typ chip when the user picks this rule. Hydrated by the service
|
||||
// layer; not a column. NULL when the concept has no mapped event_type.
|
||||
ConceptDefaultEventTypeID *uuid.UUID `db:"-" json:"concept_default_event_type_id,omitempty"`
|
||||
LegalSource *string `db:"legal_source" json:"legal_source,omitempty"`
|
||||
IsSpawn bool `db:"is_spawn" json:"is_spawn"`
|
||||
SpawnLabel *string `db:"spawn_label" json:"spawn_label,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user