fix: doc type persistence on edit + filter deadlines by document type

- Fix doc type showing "altele" after edit: preserve initial documentType
  in allDocTypes map even if not in defaults or Tag Manager
- Filter deadline categories by document type: only cerere/aviz unlock
  full permitting categories (CU, avize, urbanism, autorizare)
- Other doc types (scrisoare, notificare, etc.) only get completari +
  contestatie as deadline categories
- Add completari to intrat direction (was missing)
- Pass documentType to DeadlineAddDialog for category filtering

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-10 21:58:06 +02:00
parent 4ac4a48cad
commit 31565b418a
3 changed files with 34 additions and 7 deletions
@@ -634,22 +634,37 @@ export const CATEGORY_LABELS: Record<DeadlineCategory, string> = {
contestatie: "Contestatie",
};
/** Which categories are shown for each direction */
/** Full categories available per direction (before doc type filtering) */
export const DIRECTION_CATEGORIES: Record<
RegistryDirection,
DeadlineCategory[]
> = {
iesit: ["certificat", "avize", "urbanism", "autorizare", "completari"],
intrat: ["contestatie"],
intrat: ["completari", "contestatie"],
};
/**
* Get the ordered list of categories for a given direction.
* Document types that unlock the full set of construction permitting categories.
* Other doc types (scrisoare, notificare, etc.) only get completari + contestatie.
*/
const FULL_DEADLINE_DOC_TYPES = new Set(["cerere", "aviz"]);
/**
* Get the ordered list of deadline categories for a given direction + document type.
* - "cerere" / "aviz" doc types → full set (CU, avize, urbanism, autorizare, completari, contestatie)
* - All other doc types (scrisoare, notificare, etc.) → only completari + contestatie
*/
export function getCategoriesForDirection(
direction: RegistryDirection,
documentType?: string,
): DeadlineCategory[] {
return DIRECTION_CATEGORIES[direction];
const all = DIRECTION_CATEGORIES[direction];
// If doc type triggers full permitting flow, show all categories for this direction
if (!documentType || FULL_DEADLINE_DOC_TYPES.has(documentType)) {
return all;
}
// Otherwise, only completari + contestatie
return all.filter((c) => c === "completari" || c === "contestatie");
}
/**