37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from django import forms
|
|
from django.contrib.auth.forms import UserCreationForm
|
|
from django.utils.safestring import mark_safe
|
|
from django.utils.translation import gettext_lazy as _
|
|
from friendly_captcha.fields import FrcCaptchaField
|
|
|
|
from .models import Offer, PflaenzliUser, Wish
|
|
|
|
|
|
class CreateOfferForm(forms.ModelForm):
|
|
class Meta:
|
|
model = Offer
|
|
fields = ['title', 'description', 'zipcode', 'image']
|
|
|
|
|
|
class RegistrationForm(UserCreationForm):
|
|
class Meta(UserCreationForm.Meta):
|
|
model = PflaenzliUser
|
|
fields = UserCreationForm.Meta.fields + ('email', 'zipcode',)
|
|
|
|
captcha = FrcCaptchaField()
|
|
|
|
|
|
class FilterForm(forms.Form):
|
|
text = forms.CharField(max_length=128, required=False, label=mark_safe(
|
|
f'<i class="fa-solid fa-magnifying-glass"></i> {_("Search")}'))
|
|
zipcode = forms.CharField(max_length=4, required=False, label=mark_safe(
|
|
f'<i class="fa-solid fa-location-dot"></i> {_("ZIP code")}'))
|
|
distance = forms.IntegerField(required=False, label=mark_safe(
|
|
f'<i class="fa-solid fa-signs-post"></i> {_("Entfernung")} (km)'))
|
|
|
|
|
|
class WishForm(forms.ModelForm):
|
|
class Meta:
|
|
model = Wish
|
|
fields = ['title']
|