37733-vm/core/forms.py
Flatlogic Bot ba8173f9d8 demo2
2026-01-23 09:55:56 +00:00

52 lines
2.4 KiB
Python

from django import forms
from .models import Truck, Shipment, Bid
from django.utils.translation import gettext_lazy as _
class TruckForm(forms.ModelForm):
class Meta:
model = Truck
fields = [
'truck_type', 'model', 'year', 'plate_no',
'load_capacity', 'color', 'truck_picture',
'registration_front', 'registration_back', 'driver_license'
]
widgets = {
'truck_type': forms.TextInput(attrs={'class': 'form-control', 'placeholder': _('e.g. Flatbed, Trailer')}),
'model': forms.TextInput(attrs={'class': 'form-control'}),
'year': forms.NumberInput(attrs={'class': 'form-control'}),
'plate_no': forms.TextInput(attrs={'class': 'form-control'}),
'load_capacity': forms.TextInput(attrs={'class': 'form-control'}),
'color': forms.TextInput(attrs={'class': 'form-control'}),
'truck_picture': forms.FileInput(attrs={'class': 'form-control'}),
'registration_front': forms.FileInput(attrs={'class': 'form-control'}),
'registration_back': forms.FileInput(attrs={'class': 'form-control'}),
'driver_license': forms.FileInput(attrs={'class': 'form-control'}),
}
class ShipmentForm(forms.ModelForm):
class Meta:
model = Shipment
fields = ['description', 'weight', 'origin', 'destination', 'delivery_date']
widgets = {
'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}),
'weight': forms.TextInput(attrs={'class': 'form-control'}),
'origin': forms.TextInput(attrs={'class': 'form-control'}),
'destination': forms.TextInput(attrs={'class': 'form-control'}),
'delivery_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
}
class BidForm(forms.ModelForm):
class Meta:
model = Bid
fields = ['truck', 'amount', 'comments']
widgets = {
'truck': forms.Select(attrs={'class': 'form-select'}),
'amount': forms.NumberInput(attrs={'class': 'form-control', 'step': '0.01'}),
'comments': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}),
}
def __init__(self, *args, **kwargs):
user = kwargs.pop('user', None)
super().__init__(*args, **kwargs)
if user:
self.fields['truck'].queryset = Truck.objects.filter(owner=user)