35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
from django import forms
|
||
from django_registration.forms import RegistrationFormUniqueEmail
|
||
|
||
|
||
class CustomRegistrationForm(RegistrationFormUniqueEmail):
|
||
"""
|
||
Форма для регистрации :class:`django_registration.forms.RegistrationFormUniqueEmail`
|
||
с полем для ввода пароля от Zendesk аккаунта и с добавлением bootstrap-класса 'form-control' для всех полей
|
||
|
||
:param password_zen: Поле для ввода пароля от Zendesk
|
||
:type password_zen: :class:`django.forms.CharField`
|
||
"""
|
||
password_zen = forms.CharField(
|
||
required=True,
|
||
label="Пароль от Zendesk аккаунта",
|
||
strip=False,
|
||
widget=forms.PasswordInput(attrs={
|
||
'class': 'form-control'
|
||
})
|
||
)
|
||
|
||
def __init__(self, *args, **kwargs):
|
||
super().__init__(*args, **kwargs)
|
||
for visible in self.visible_fields():
|
||
if visible.field.widget.attrs.get('class', False):
|
||
print(visible.field.widget.attrs['class'].find('form-control'))
|
||
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'
|
||
|
||
class Meta(RegistrationFormUniqueEmail.Meta):
|
||
fields = RegistrationFormUniqueEmail.Meta.fields
|
||
fields.insert(2, 'password_zen')
|