# -*- coding: utf-8 -*- from django import forms from django.utils.translation import ugettext as _ from models import User, Profile from country.models import Country from city.models import City from company.models import Company class AvatarForm(forms.ModelForm): avatar = forms.ImageField(label=_(u'Выберите файл (GIF, JPG, PNG. Размер 100 × 100 пикселей)'), required=False, widget=forms.FileInput(attrs={'class': 'input'})) 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.CharField(label='Город', required=False, widget=forms.HiddenInput(attrs={'class': 'select2'})) country = forms.ChoiceField(label=_(u'Страна'), choices=[(c.id, c.name) for c in Country.objects.all()], required=False, widget=forms.Select(attrs={'class': 'select2'})) def __init__(self, *args, **kwargs): super(HomeForm, self).__init__(*args, **kwargs) if self.instance.city: self.fields['city'].widget = forms.HiddenInput(attrs={'class': 'select2', 'data-init-text': self.instance.city.name}) class Meta: model = Profile fields = ('country', 'city') def current_country(self): return self.instance.country def clean_city(self): try: return City.objects.get(id=self.cleaned_data['city']) except City.DoesNotExist: return None def clean_country(self): try: return Country.objects.get(id=self.cleaned_data['country']) except City.DoesNotExist: return None class WorkForm(forms.ModelForm): position = forms.CharField(label=_(u'Укажите вашу должность'), required=False, widget=forms.TextInput(attrs={'style': 'height: 42px;'})) company = forms.CharField(label=_(u'Место работы'), widget=forms.HiddenInput(attrs={'class': 'select2'})) def __init__(self, *args, **kwargs): super(WorkForm, self).__init__(*args, **kwargs) if self.instance.company: self.fields['company'].widget = forms.HiddenInput(attrs={'class': 'select2', 'data-init-text': self.instance.company.name}) class Meta: model = User fields = ('position', 'company') def clean_company(self): try: return Company.objects.get(id=self.cleaned_data['company']) except Company.DoesNotExist: return None 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.URLField(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',)