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] 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] 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] 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: