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

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(),
}