From d6b2e2b7273195b2b6855c00a687e0d978ab111e Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Sat, 1 Apr 2023 21:10:47 +0200 Subject: [PATCH] members/import: determine if member is youth leader by considering roles --- jdav_web/members/models.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 1947d6a..e16faf1 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -1163,7 +1163,19 @@ def import_from_csv(path): def parse_group(value): groups_raw = re.split(',', value) - group_names = [ re.search('^(.*?)( \(.*\))?$', raw).group(1).strip() for raw in groups_raw if raw != ''] + + # need to determine if member is youth leader + roles = set() + def extract_group_name_and_role(raw): + obj = re.search('^(.*?)(?: \((.*)\))?$', raw) + if obj.group(2) is not None: + roles.add(obj.group(2).strip()) + return obj.group(1).strip() + + group_names = [extract_group_name_and_role(raw) for raw in groups_raw if raw != ''] + + if "Jugendleiter" in roles: + group_names.append("Jugendleiter") groups = [] for group_name in group_names: try: