[Contracts] New contract statuses and migration

Offen
#488 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
typescript
Bereich
backend, frontend, mobile

Rechercherichtung

Start in backend/src/api/contracts/ and backend/src/migrations/ to see how contract status is stored and where a migration would go, then check frontend/src/pages/Contracts.tsx for the Perioadă column. The status labels are still an open question with the client, so confirm them in the issue before coding. Done means the migration mapping has a passing test, the flags are computed from the end date, and web and mobile show the new statuses and tag.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

back-end enhancement :rocket: mobile-app needs-info vic-2.0 web-app

Context

Move contracts to a simpler status model:

  • Active: signed and within its validity period. Can carry the flag "Expiră în curând".
  • Inactive: pending or expired. Expired ones carry the flag "Expirat".

So the possible states are: Active, Active + "Expiră în curând", Inactive, Inactive + "Expirat".

Migration of existing contracts:

  • signed and within the active period → Active;
  • pending or expired → Inactive (with the "Expirat" flag where applicable).

"Expiră în curând" is shown as a tag in the "Perioadă" column.

Open question: the design shows the statuses "Semnat", "În așteptare", "Expiră în curând" and "Expirat", with "Expiră în curând" as a tag while the status is "Semnat". Confirm the final labels against this model before implementing.

Design

Prototype: https://perch-pic-08148752.figma.site/ → Contracte. The prototype is indicative; this issue's text wins where they differ.

Acceptance criteria

  • Contracts have Active / Inactive status plus the flags "Expiră în curând" (within 1 month of end date) and "Expirat".
  • A migration maps existing contracts as described; the mapping is covered by a test.
  • Flags are computed from the end date, not stored manually.
  • Web and mobile show the new statuses and the "Expiră în curând" tag in the Perioadă column.

Dependencies

Phase 0. No blockers.

Where to look

  • backend/src/api/contracts/
  • backend/src/modules/documents/
  • backend/src/migrations/
  • frontend/src/pages/Contracts.tsx

Before starting

Resolve the open question above with the client and update this issue first.

Vorherrschende Sprache
TypeScript
Sterne
3
Forks
2
Ø Merge
18 Min.
Gemergte PRs (30 T.)
118

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus code4romania/vic

Alle Issues in code4romania/vic

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.