diff --git a/biometric/forms.py b/biometric/forms.py index b84697c9c..7cad154ad 100644 --- a/biometric/forms.py +++ b/biometric/forms.py @@ -122,10 +122,10 @@ class CosecUserAddForm(Form): label=_("Employees"), ) - def __init__(self, *args, **kwargs): + def __init__(self, *args, device_id=None, **kwargs): super().__init__(*args, **kwargs) cosec_employee_ids = BiometricEmployees.objects.filter( - device_id__machine_type="cosec" + device_id=device_id ).values_list("employee_id", flat=True) self.fields["employee_ids"].queryset = Employee.objects.filter( is_active=True diff --git a/biometric/views.py b/biometric/views.py index a9a490b21..5828abb3c 100644 --- a/biometric/views.py +++ b/biometric/views.py @@ -1222,16 +1222,19 @@ def edit_cosec_user(request, user_id, device_id): day = int(user["validity-date-dd"]) date_object = datetime(year, month, day) formatted_date = date_object.strftime("%Y-%m-%d") - form = COSECUserForm( - initial={ - "name": user["name"], - "user_active": bool(int(user["user-active"])), - "vip": bool(int(user["vip"])), - "validity_enable": bool(int(user["validity-enable"])), - "validity_end_date": formatted_date, - "by_pass_finger": bool(int(user["by-pass-finger"])), - } - ) + initial_data = { + "name": user["name"], + "user_active": bool(int(user["user-active"])), + "vip": bool(int(user["vip"])), + "validity_enable": bool(int(user["validity-enable"])), + "validity_end_date": formatted_date, + } + + if "by-pass-finger" in user: + initial_data["by_pass_finger"] = bool(int(user["by-pass-finger"])) + + form = COSECUserForm(initial=initial_data) + if request.method == "POST": form = COSECUserForm(request.POST) if form.is_valid():