Gabinet dentystyczny - usuwanie pacjentów i wizyt

Nadszedł czas na implementację usuwania pacjentów oraz wizyt.
Usuwanie nie będzie tak naprawdę usuwaniem, lecz ukrywaniem - dodatkowa, boolowska kolumna deleted
w tabelach patient
oraz visit
będzie flagą oznaczającą “usunięty” rekord w bazie. Dzięki temu omyłkowe usunięcie będzie “odwracalne”.
Zmiany w SQL
Zmiana schematu bazy
Konieczna będzie mała zmiana schematu: każdaą encję poszerzam o pole deleted
:
|
|
Zmiana zapytań pobierających pacjentów
Zapytanie o listę pacjentów uwzględnia tylko te wiersze, dla których deleted=false
:
|
|
Podobnie będzie z listą wizyt: wyświetlam jedynie nieusunięte wiersze nieusuniętych pacjentów:
|
|
Przy małym rozmiarze bazy i założonym przypadku użycia (hipotetyczny stomatolog obsługuje regulanie grupę kilkudziesięciu bądź nawet kilkuset pacjentów) nie będzie to znacząco wpływało na wydajność czy rozmiar pliku z bazą SQLite. Baza będzie więc add-only.
Interfejs użytkownika na razie nie daje możliwości przywrócenia usuniętych (ukrytych) wierszy, ale to w przyszłości może się zmienić.
Screenshoty
Usuwanie wizyty
W każdym wierszu tabeli dodałam przycisk usuwania, który w html-u jest częścią formularza generującego żądanie POST
do endpointu (dla wizyty nr 5) /visits/5/delete
:

Po usunięciu wizyty
Na liście wizyt nie pojawia się usunięta wizyta:

Usuwanie pacjenta
Podobnie jest z usuwaniem pacjenta.

Widok pacjentów po usunięciu pacjenta

Widok wizyt
Usunięcie pacjenta skutkuje oczywiście “zniknięciem” przypisanych do niego wizyt w widoku wizyt:

Inne zmiany
Do programu dodałam też favicon (moduł github.com/thinkerou/favicon), co wymagało dodania jednego wiersza kodu:
|
|
A także - w templejcie header.tmpl
- odnośnik do fontawesome:
|
|
Ten wpis jest częścią serii gabinet.
- 2021-13-09 - Gabinet dentystyczny - zapis zmian i podsumowanie
- 2021-11-09 - Gabinet dentystyczny - Legenda
- 2021-07-09 - Gabinet dentystyczny - diagram
- 2021-27-08 - Gabinet dentystyczny - przygotowania do rysowania diagramu
- 2021-26-08 - Gabinet dentystyczny - usuwanie pacjentów i wizyt
- 2021-23-08 - Gabinet dentystyczny - dodanie wizyt
- 2021-15-08 - Gabinet dentystyczny - prosta aplikacja webowa w Go