2022-04-01 11:11:50 -06:00

70 lines
1.8 KiB
Python

import logging
from django import forms
from core.models import Order, OrderLine, ShippingMethod, TrackingNumber, Coupon, ProductPhoto
logger = logging.getLogger(__name__)
class CouponForm(forms.ModelForm):
class Meta:
model = Coupon
fields = (
'type',
'name',
'code',
'valid_from',
'valid_to',
'discount_value_type',
'discount_value',
'products',
)
widgets = {
'valid_from': forms.DateInput(attrs = {
'type': 'date'
}),
'valid_to': forms.DateInput(attrs = {
'type': 'date'
}),
}
class OrderLineFulfillForm(forms.ModelForm):
# send_shipment_details_to_customer = forms.BooleanField(initial=True)
class Meta:
model = OrderLine
fields = ('quantity_fulfilled',)
widgets = {
'quantity_fulfilled': forms.NumberInput(attrs = {
'min': 0,
})
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['quantity_fulfilled'].widget.attrs['max'] = self.instance.quantity
OrderLineFormset = forms.inlineformset_factory(
Order, OrderLine, form=OrderLineFulfillForm,
extra=0, can_delete=False
)
class OrderTrackingForm(forms.ModelForm):
# send_shipment_details_to_customer = forms.BooleanField(initial=True)
class Meta:
model = TrackingNumber
fields = ('tracking_id',)
OrderTrackingFormset = forms.inlineformset_factory(
Order, TrackingNumber, form=OrderTrackingForm,
extra=1, can_delete=False
)
class ProductPhotoForm(forms.ModelForm):
class Meta:
model = ProductPhoto
fields = ('image',)