from django import forms
from .models import Contact


class ContactForm(forms.ModelForm):
    class Meta:
        model  = Contact
        fields = ['nom', 'email', 'telephone', 'organisation', 'service', 'sujet', 'message']
        widgets = {
            'nom': forms.TextInput(attrs={
                'placeholder': 'Votre nom complet',
            }),
            'email': forms.EmailInput(attrs={
                'placeholder': 'votre@email.com',
            }),
            'telephone': forms.TextInput(attrs={
                'placeholder': '+221 77 XXX XX XX',
            }),
            'organisation': forms.TextInput(attrs={
                'placeholder': 'Votre entreprise / institution',
            }),
            'service': forms.Select(),
            'sujet': forms.TextInput(attrs={
                'placeholder': 'Objet de votre demande',
            }),
            'message': forms.Textarea(attrs={
                'placeholder': 'Décrivez votre projet ou votre demande...',
                'rows': 5,
            }),
        }

    def clean_email(self):
        email = self.cleaned_data.get('email')
        if email:
            email = email.lower().strip()
        return email

    def clean_message(self):
        message = self.cleaned_data.get('message')
        if message and len(message) < 10:
            raise forms.ValidationError('Votre message est trop court (minimum 10 caractères).')
        return message