49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
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=''
|
||
)
|