Notfellchen/src/fellchensammlung/forms.py

72 lines
2.0 KiB
Python
Raw Normal View History

from django import forms
from .models import AdoptionNotice, Animal, Image, Report, ModerationAction, User
2024-04-07 09:33:41 +00:00
from django_registration.forms import RegistrationForm
2024-04-20 06:06:20 +00:00
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit
from django.utils.translation import gettext_lazy as _
class DateInput(forms.DateInput):
input_type = 'date'
class AdoptionNoticeForm(forms.ModelForm):
2024-04-20 06:06:20 +00:00
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.helper = FormHelper()
2024-04-20 06:40:04 +00:00
self.helper.form_id = 'form-adoption-notice'
2024-04-20 06:06:20 +00:00
self.helper.form_class = 'card'
self.helper.form_method = 'post'
2024-04-20 06:40:16 +00:00
self.helper.layout = Layout(
Fieldset(
_('Vermittlungsdetails'),
'name',
'group_only',
'searching_since',
'description',
'further_information',
),
Submit('submit', _('Submit'))
)
2024-04-20 06:06:20 +00:00
class Meta:
model = AdoptionNotice
fields = ['name', "group_only", "further_information", "description", "searching_since"]
widgets = {
'searching_since': DateInput(),
}
class AnimalForm(forms.ModelForm):
class Meta:
model = Animal
2024-03-20 10:38:30 +00:00
picture = forms.ImageField(label='Image', required=False)
fields = ['name', "species", "sex", "date_of_birth", "description"]
widgets = {
'date_of_birth': DateInput(),
}
class ImageForm(forms.ModelForm):
class Meta:
model = Image
fields = ('title', 'image', 'alt_text')
2024-03-22 11:45:50 +00:00
class ReportForm(forms.ModelForm):
class Meta:
model = Report
fields = ('reported_broken_rules', 'comment')
class ModerationActionForm(forms.ModelForm):
class Meta:
model = ModerationAction
fields = ('action', 'public_comment', 'private_comment')
2024-04-07 09:33:41 +00:00
class CustomRegistrationForm(RegistrationForm):
class Meta(RegistrationForm.Meta):
model = User