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.
104 lines
3.3 KiB
104 lines
3.3 KiB
# -*- coding: utf-8 -*-
|
|
from django import forms
|
|
from django.utils.translation import ugettext as _
|
|
from models import User, Profile
|
|
from country.models import Country
|
|
|
|
class AvatarForm(forms.ModelForm):
|
|
avatar = forms.ImageField(label=_(u'Выберите файл (GIF, JPG, PNG. Размер 100 × 100 пикселей)'),
|
|
required=False)
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('avatar',)
|
|
|
|
class NameForm(forms.ModelForm):
|
|
first_name = forms.CharField(label=_(u'Введите ваше имя'))
|
|
last_name = forms.CharField(label=_(u'Введите вашу фамилию'))
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ('first_name', 'last_name')
|
|
|
|
def get_full_name(self):
|
|
return u'%s %s'%(self.instance.first_name, self.instance.last_name,)
|
|
|
|
|
|
class HomeForm(forms.ModelForm):
|
|
city = forms.ChoiceField(label='Город', required=False)
|
|
country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(), empty_label='', required=False)
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('country', 'city')
|
|
|
|
def current_country(self):
|
|
return self.instance.country
|
|
country = Country.objects.get(id=self.instance.country)
|
|
return country
|
|
|
|
def clean_city(self):
|
|
return None
|
|
|
|
|
|
class WorkForm(forms.ModelForm):
|
|
position = forms.CharField(label=_(u'Укажите вашу должность'),
|
|
required=False)
|
|
work = forms.CharField(label=_(u'Место работы'),
|
|
required=False)
|
|
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('position', 'work')
|
|
|
|
def get_full_work(self):
|
|
divider = _('в')
|
|
return 'dsfsdf'
|
|
return u'%s %s %s'%(self.instance.position, divider, self.instance.work)
|
|
|
|
|
|
|
|
class AboutCompanyForm(forms.ModelForm):
|
|
about_company = forms.CharField(label=_(u'Описание компании'), required=False,
|
|
widget=forms.Textarea(attrs={'cols':'30'}))
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('about_company',)
|
|
|
|
|
|
class PhoneForm(forms.ModelForm):
|
|
phone = forms.CharField(label=_(u'Контактный телефон'), required=False)
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('phone',)
|
|
|
|
class EmailForm(forms.ModelForm):
|
|
email = forms.EmailField(label=_(u'Ваш e-mail'), required=False)
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ('email',)
|
|
|
|
class WebPageForm(forms.ModelForm):
|
|
web_page = forms.CharField(label=_(u'Адрес вашего сайта'), required=False)
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ('web_page',)
|
|
|
|
class SocialForm(forms.ModelForm):
|
|
facebook = forms.CharField(label=_(u'Facebook'), required=False)
|
|
twitter = forms.CharField(label=_(u'Twitter'), required=False)
|
|
vk = forms.CharField(label=_(u'В контакте'), required=False)
|
|
linkedin = forms.CharField(label=_(u'LinkedIn'), required=False)
|
|
|
|
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('facebook', 'twitter', 'vk', 'linkedin')
|
|
|
|
class AboutForm(forms.ModelForm):
|
|
about = forms.CharField(label=_(u'Немного о себе'), required=False,
|
|
widget=forms.Textarea(attrs={'cols':'30'}))
|
|
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('about',) |