gpp/port/forms.py

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)