from django import forms from django_registration.forms import RegistrationFormUniqueEmail from main.models import UserProfile class CustomRegistrationForm(RegistrationFormUniqueEmail): """ Форма для регистрации :class:`django_registration.forms.RegistrationFormUniqueEmail` с добавлением bootstrap-класса "form-control" :param visible_fields.email: Поле для ввода email, зарегистирированного на Zendesk :type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail` """ def __init__(self, *args, **kwargs) -> RegistrationFormUniqueEmail: super().__init__(*args, **kwargs) for visible in self.visible_fields(): if visible.field.widget.attrs.get('class', False): if visible.field.widget.attrs['class'].find('form-control') < 0: visible.field.widget.attrs['class'] += 'form-control' else: visible.field.widget.attrs['class'] = 'form-control' if visible.html_name !='email': visible.field.required = False class Meta(RegistrationFormUniqueEmail.Meta): fields = RegistrationFormUniqueEmail.Meta.fields class AdminPageUsers(forms.Form): """ Форма для установки статусов engineer или light_agent пользователям :param users: Поле для установки статуса :type users: :class:`ModelMultipleChoiceField` """ users = forms.ModelMultipleChoiceField( queryset=UserProfile.objects.filter(role='agent'), widget=forms.CheckboxSelectMultiple( attrs={ 'class': 'form-check-input' } ), label='' )