Closed kasiagrygo closed 5 months ago
Dodano trzy stany do komponentu za pomocą hooka useState. Pierwszy, showRepaymentsModal, reprezentuje stan określający, czy modal związany z spłatami jest widoczny (początkowo ustawiona na wartość false). Drugi stan, selectedObligationRepayments, to tablica przechowująca wybrane spłaty zobowiązań. Początkowo jest to pusta tablica. Trzeci stan, selectedObligationDetails, przechowuje szczegóły wybranego zobowiązania. Na początku jest to pusty obiekt.
Funkcja fetchRepayments pobiera spłaty i szczegóły zobowiązania dla określonego identyfikatora. Jeśli pobranie się powiedzie, ustawia odpowiednie stany i otwiera modal. W przypadku niepowodzenia, wyświetla alert. Funkcja handleCloseRepaymentsModal odpowiada natomiast za zamknięcie modala.
Zaimplementowano modal, który wyświetla szczegóły zobowiązania oraz jego spłaty. Jest wyświetlany lub ukrywany w zależności od stanu showRepaymentsModal. Szczegóły zobowiązania i spłaty są pobierane przy użyciu funkcji fetchRepayments i przechowywane w odpowiednich stanach. W sekcji modal-body znajdują się szczegóły zobowiązania, takie jak nazwa, kwota, kategoria, opis, data rozpoczęcia i termin płatności. Dodatkowo wyświetlane są spłaty zobowiązania w formie listy.
Akcja GetRepayments została zaimplementowana jako metoda HTTP GET, która przyjmuje parametr obligationId. W tej akcji zwracana jest lista spłat zobowiązania o określonym identyfikatorze. Dane te są pobierane z bazy danych. Następnie lista spłat jest przekazywana jako odpowiedź HTTP.
Poniższa akcja kontrolera obsługuje żądania GET i wymaga, aby użytkownik był uwierzytelniony. Następnie pobiera szczegóły zobowiązania o określonym identyfikatorze. Jeśli użytkownik nie jest zalogowany lub zobowiązanie nie istnieje, zwracane są odpowiednie komunikaty błędu. W przeciwnym razie zwracane są szczegóły zobowiązania w formie obiektu DTO.
Wygląd na stronie:
Zadaniem jest dodanie do każdej obligacji listy spłat z kwotą i datą spłaty.