form to add a new rescuer

This commit is contained in:
gw3000 2023-06-19 22:55:50 +02:00
parent 129c1cfb49
commit c108965792
3 changed files with 59 additions and 4 deletions

37
rescuer/forms.py Normal file
View file

@ -0,0 +1,37 @@
from django import forms
from django.utils.translation import gettext_lazy as _
from .models import Rescuer
class DateInput(forms.DateInput):
input_type = 'date'
class RescuerForm(forms.ModelForm):
class Meta:
widgets = {'date_of_birth': DateInput()}
model = Rescuer
fields = [
"gender",
"first_name",
"last_name",
"street",
"street_number",
"zip_code",
"city",
"state",
"date_of_birth",
"email"]
labels = {
'gender': _('Geschlecht'),
'first_name': _('Vorname'),
'last_name': _('Nachname'),
'date_of_birth': _('Geburtstag'),
'street': _('Straße'),
'street_number': _('Hausnummer'),
'zip_code': _('Postleitzahl'),
'city': _('Stadt'),
'state': _('Land'),
'email': _('Email'),
}

View file

@ -1,7 +1,7 @@
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<h4>Retter anlegen</h4>
<h4>Einen neuen Retter anlegen</h4>
<div class="row">
<div class="col-lg-6">
<form method="post" class="form-horizontal">

View file

@ -1,5 +1,6 @@
from django.shortcuts import render
from django.shortcuts import render, redirect
from .forms import RescuerForm
from .models import Rescuer
@ -16,4 +17,21 @@ def rescuer_single(request, id):
def rescuer_create(request):
return render(request, "rescuer/rescuer_create.html")
form = RescuerForm()
if request.method == 'POST':
form = RescuerForm(request.POST or None)
if form.is_valid():
fs = form.save(commit=False)
fs.user = request.user
fs.save()
# set customer id in session cookie
# (uuid has to be cast to a string)
rescuer_id = str(fs.pk)
request.session['rescuer_id'] = rescuer_id
return redirect('bird_create')
context = {
'form': form
}
return render(request, 'rescuer/rescuer_create.html', context)