Create an NFC button for browser supporting NFC API

This commit is contained in:
2024-07-24 17:42:02 +02:00
parent a24b1f5c2a
commit 15f51fb03f
7 changed files with 381 additions and 320 deletions

View File

@ -3,7 +3,7 @@ from ajax_select.fields import AutoCompleteSelectField, AutoCompleteSelectMultip
from django import forms
from django.utils.translation import gettext_lazy as _
from core.views.forms import SelectDate, SelectDateTime
from core.views.forms import NFCTextInput, SelectDate, SelectDateTime
from counter.models import (
BillingInfo,
Counter,
@ -37,6 +37,9 @@ class StudentCardForm(forms.ModelForm):
class Meta:
model = StudentCard
fields = ["uid"]
widgets = {
"uid": NFCTextInput,
}
def clean(self):
cleaned_data = super().clean()
@ -55,7 +58,10 @@ class GetUserForm(forms.Form):
"""
code = forms.CharField(
label="Code", max_length=StudentCard.UID_SIZE, required=False
label="Code",
max_length=StudentCard.UID_SIZE,
required=False,
widget=NFCTextInput,
)
id = AutoCompleteSelectField(
"users", required=False, label=_("Select user"), help_text=None
@ -86,6 +92,14 @@ class GetUserForm(forms.Form):
return cleaned_data
class NFCCardForm(forms.Form):
student_card_uid = forms.CharField(
max_length=StudentCard.UID_SIZE,
required=False,
widget=NFCTextInput,
)
class RefillForm(forms.ModelForm):
error_css_class = "error"
required_css_class = "required"