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