forms.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. from django import forms
  2. from django.core.validators import RegexValidator, MaxLengthValidator
  3. from . models import Project
  4. numeric = RegexValidator(r'^[0-9+]', 'Only numeric characters.')
  5. time_max_length = MaxLengthValidator(4, 'Length limit exceeds 4 characters')
  6. class LoginForm(forms.Form):
  7. pin = forms.CharField(strip=True, widget=forms.PasswordInput(attrs={
  8. 'class': 'form-control form-control-lg p-4 text-center',
  9. 'id': 'pin',
  10. 'placeholder': 'PIN',
  11. }), validators=[numeric])
  12. class CreateUserForm(forms.Form):
  13. first_name = forms.CharField(strip=True, required=True)
  14. last_name = forms.CharField(strip=True, required=True)
  15. pin = forms.CharField(strip=True, required=True, validators=[numeric], help_text="Numeric values only")
  16. class TimeEntryForm(forms.Form):
  17. project = forms.ModelChoiceField(Project.objects.all(), required=False, widget=forms.Select(attrs={
  18. 'class': 'form-control form-control-lg'
  19. }))
  20. time_worked = forms.CharField(required=True, label="Hours Worked", widget=forms.TextInput(attrs={
  21. 'class': 'form-control form-control-lg',
  22. 'max-length': '4',
  23. 'placeholder': 'Examples: 0.25, 1.5, 2'
  24. }), validators=[time_max_length, numeric])