# -*- coding: utf-8 -*- from django import forms from theme.models import Theme from place_exposition.models import PlaceExposition from country.models import Country from multiupload.fields import MultiFileField, MultiFileInput choices = ((0, ''), (1.0, u'Ежегодно'), (2.0, u'2 раза в год'), (3.0, u'3 раза в год'), (4.0, u'4 раза в год'), (5.0, u'5 раз в год'), (0.5, u'Раз в 2 года'), ( 0.33, u'Раз в 3 года'), (0.25, u'Раз в 4 года')) places = [(item.id, item.name) for item in PlaceExposition.objects.language().all()] places.insert(0,('', 'Не выбрано')) class ExpoForm1(forms.Form): """ main information about exposition """ name = forms.CharField(max_length=255, widget=forms.TextInput(attrs={'placeholder': "Введите название выставки"})) main_title = forms.CharField(max_length=255, widget=forms.TextInput(attrs={'placeholder': "Краткое описание выставки (необязательно)"})) description = forms.CharField(widget=forms.Textarea(attrs={'placeholder': "Полное описание выставки", 'cols':30, 'rows':10})) date_start = forms.DateField(widget=forms.TextInput(attrs={'class':'data dateFrom', 'placeholder':'дд.мм.гг'})) date_end = forms.DateField(widget=forms.TextInput(attrs={'class':'data dateTo','placeholder':'дд.мм.гг'})) country = forms.ChoiceField(label=u'Страна', choices=[(c.id, c.name) for c in Country.objects.all()], widget=forms.Select(attrs={'id':'id_country'})) theme = forms.MultipleChoiceField(label='Тематики', choices=[(item.id, item.name) for item in Theme.objects.language().all()], widget=forms.SelectMultiple(attrs={'id':'id_theme'})) place = forms.ChoiceField(label=u'Место проведения', required=False, choices=places, widget=forms.Select(attrs={'id':'id_place'})) city = forms.CharField(label=u'Город', widget=forms.HiddenInput(attrs={'id':'id_city'})) tag = forms.CharField(label=u'Теги', widget=forms.HiddenInput(attrs={'id':'id_tag'}), required=False) audience1 = forms.BooleanField(required=False) audience2 = forms.BooleanField(required=False) audience3 = forms.BooleanField(required=False) periodic = forms.ChoiceField(choices=choices, required=False) membership1 = forms.BooleanField(required=False) membership2 = forms.BooleanField(required=False) membership3 = forms.BooleanField(required=False) web_site = forms.URLField(required=False, widget=forms.TextInput(attrs={'placeholder': "Веб-сайт (необязательно)"})) products = forms.CharField(widget=forms.Textarea(attrs={'placeholder': "Экспонируемые продукты", 'cols':30, 'rows':10})) time_start = forms.TimeField() time_end = forms.TimeField() logo = forms.ImageField(widget=forms.FileInput(attrs={'class':"button big icon-clip"}), required=False) class ExpoForm2(forms.Form): """ statistics """ found_year = forms.IntegerField() # ticket price pre_one_day = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'на один день'})) pre_all_days = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'на все дни'})) one_day = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'на один день'})) all_days = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'на все дни'})) # rent price equiped = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'оборудованная площадь'})) unequiped = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'необорудованная площадь'})) open_square = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':'открытая площадь'})) min_square = forms.FloatField() registration_depos = forms.FloatField() deadline_date = forms.DateField(widget=forms.TextInput(attrs={'placeholder':'дд.мм.гг'})) class ExpoForm3(forms.Form): """ photos from last expositions """ attachments = MultiFileField(min_num=0, max_num=6, max_file_size=1024*1024*5, widget=MultiFileInput( attrs={'class':'button big icon-camera', 'value': u'выберите фотографии', 'id': 'files'} ))