From 55853c07e7196835abd3a41eabb2452788419d87 Mon Sep 17 00:00:00 2001 From: MG-5 Date: Mon, 24 Oct 2022 22:14:33 +0200 Subject: [PATCH] Add four options for schliessberechtigung --- membership_data_model.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/membership_data_model.py b/membership_data_model.py index df0eedb..7ecef38 100644 --- a/membership_data_model.py +++ b/membership_data_model.py @@ -6,6 +6,12 @@ class membership_data_model(): 'E': 'Ermäßigt', 'F': 'Fördermitglied' } + schliessberechtigung_values = [ + 'SSH', + 'BLE', + 'Telefon', + 'Metallschluessel' + ] def __init__(self, membership_data_dict): self.membership_data_dict = membership_data_dict @@ -13,6 +19,12 @@ class membership_data_model(): def add_edit_fields(self, parent_form): mem = self.membership_data_dict + + schliessberechtigung_value = [] + if 'schliessberechtigung' in mem.keys() and set(mem['schliessberechtigung']).issubset(set(self.schliessberechtigung_values)): + for entry in mem['schliessberechtigung']: + schliessberechtigung_value.append(self.schliessberechtigung_values.index(entry)) + status_value = 0 if 'status' in mem.keys() and mem['status'] in self.status_values.keys(): status_value = list(self.status_values.keys()).index(mem['status']) @@ -27,14 +39,23 @@ class membership_data_model(): value=mem['mitgliedsbeitrag']) self.forms['spendenbeitrag'] = parent_form.add(npyscreen.TitleText, begin_entry_at=20, use_two_lines=False, name="Spendenbeitrag: ", value=mem['spendenbeitrag']) - self.forms['schliessberechtigung'] = parent_form.add(npyscreen.TitleText, begin_entry_at=24, use_two_lines=False, name="Schliessberechtigung: ", - value=mem['schliessberechtigung']) + self.forms['schliessberechtigung'] = parent_form.add(npyscreen.TitleMultiSelect, name="Schliessberechtigung: ", + values = self.schliessberechtigung_values, + value = schliessberechtigung_value, + max_height = len(self.schliessberechtigung_values) + 1, + scroll_exit = True) self.forms['scan-antrag'] = parent_form.add(npyscreen.TitleText, begin_entry_at=18, use_two_lines=False, name="URI Scan Antrag: ", value=mem['scan-antrag']) def get_form_values_dict(self): membership_data_model = dict(zip(self.forms.keys(), map(lambda f: f.value, self.forms.values()))) membership_data_model['status'] = list(self.status_values.keys())[self.forms['status'].value[0]] + + if self.forms['schliessberechtigung'].get_selected_objects() is not None: + membership_data_model['schliessberechtigung'] = list(self.forms['schliessberechtigung'].get_selected_objects()) + else: + membership_data_model['schliessberechtigung'] = [] + return membership_data_model def has_changed(self):