
from django import forms
from .models import NotificationTemplate

class NotificationTemplateForm(forms.ModelForm):
    class Meta:
        model = NotificationTemplate
        fields = ['name', 'template_type', 'subject', 'content', 'variables_help', 'is_active']
        widgets = {
            'name': forms.TextInput(attrs={
                'class': 'form-control',
                'placeholder': 'Enter template name'
            }),
            'template_type': forms.Select(attrs={
                'class': 'form-select'
            }),
            'subject': forms.TextInput(attrs={
                'class': 'form-control',
                'placeholder': 'Email subject (leave blank for SMS templates)'
            }),
            'content': forms.Textarea(attrs={
                'class': 'form-control',
                'rows': 8,
                'placeholder': 'Enter your message template. Use {{variable}} for dynamic content.'
            }),
            'variables_help': forms.Textarea(attrs={
                'class': 'form-control',
                'rows': 3,
                'placeholder': 'List available variables (e.g., customer_name, amount, date)'
            }),
            'is_active': forms.CheckboxInput(attrs={
                'class': 'form-check-input'
            })
        }
        
    def __init__(self, *args, **kwargs):
        super().__init__(**kwargs)
        self.fields['subject'].help_text = "Required for email templates, leave blank for SMS templates"
        self.fields['content'].help_text = "Use {{variable_name}} for dynamic content"
        self.fields['variables_help'].help_text = "Document available variables for this template"

class TestSMSForm(forms.Form):
    phone = forms.CharField(
        max_length=15,
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': '+254712345678'
        }),
        help_text="Enter phone number with country code"
    )
    message = forms.CharField(
        widget=forms.Textarea(attrs={
            'class': 'form-control',
            'rows': 4,
            'placeholder': 'Enter test message...'
        }),
        help_text="Maximum 160 characters for single SMS"
    )

class TestEmailForm(forms.Form):
    email = forms.EmailField(
        widget=forms.EmailInput(attrs={
            'class': 'form-control',
            'placeholder': 'test@example.com'
        })
    )
    subject = forms.CharField(
        max_length=200,
        widget=forms.TextInput(attrs={
            'class': 'form-control',
            'placeholder': 'Test Email Subject'
        })
    )
    message = forms.CharField(
        widget=forms.Textarea(attrs={
            'class': 'form-control',
            'rows': 6,
            'placeholder': 'Enter test email message...'
        })
    )
