Source code for photos.forms

from django import forms
from django.utils.translation import gettext_lazy as _

from photos.models import Photo, Album
from photos.validators import ArchiveFileTypeValidator


[docs]class AlbumForm(forms.ModelForm): """Class for an album submission form.""" def __init__(self, *args, **kwargs): """Initialize AlbumForm. Set the cover options to photos from the specified album. https://stackoverflow.com/questions/4391776/django-admin-inline-forms-limit-foreign-key-queryset-to-a-set-of-values#4392047 """ super().__init__(*args, **kwargs) if "instance" in kwargs and "_cover" in self.fields: self.fields["_cover"].queryset = Photo.objects.filter(album=self.instance) album_archive = forms.FileField( required=False, help_text=_("Uploading a zip or tar file adds all contained images as photos."), validators=[ArchiveFileTypeValidator()], )
[docs] class Meta: """Meta class for AlbumForm.""" model = Album fields = ( "title_en", "date", "slug", "hidden", "new_album_notification", "shareable", "_cover", )