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.
 
 
 
 
 
 

75 lines
4.3 KiB

# -*- 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'}
))