You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.1 KiB
71 lines
2.1 KiB
from django import forms
|
|
from django.forms import ModelForm
|
|
|
|
from specializations.models import Specialization
|
|
from .models import User, ContractorFinancialInfo
|
|
|
|
|
|
class UserEditForm(ModelForm):
|
|
def __init__(self, *args, **kwargs):
|
|
# import code; code.interact(local=dict(globals(), **locals()))
|
|
super().__init__(*args, **kwargs)
|
|
if kwargs.get('instance'):
|
|
if kwargs.get('instance').is_contractor():
|
|
self.fields['contractor_specializations'].queryset = kwargs.get('instance').contractor_specializations.all()
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = (
|
|
'first_name',
|
|
'last_name',
|
|
'patronym',
|
|
'location',
|
|
'date_of_birth',
|
|
'website',
|
|
'skype',
|
|
'avatar',
|
|
'contractor_specializations',
|
|
'cro',
|
|
'phone',
|
|
'gender',
|
|
)
|
|
|
|
widgets = {
|
|
'date_of_birth': forms.SelectDateWidget(years=range(1940, 2015)),
|
|
# 'contractor_specializations': forms.Select(),
|
|
}
|
|
|
|
|
|
class ContractorFinancicalInfoForm(ModelForm):
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
self.fields['residency'].choices = self.fields['residency'].choices[1:]
|
|
self.fields['legal_status'].choices = self.fields['legal_status'].choices[1:]
|
|
|
|
# self.fields['residency'].empty_label = None
|
|
# self.fields['residency'].widget.choices = self.fields['residency'].choices
|
|
|
|
class Meta:
|
|
model = ContractorFinancialInfo
|
|
fields = (
|
|
'fio',
|
|
'date_of_birth',
|
|
'phone',
|
|
'residency',
|
|
'legal_status',
|
|
'passport_series',
|
|
'passport_number',
|
|
'subdivision_code',
|
|
'passport_issued_by',
|
|
'passport_issue_date',
|
|
'inn',
|
|
'yandex_money',
|
|
'credit_card_number',
|
|
'passport_scan',
|
|
)
|
|
|
|
widgets = {
|
|
'residency': forms.RadioSelect(),
|
|
'legal_status': forms.RadioSelect(),
|
|
}
|
|
|