Backend: mig 110/111 (will be renumbered after merging main), validators + helpers widened, BuildProjectCode helper + projection populator wired into List/GetByID/ListAncestors/GetTree/CCR. All internal Go tests pass. Frontend: ProjectFormFields conditional render — opponent_code on litigation, our_side renamed to Client Role on case with grouped optgroups. i18n keys for both DE and EN. fristenrechner perspective mapping widened. project-form.ts payload reader/writer + showFieldsForType toggle for new litigation block. Migration slots about to be bumped (mig 110 was claimed by euler's project_type_other on main).
31 lines
1.1 KiB
PL/PgSQL
31 lines
1.1 KiB
PL/PgSQL
-- Down migration for 110_client_role_rework.
|
|
--
|
|
-- Restores the original 4-value CHECK ('claimant','defendant',
|
|
-- 'court','both', NULL) and backfills any rows that landed on a new
|
|
-- sub-role value (applicant / appellant / respondent / third_party /
|
|
-- other) to NULL so the schema is internally consistent after the
|
|
-- step-down.
|
|
|
|
BEGIN;
|
|
|
|
-- Backfill new sub-role values to NULL so the old CHECK doesn't reject.
|
|
UPDATE paliad.projects
|
|
SET our_side = NULL
|
|
WHERE our_side IN ('applicant', 'appellant', 'respondent', 'third_party', 'other');
|
|
|
|
ALTER TABLE paliad.projects
|
|
DROP CONSTRAINT IF EXISTS projects_our_side_check;
|
|
|
|
ALTER TABLE paliad.projects
|
|
ADD CONSTRAINT projects_our_side_check
|
|
CHECK (our_side IS NULL
|
|
OR our_side IN ('claimant', 'defendant', 'court', 'both'));
|
|
|
|
COMMENT ON COLUMN paliad.projects.our_side IS
|
|
'Which side the firm represents on this project. Used by the '
|
|
'Fristenrechner Determinator (Slice 3c) to predefine the '
|
|
'perspective chip from the project context. Allowed: claimant, '
|
|
'defendant, court, both.';
|
|
|
|
COMMIT;
|