From a5570dc475e080febe2d8b69f98c988c9e088e77 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 25 Jan 2023 12:27:27 +0100 Subject: [PATCH] Checkin: Prefer shorter explanation sin logic explainer --- src/pretix/base/services/checkin.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pretix/base/services/checkin.py b/src/pretix/base/services/checkin.py index 899baa101d..6706fd1ff8 100644 --- a/src/pretix/base/services/checkin.py +++ b/src/pretix/base/services/checkin.py @@ -290,6 +290,11 @@ def _logic_explain(rules, ev, rule_data): p for i, p in enumerate(paths) if path_weights[i] == min_weight ] + # Step 7: All things equal, prefer shorter explanations + paths_with_min_weight.sort( + key=lambda p: len([v for v in p if not _var_values[v]]) + ) + # Finally, return the text for one of them return ', '.join(var_texts[v] for v in paths_with_min_weight[0] if not _var_values[v])