from django import forms from django.contrib.auth.models import User from django.forms import ModelForm from .validators import domain_name_validator class DomainNameField(forms.CharField): description = 'Domain name form field' default_validators = [domain_name_validator, ] def __init__(self, *args, **kwargs): super(DomainNameField, self).__init__(*args, **kwargs) class UserDeleteForm(forms.ModelForm): class Meta: model = User fields = [] class MainForm(forms.Form): def __init__(self, *args, **kwargs): super(MainForm, self).__init__(*args, **kwargs) for visible in self.visible_fields(): if isinstance(visible.field.widget, forms.TextInput): visible.field.widget.attrs['class'] = 'form-control' elif isinstance(visible.field.widget, forms.Select): visible.field.widget.attrs['class'] = 'form-select' elif (isinstance(visible.field.widget, forms.CheckboxInput)): visible.field.widget.attrs['class'] = 'custom-control-input' class MainModelForm(ModelForm): def __init__(self, *args, **kwargs): super(MainModelForm, self).__init__(*args, **kwargs) for visible in self.visible_fields(): visible.field.widget.attrs['class'] = 'form-control'