from django import forms
from .models import Product, ProductBrand

class InquiryForm(forms.Form):
    name = forms.CharField(max_length=200, widget=forms.TextInput(attrs={'placeholder': 'Full Name'}))
    email = forms.EmailField(widget=forms.EmailInput(attrs={'placeholder': 'Email Address'}))
    message = forms.CharField(widget=forms.Textarea(attrs={'placeholder': 'Your Message'}))

class ProductPurchaseForm(forms.Form):
    name = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Full Name', 'class': 'form-control'}))
    email = forms.EmailField(widget=forms.EmailInput(attrs={'placeholder': 'Email Address', 'class': 'form-control'}))
    phone = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Phone Number', 'class': 'form-control'}))

    brands = forms.ModelMultipleChoiceField(
        queryset=ProductBrand.objects.all(),
        widget=forms.CheckboxSelectMultiple(),
        required=True
    )

    products = forms.ModelMultipleChoiceField(
        queryset=Product.objects.none(),  # Dynamically updated
        widget=forms.CheckboxSelectMultiple(),
        required=True
    )

    quantity = forms.IntegerField(widget=forms.NumberInput(attrs={'placeholder': 'Quantity', 'class': 'form-control'}))

    message = forms.CharField(widget=forms.Textarea(attrs={'placeholder': 'Additional Message', 'class': 'form-control'}), required=False)

    def __init__(self, *args, **kwargs):
        """Dynamically update products based on selected brands."""
        super(ProductPurchaseForm, self).__init__(*args, **kwargs)
        self.fields['brands'].queryset = ProductBrand.objects.all()  # Ensure brands load correctly