feat: Add animal cards to adoption notice detail
This commit is contained in:
parent
273bef9526
commit
dabdc0ab34
@ -41,6 +41,19 @@ class AdoptionNoticeForm(forms.ModelForm):
|
||||
fields = ['name', "group_only", "further_information", "description", "searching_since"]
|
||||
|
||||
|
||||
class AnimalForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.helper = FormHelper()
|
||||
self.helper.form_class = 'form-animal'
|
||||
self.helper.add_input(Submit('save-and-add-another-animal', _('Speichern und weiteres Tier hinzufügen')))
|
||||
self.helper.add_input(Submit('save-and-finish', _('Speichern und beenden')))
|
||||
|
||||
class Meta:
|
||||
model = Animal
|
||||
fields = ["name", "date_of_birth", "species", "sex", "description"]
|
||||
|
||||
|
||||
class ImageForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
@ -5,7 +5,8 @@
|
||||
{% block content %}
|
||||
<div class="detail-adoption-notice-header">
|
||||
<h1 class="detail-adoption-notice-header">{{ adoption_notice.name }}</h1>
|
||||
<a class="btn2 detail-adoption-notice-header" href="{% url 'adoption-notice-edit' 1 %}/{{ adoption_notice.pk }}">{% translate 'Bearbeiten' %}</a>
|
||||
<a class="btn2 detail-adoption-notice-header"
|
||||
href="{% url 'adoption-notice-edit' 1 %}/{{ adoption_notice.pk }}">{% translate 'Bearbeiten' %}</a>
|
||||
</div>
|
||||
<div class="table-adoption-notice-info">
|
||||
<table>
|
||||
@ -37,6 +38,13 @@
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
<div>
|
||||
{% for animal in adoption_notice.animals %}
|
||||
{% include "fellchensammlung/partials/partial-animal-card.html" %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% include "fellchensammlung/partials/partial-comment-section.html" %}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -17,6 +17,8 @@ urlpatterns = [
|
||||
path("vermittlung/<int:adoption_notice_id>/", views.adoption_notice_detail, name="adoption-notice-detail"),
|
||||
# ex: /adoption_notice/7/edit
|
||||
path("vermittlung/<int:adoption_notice_id>/edit", views.adoption_notice_edit, name="adoption-notice-edit"),
|
||||
# ex: /adoption_notice/2/add-animal
|
||||
path("vermittlung/<int:adoption_notice_id>/add-animal", views.adoption_notice_add_animal, name="adoption-notice-add-animal"),
|
||||
|
||||
# ex: /search/
|
||||
path("suchen/", views.search, name="search"),
|
||||
|
@ -13,7 +13,7 @@ from notfellchen import settings
|
||||
from fellchensammlung import logger
|
||||
from fellchensammlung.models import AdoptionNotice, Text, Animal, Rule, Image, Report, ModerationAction, \
|
||||
Member
|
||||
from .forms import AdoptionNoticeForm, ImageForm, ReportAdoptionNoticeForm, CommentForm, ReportCommentForm
|
||||
from .forms import AdoptionNoticeForm, ImageForm, ReportAdoptionNoticeForm, CommentForm, ReportCommentForm, AnimalForm
|
||||
from .models import Language
|
||||
|
||||
|
||||
@ -101,6 +101,23 @@ def add_adoption(request):
|
||||
form = AdoptionNoticeForm()
|
||||
return render(request, 'fellchensammlung/forms/form_add_adoption.html', {'form': form})
|
||||
|
||||
@login_required
|
||||
def adoption_notice_add_animal(request, adoption_notice_id):
|
||||
if request.method == 'POST':
|
||||
form = AnimalForm(request.POST, request.FILES)
|
||||
|
||||
if form.is_valid():
|
||||
instance = form.save(commit=False)
|
||||
instance.adoption_notice_id = adoption_notice_id
|
||||
instance.save()
|
||||
form.save_m2m()
|
||||
if True:
|
||||
return redirect(reverse("adoption-notice-detail", args=[instance.pk]))
|
||||
else:
|
||||
return render(request, 'fellchensammlung/forms/form_add_animal_to_adoption.html')
|
||||
else:
|
||||
form = AnimalForm()
|
||||
return render(request, 'fellchensammlung/forms/form_add_animal_to_adoption.html', {'form': form})
|
||||
|
||||
@login_required
|
||||
def edit_adoption_notice(request, animal_id):
|
||||
|
Loading…
Reference in New Issue
Block a user