Source code for berhoel.django.media.forms

#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""Forms for media django project.
"""

# Django library imports.
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit, Fieldset
from crispy_forms.bootstrap import FormActions

# Local library imports.
from .models import Seen, Person
from .widgets import BootstrapDatePickerInput

__date__ = "2022/08/13 13:36:50 hoel"
__author__ = "Berthold Höllmann"
__copyright__ = "Copyright © 2020 by Berthold Höllmann"
__credits__ = ["Berthold Höllmann"]
__maintainer__ = "Berthold Höllmann"
__email__ = "berhoel@gmail.com"


[docs]class PersonForm(forms.ModelForm):
[docs] class Meta: model = Person exclude = ()
[docs] def __init__(self, *args: list, **kwargs: dict): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_method = "post" self.helper.add_input(Submit("submit", "Save person"))
[docs]class SeenForm(forms.ModelForm): date = forms.DateField( input_formats=["%d/%m/%Y"], widget=BootstrapDatePickerInput() )
[docs] class Meta: model = Seen fields = ("date", "watch_item")
[docs] def __init__(self, *args: list, **kwargs: dict): print(f"{args=}") print(f"{kwargs=}") super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.layout = Layout( Fieldset( "", "date", "watch_item", ), FormActions( Submit("update", "Submit Seen", css_class="btn-success"), Submit("cancel", "Cancel", css_class="btn-secondary"), ), )
[docs]class SeenDeleteForm(forms.ModelForm): date = forms.DateField( input_formats=["%d/%m/%Y"], widget=BootstrapDatePickerInput() )
[docs] class Meta: model = Seen fields = ("date", "watch_item")
[docs] def __init__(self, *args: list, **kwargs: dict): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.layout = Layout( Fieldset( "", "date", "watch_item", ), FormActions( Submit("delete", "Delete Seen", css_class="btn-danger"), Submit("cancel", "Cancel", css_class="btn-secondary"), ), )
# Local Variables: # mode: python # compile-command: "poetry run tox" # time-stamp-pattern: "30/__date__ = \"%:y/%02m/%02d %02H:%02M:%02S %u\"" # End: