Checking for data problems in Lino Welfare¶
Lino Welfare offers some functionality for managing data problems.
See also checkdata : High-level 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 ledger 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
linod.SystemTaskChecker Check for missing system tasks
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 |
+==================+==========================================+==========================================+==========================================+
| Robin Rood | `Christi Himmelfahrt (29.05.2014) <…>`__ | Event conflicts with 4 other events. | cal.ConflictingEventsChecker (Check for |
| | | | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Robin Rood | `Pfingsten (09.06.2014) <…>`__ | Event conflicts with 3 other events. | cal.ConflictingEventsChecker (Check for |
| | | | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Romain Raffault | `Internal meetings with client | Event conflicts with Pfingsten | cal.ConflictingEventsChecker (Check for |
| | (09.06.2014 09:00) <…>`__ | (09.06.2014). | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Alicia Allmanns | `Consultation (29.05.2014 08:30) <…>`__ | Event conflicts with Christi Himmelfahrt | cal.ConflictingEventsChecker (Check for |
| | | (29.05.2014). | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Alicia Allmanns | `Petit-déjeuner (09.06.2014 09:40) | Event conflicts with Pfingsten | cal.ConflictingEventsChecker (Check for |
| | <…>`__ | (09.06.2014). | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Hubert Huppertz | `Versammlung (09.06.2014 10:20) with | Event conflicts with Pfingsten | cal.ConflictingEventsChecker (Check for |
| | LEFFIN Josefine (145*) <…>`__ | (09.06.2014). | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Patrick Paraneau | `Absent for private reasons (29.05.2014) | Event conflicts with Christi Himmelfahrt | cal.ConflictingEventsChecker (Check for |
| | <…>`__ | (29.05.2014). | conflicting calendar entries) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| | `DEMEULENAERE Dorothée (122) <…>`__ | Ähnliche Klienten: DOBBELSTEIN- | dupable_clients.SimilarClientsChecker |
| | | DEMEULENAERE Dorothée (123*) | (Check for similar clients) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Hubert Huppertz | `DOBBELSTEIN-DEMEULENAERE Dorothée | Ähnliche Klienten: DEMEULENAERE Dorothée | dupable_clients.SimilarClientsChecker |
| | (123*) <…>`__ | (122) | (Check for similar clients) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Mélanie Mélard | `DOBBELSTEIN Dorothée (124) <…>`__ | Ähnliche Klienten: DOBBELSTEIN- | dupable_clients.SimilarClientsChecker |
| | | DEMEULENAERE Dorothée (123*) | (Check for similar clients) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Caroline Carnol | `FAYMONVILLE Luc (130*) <…>`__ | Begleitet und veraltet zugleich. | coachings.ClientCoachingsChecker (Check |
| | | | coachings) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| Caroline Carnol | `DENON Denis (180*) <…>`__ | Begleitet und veraltet zugleich. | coachings.ClientCoachingsChecker (Check |
| | | | coachings) |
+------------------+------------------------------------------+------------------------------------------+------------------------------------------+
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
----------------- -------------------------------------------------- ------------------------------------------------------------- -------------------------------------------------------------------
`DEMEULENAERE Dorothée (122) <…>`__ Ähnliche Klienten: DOBBELSTEIN-DEMEULENAERE Dorothée (123*) dupable_clients.SimilarClientsChecker (Check for similar clients)
Hubert Huppertz `DOBBELSTEIN-DEMEULENAERE Dorothée (123*) <…>`__ Ähnliche Klienten: DEMEULENAERE Dorothée (122) dupable_clients.SimilarClientsChecker (Check for similar clients)
Mélanie Mélard `DOBBELSTEIN Dorothée (124) <…>`__ Ähnliche Klienten: DOBBELSTEIN-DEMEULENAERE Dorothée (123*) dupable_clients.SimilarClientsChecker (Check for similar clients)
================= ================================================== ============================================================= ===================================================================
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 (124) <…>`__ Ähnliche Klienten: DOBBELSTEIN-DEMEULENAERE Dorothée (123*) dupable_clients.SimilarClientsChecker (Check for similar clients)
================ ==================================== ============================================================= ===================================================================