from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Row, Column, Submit, Field
from .models import Testimonial


class TestimonialForm(forms.ModelForm):
    class Meta:
        model = Testimonial
        fields = ['name', 'role', 'program', 'quote', 'photo', 'video_url', 'is_published', 'display_order']
        widgets = {
            'quote': forms.Textarea(attrs={'rows': 4}),
        }

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.layout = Layout(
            Row(
                Column('name', css_class='col-md-6'),
                Column('role', css_class='col-md-6'),
            ),
            'program',
            'quote',
            Row(
                Column('photo', css_class='col-md-6'),
                Column('video_url', css_class='col-md-6'),
            ),
            Row(
                Column('is_published', css_class='col-md-4'),
                Column('display_order', css_class='col-md-4'),
            ),
            Submit('submit', 'Save Testimonial', css_class='btn btn-primary'),
        )
