170 lines
3.8 KiB
Python
170 lines
3.8 KiB
Python
from django.forms import Form, ModelForm, \
|
|
CharField, IntegerField, DecimalField, \
|
|
BooleanField, EmailField, DateTimeField, ImageField, \
|
|
formset_factory
|
|
from django_countries.fields import CountryField
|
|
from phonenumber_field.formfields import PhoneNumberField
|
|
|
|
from .models import *
|
|
|
|
class PersonForm(ModelForm):
|
|
class Meta:
|
|
model = Person
|
|
|
|
fields = [
|
|
'name',
|
|
'surname',
|
|
'nationality',
|
|
'email',
|
|
'phone'
|
|
]
|
|
"""
|
|
name = CharField(label='Name', max_length=50)
|
|
surname = CharField(label='Surname', max_length=50)
|
|
nationality = CountryField().formfield(label='Nationality')
|
|
email = EmailField(label='E-Mail')
|
|
phone = PhoneNumberField(label='Phone Number')
|
|
"""
|
|
|
|
class AddressForm(ModelForm):
|
|
class Meta:
|
|
model = Address
|
|
|
|
fields = [
|
|
'address',
|
|
'zip_code',
|
|
'city',
|
|
'country'
|
|
]
|
|
|
|
|
|
class DockForm(ModelForm):
|
|
class Meta:
|
|
model = Dock
|
|
|
|
fields = [
|
|
'name',
|
|
'length',
|
|
'width',
|
|
'depth_min',
|
|
'depth_max']
|
|
|
|
"""
|
|
name = CharField(label='Name', max_length=10)
|
|
length = DecimalField(
|
|
label='Length', min_value=0,
|
|
max_digits=7,
|
|
decimal_places=2)
|
|
width = DecimalField(
|
|
label='Width', min_value=0,
|
|
max_digits=7,
|
|
decimal_places=2)
|
|
depth_min = DecimalField(
|
|
label='Depth (min.)', min_value=0,
|
|
max_digits=7,
|
|
decimal_places=2)
|
|
depth_max = DecimalField(
|
|
label='Depth (max.)', min_value=0,
|
|
max_digits=7,
|
|
decimal_places=2)
|
|
"""
|
|
|
|
DockFormSet = formset_factory(DockForm)
|
|
|
|
class PortForm(ModelForm):
|
|
class Meta:
|
|
model = Port
|
|
|
|
fields = [
|
|
'name',
|
|
'address',
|
|
'company']
|
|
|
|
"""
|
|
name = CharField(label='Name', max_length=50)
|
|
address = CharField(label='Address', max_length=50)
|
|
company = CharField(label='Company', max_length=50)
|
|
"""
|
|
|
|
class PlugForm(ModelForm):
|
|
class Meta:
|
|
model = Plug
|
|
|
|
fields = [
|
|
'name',
|
|
'amperage',
|
|
'voltage',
|
|
]
|
|
|
|
"""
|
|
name = CharField(label='Name', max_length=10)
|
|
amperage = DecimalField(
|
|
label='Amperage',
|
|
min_value=0,
|
|
max_digits=3,
|
|
decimal_places=0)
|
|
voltage = DecimalField(
|
|
label='Voltage',
|
|
min_value=0,
|
|
max_digits=3,
|
|
decimal_places=0)
|
|
"""
|
|
|
|
PlugFormSet = formset_factory(PlugForm)
|
|
|
|
class TapForm(ModelForm):
|
|
class Meta:
|
|
model = Tap
|
|
|
|
fields = [
|
|
'name']
|
|
|
|
"""
|
|
name = CharField(label='Name', max_length=10)
|
|
"""
|
|
|
|
TapFormSet = formset_factory(TapForm)
|
|
|
|
class BoatForm(ModelForm):
|
|
class Meta:
|
|
model = Boat
|
|
fields = ['name',
|
|
'registration_num',
|
|
'length',
|
|
'beam',
|
|
'water_draught',
|
|
'tonnage',
|
|
'water_tank',
|
|
'model',
|
|
'heating',
|
|
'passenger_capacity',
|
|
'picture']
|
|
|
|
class StayForm(ModelForm):
|
|
|
|
class Meta:
|
|
model = Stay
|
|
fields = ['arrival',
|
|
'departure',
|
|
'coming_from',
|
|
'going_to',
|
|
'no_mooring']
|
|
widgets = {
|
|
#Use localization and bootstrap 3
|
|
'datetime': DateTimeWidget(
|
|
attrs={'id':"yourdatetimeid"},
|
|
usel10n = True)
|
|
}
|
|
|
|
|
|
class MooringForm(ModelForm):
|
|
|
|
class Meta:
|
|
model = Mooring
|
|
fields = ['date',
|
|
'dock',
|
|
'tap',
|
|
'plug']
|
|
|
|
MooringFormSet = formset_factory(MooringForm)
|