Checking for data problems in Lino Welfare¶
Lino Welfare offers some functionality for managing data problems.
See also checkdata : Application-level data integrity tests.
Data checkers available in Lino Welfare¶
In the web interface you can select
to see a table of all available checkers.>>> rt.show(checkdata.Checkers, language="en")
...
======================================= ===================================================
value text
--------------------------------------- ---------------------------------------------------
accounting.VoucherChecker Check integrity of numbered vouchers
addresses.AddressOwnerChecker Check for missing or non-primary address records
aids.ConfirmationChecker Check for confirmations outside of granted period
beid.SSINChecker Check for invalid SSINs
cal.ConflictingEventsChecker Check for conflicting calendar entries
cal.EventGuestChecker Entries without participants
cal.LongEntryChecker Too long-lasting calendar entries
cal.ObsoleteEventTypeChecker Obsolete generated calendar entries
coachings.ClientCoachingsChecker Check coachings
countries.PlaceChecker Check data of geographical places
dupable_clients.SimilarClientsChecker Check for similar clients
finan.FinancialVoucherItemChecker Check for invalid account/partner combination
isip.OverlappingContractsChecker Check for overlapping contracts
memo.PreviewableChecker Check for previewables needing update
mixins.DupableChecker Check for missing phonetic words
printing.CachedPrintableChecker Check for missing target files
sepa.BankAccountChecker Check for partner mismatches in bank accounts
system.BleachChecker Find unbleached html content
uploads.UploadChecker Check metadata of upload files
uploads.UploadsFolderChecker Find orphaned files in uploads folder
======================================= ===================================================
Showing all problems¶
The demo database deliberately contains some data problems. In the web interface you can select
to see them. Note that messages are in the language of the responsible user.>>> rt.show(checkdata.AllMessages, language="en", max_width=40)
...
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Responsible | Database object | Message text | Checker |
+==================+==========================================+==========================================+=======================================+
| Rolf Rompen | `Christi Himmelfahrt (29.05.2014) <…>`__ | Event conflicts with 4 other events. | cal.ConflictingEventsChecker |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Rolf Rompen | `Pfingsten (09.06.2014) <…>`__ | Event conflicts with 3 other events. | cal.ConflictingEventsChecker |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Romain Raffault | `Internal meetings with client | Event conflicts with Pfingsten | cal.ConflictingEventsChecker |
| | (09.06.2014 09:00) <…>`__ | (09.06.2014). | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Alicia Allmanns | `Consultation (29.05.2014 08:30) <…>`__ | Event conflicts with Christi Himmelfahrt | cal.ConflictingEventsChecker |
| | | (29.05.2014). | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Alicia Allmanns | `Petit-déjeuner (09.06.2014 09:40) | Event conflicts with Pfingsten | cal.ConflictingEventsChecker |
| | <…>`__ | (09.06.2014). | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Hubert Huppertz | `Versammlung (09.06.2014 10:20) with | Event conflicts with Pfingsten | cal.ConflictingEventsChecker |
| | LEFFIN Josefine (46*) <…>`__ | (09.06.2014). | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Patrick Paraneau | `Absent for private reasons (29.05.2014) | Event conflicts with Christi Himmelfahrt | cal.ConflictingEventsChecker |
| | <…>`__ | (29.05.2014). | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Rolf Rompen | `DEMEULENAERE Dorothée (23) <…>`__ | Ähnliche Klienten: DOBBELSTEIN- | dupable_clients.SimilarClientsChecker |
| | | DEMEULENAERE Dorothée (24*) | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Hubert Huppertz | `DOBBELSTEIN-DEMEULENAERE Dorothée (24*) | Ähnliche Klienten: DEMEULENAERE Dorothée | dupable_clients.SimilarClientsChecker |
| | <…>`__ | (23) | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Mélanie Mélard | `DOBBELSTEIN Dorothée (25) <…>`__ | Ähnliche Klienten: DOBBELSTEIN- | dupable_clients.SimilarClientsChecker |
| | | DEMEULENAERE Dorothée (24*) | |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Caroline Carnol | `FAYMONVILLE Luc (31*) <…>`__ | Begleitet und veraltet zugleich. | coachings.ClientCoachingsChecker |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
| Caroline Carnol | `DENON Denis (81*) <…>`__ | Begleitet und veraltet zugleich. | coachings.ClientCoachingsChecker |
+------------------+------------------------------------------+------------------------------------------+---------------------------------------+
Filtering problem messages¶
The user can set the table parameters e.g. to see only problems of a
given type (“checker”). The following snippet simulates the situation
of selecting the SimilarClientsChecker
.
>>> Checkers = rt.models.checkdata.Checkers
>>> rt.show(checkdata.AllMessages, language="en",
... param_values=dict(checker=Checkers.get_by_value(
... 'dupable_clients.SimilarClientsChecker')))
...
================= ================================================= ============================================================ =======================================
Responsible Database object Message text Checker
----------------- ------------------------------------------------- ------------------------------------------------------------ ---------------------------------------
Rolf Rompen `DEMEULENAERE Dorothée (23) <…>`__ Ähnliche Klienten: DOBBELSTEIN-DEMEULENAERE Dorothée (24*) dupable_clients.SimilarClientsChecker
Hubert Huppertz `DOBBELSTEIN-DEMEULENAERE Dorothée (24*) <…>`__ Ähnliche Klienten: DEMEULENAERE Dorothée (23) dupable_clients.SimilarClientsChecker
Mélanie Mélard `DOBBELSTEIN Dorothée (25) <…>`__ Ähnliche Klienten: DOBBELSTEIN-DEMEULENAERE Dorothée (24*) dupable_clients.SimilarClientsChecker
================= ================================================= ============================================================ =======================================
My data problems¶
In the web interface you can select data problem messages assigned to you.
to see a list of all>>> show_menu_path(checkdata.MyMessages, language="en")
Office --> Data problem messages assigned to me
>>> print(rt.login('melanie').user.language)
fr
>>> rt.login('melanie').show(checkdata.MyMessages, language="en")
...
================ =================================== ============================================================ =======================================
Responsible Database object Message text Checker
---------------- ----------------------------------- ------------------------------------------------------------ ---------------------------------------
Mélanie Mélard `DOBBELSTEIN Dorothée (25) <…>`__ Ähnliche Klienten: DOBBELSTEIN-DEMEULENAERE Dorothée (24*) dupable_clients.SimilarClientsChecker
================ =================================== ============================================================ =======================================