from django import forms

from apps.core.forms import MultipleFileField, StyledFormMixin

from .models import MediaAsset


class MediaUploadForm(StyledFormMixin, forms.Form):
    fichiers = MultipleFileField(label="Fichiers", required=True)
    collection = forms.ChoiceField(label="Classement", choices=MediaAsset.Collection.choices, initial="divers")
    credit = forms.CharField(label="Crédit (optionnel)", max_length=150, required=False)


class MediaEditForm(StyledFormMixin, forms.ModelForm):
    class Meta:
        model = MediaAsset
        fields = ["titre", "alt", "legende", "credit", "collection"]


class MediaFilterForm(StyledFormMixin, forms.Form):
    q = forms.CharField(required=False)
    type = forms.ChoiceField(choices=[("", "Tous les types")] + list(MediaAsset.Kind.choices), required=False)
    collection = forms.ChoiceField(choices=[("", "Tous les classements")] + list(MediaAsset.Collection.choices), required=False)
    mine = forms.BooleanField(required=False, label="Mes fichiers")
