refactor(bulma): Add support for rescue organizations
This commit is contained in:
@@ -156,6 +156,9 @@ class RescueOrganization(models.Model):
|
||||
def get_absolute_url(self):
|
||||
return reverse("rescue-organization-detail", args=[str(self.pk)])
|
||||
|
||||
def get_absolute_url_bulma(self):
|
||||
return reverse("bulma-rescue-organization-detail", args=[str(self.pk)])
|
||||
|
||||
@property
|
||||
def adoption_notices(self):
|
||||
return AdoptionNotice.objects.filter(organization=self)
|
||||
@@ -173,6 +176,8 @@ class RescueOrganization(models.Model):
|
||||
return ""
|
||||
if len(self.description) > 200:
|
||||
return self.description[:200] + _(f" ... [weiterlesen]({self.get_absolute_url()})")
|
||||
else:
|
||||
return self.description
|
||||
|
||||
def set_checked(self):
|
||||
self.last_checked = timezone.now()
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 546 B |
@@ -0,0 +1,15 @@
|
||||
{% extends "fellchensammlung/base_bulma.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}<title>{% translate "Tierschutzorganisationen" %}</title>{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="block">
|
||||
<div style="height: 70vh">
|
||||
{% include "fellchensammlung/partials/bulma-partial-map.html" %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="block">
|
||||
{% include "fellchensammlung/lists/bulma-list-animal-shelters.html" %}
|
||||
</div>
|
||||
{% endblock %}
|
@@ -0,0 +1,72 @@
|
||||
{% extends "fellchensammlung/base_bulma.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}<title>{{ org.name }}</title>{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h1 class="card-header-title">{{ org.name }}</h1>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="block">
|
||||
<b><i class="fa-solid fa-location-dot"></i></b>
|
||||
{% if org.location %}
|
||||
{{ org.location }}
|
||||
{% else %}
|
||||
{{ org.location_string }}
|
||||
{% endif %}
|
||||
{% if org.description %}
|
||||
<p>{{ org.description | render_markdown }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="panel block">
|
||||
<p class="panel-heading">{% trans "Kontaktdaten" %}</p>
|
||||
{% if org.website %}
|
||||
<a class="panel-block is-active">
|
||||
<span class="panel-icon">
|
||||
<i class="fas fa-globe" aria-label="{% translate "Website" %}"></i>
|
||||
</span>
|
||||
{{ org.website }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if org.phone_number %}
|
||||
<a class="panel-block is-active">
|
||||
<span class="panel-icon">
|
||||
<i class="fas fa-phone" aria-label="{% translate "Telefonnummer" %}"></i>
|
||||
</span>
|
||||
{{ org.phone_number }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if org.email %}
|
||||
<a class="panel-block is-active">
|
||||
<span class="panel-icon">
|
||||
<i class="fas fa-envelope" aria-label="{% translate "E-Mail" %}"></i>
|
||||
</span>
|
||||
{{ org.email }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
{% include "fellchensammlung/partials/bulma-partial-map.html" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>{% translate 'Vermittlungen der Organisation' %}</h2>
|
||||
<div class="container-cards">
|
||||
{% if org.adoption_notices %}
|
||||
{% for adoption_notice in org.adoption_notices %}
|
||||
{% include "fellchensammlung/partials/bulma-partial-adoption-notice-minimal.html" %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<p>{% translate "Keine Vermittlungen gefunden." %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
@@ -0,0 +1,12 @@
|
||||
{% load i18n %}
|
||||
<div class="grid is-col-min-10">
|
||||
{% if rescue_organizations %}
|
||||
{% for rescue_organization in rescue_organizations %}
|
||||
<div class="cell">
|
||||
{% include "fellchensammlung/partials/bulma-partial-rescue-organization.html" %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<p>{% translate "Keine Tierschutzorganisationen gefunden." %}</p>
|
||||
{% endif %}
|
||||
</div>
|
@@ -59,7 +59,7 @@
|
||||
{% for rescue_organization in rescue_organizations %}
|
||||
{% if rescue_organization.location %}
|
||||
// create the popup
|
||||
const popup_{{ forloop.counter }} = new maplibregl.Popup({offset: 25}).setHTML(`{% include "fellchensammlung/partials/partial-rescue-organization.html" %}`);
|
||||
const popup_{{ forloop.counter }} = new maplibregl.Popup({offset: 25}).setHTML(`{% include "fellchensammlung/partials/bulma-partial-rescue-organization-minimal-map.html" %}`);
|
||||
|
||||
// create DOM element for the marker
|
||||
const el_{{ forloop.counter }} = document.createElement('div');
|
||||
|
@@ -0,0 +1,40 @@
|
||||
{% load custom_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
{% load custom_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
|
||||
<h2 class="title is-4">
|
||||
<a href="{{ rescue_organization.get_absolute_url_bulma }}"> {{ rescue_organization.name }}</a>
|
||||
</h2>
|
||||
|
||||
<div class="grid mb-0">
|
||||
<div class="cell">
|
||||
<!--- General Information --->
|
||||
<div class="grid">
|
||||
|
||||
<div class="cell">
|
||||
|
||||
<p>
|
||||
<b><i class="fa-solid fa-location-dot"></i></b>
|
||||
{% if rescue_organization.location %}
|
||||
{{ rescue_organization.location }}
|
||||
{% else %}
|
||||
{{ rescue_organization.location_string }}
|
||||
{% endif %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if rescue_organization.description_short %}
|
||||
<div class="content">
|
||||
{{ rescue_organization.description_short | render_markdown }}
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,25 @@
|
||||
{% load custom_tags %}
|
||||
{% load i18n %}
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h2 class="card-header-title"><a
|
||||
href="{{ rescue_organization.get_absolute_url_bulma }}"> {{ rescue_organization.name }}</a></h2>
|
||||
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<p>
|
||||
<b><i class="fa-solid fa-location-dot"></i></b>
|
||||
{% if rescue_organization.location %}
|
||||
{{ rescue_organization.location.str_hr }}
|
||||
{% else %}
|
||||
{{ rescue_organization.location_string }}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
{% if rescue_organization.description_short %}
|
||||
{{ rescue_organization.description_short | render_markdown }}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
@@ -30,7 +30,8 @@ urlpatterns = [
|
||||
path("bulma/tier/<int:animal_id>/add-photo", views.add_photo_to_animal_bulma, name="animal-add-photo-bulma"),
|
||||
# ex: /adoption_notice/7/
|
||||
path("vermittlung/<int:adoption_notice_id>/", views.adoption_notice_detail, name="adoption-notice-detail"),
|
||||
path("bulma/vermittlung/<int:adoption_notice_id>/", views.adoption_notice_detail_bulma, name="adoption-notice-detail-bulma"),
|
||||
path("bulma/vermittlung/<int:adoption_notice_id>/", views.adoption_notice_detail_bulma,
|
||||
name="adoption-notice-detail-bulma"),
|
||||
# ex: /adoption_notice/7/edit
|
||||
path("vermittlung/<int:adoption_notice_id>/edit", views.adoption_notice_edit, name="adoption-notice-edit"),
|
||||
# ex: /vermittlung/5/add-photo
|
||||
@@ -43,8 +44,11 @@ urlpatterns = [
|
||||
name="adoption-notice-add-animal"),
|
||||
|
||||
path("tierschutzorganisationen/", views.list_rescue_organizations, name="rescue-organizations"),
|
||||
path("bulma/tierschutzorganisationen/", views.bulma_list_rescue_organizations, name="bulma-rescue-organizations"),
|
||||
path("organisation/<int:rescue_organization_id>/", views.detail_view_rescue_organization,
|
||||
name="rescue-organization-detail"),
|
||||
path("bulma/organisation/<int:rescue_organization_id>/", views.bulma_detail_view_rescue_organization,
|
||||
name="bulma-rescue-organization-detail"),
|
||||
|
||||
# ex: /search/
|
||||
path("suchen/", views.search, name="search"),
|
||||
|
@@ -408,6 +408,7 @@ def add_photo_to_animal(request, animal_id):
|
||||
form = ImageForm(in_flow=True)
|
||||
return render(request, 'fellchensammlung/forms/form-image.html', {'form': form})
|
||||
|
||||
|
||||
@login_required
|
||||
def add_photo_to_animal_bulma(request, animal_id):
|
||||
animal = Animal.objects.get(id=animal_id)
|
||||
@@ -440,7 +441,6 @@ def add_photo_to_animal_bulma(request, animal_id):
|
||||
return render(request, 'fellchensammlung/forms/bulma-form-image.html', {'form': form})
|
||||
|
||||
|
||||
|
||||
@login_required
|
||||
def add_photo_to_adoption_notice(request, adoption_notice_id):
|
||||
adoption_notice = AdoptionNotice.objects.get(id=adoption_notice_id)
|
||||
@@ -468,6 +468,7 @@ def add_photo_to_adoption_notice(request, adoption_notice_id):
|
||||
form = ImageForm(in_flow=True)
|
||||
return render(request, 'fellchensammlung/forms/form-image.html', {'form': form})
|
||||
|
||||
|
||||
@login_required
|
||||
def add_photo_to_adoption_notice_bulma(request, adoption_notice_id):
|
||||
adoption_notice = AdoptionNotice.objects.get(id=adoption_notice_id)
|
||||
@@ -808,18 +809,29 @@ def external_site_warning(request):
|
||||
return render(request, 'fellchensammlung/external_site_warning.html', context=context)
|
||||
|
||||
|
||||
def list_rescue_organizations(request):
|
||||
def list_rescue_organizations(request, template='fellchensammlung/animal-shelters.html'):
|
||||
rescue_organizations = RescueOrganization.objects.all()
|
||||
context = {"rescue_organizations": rescue_organizations}
|
||||
return render(request, 'fellchensammlung/animal-shelters.html', context=context)
|
||||
return render(request, template, context=context)
|
||||
|
||||
|
||||
def detail_view_rescue_organization(request, rescue_organization_id):
|
||||
def bulma_list_rescue_organizations(request):
|
||||
return list_rescue_organizations(request, template='fellchensammlung/bulma-animal-shelters.html')
|
||||
|
||||
|
||||
def detail_view_rescue_organization(request, rescue_organization_id,
|
||||
template='fellchensammlung/details/detail-rescue-organization.html'):
|
||||
org = RescueOrganization.objects.get(pk=rescue_organization_id)
|
||||
return render(request, 'fellchensammlung/details/detail-rescue-organization.html',
|
||||
return render(request, template,
|
||||
context={"org": org, "map_center": org.position, "zoom_level": 6, "rescue_organizations": [org]})
|
||||
|
||||
|
||||
def bulma_detail_view_rescue_organization(request, rescue_organization_id):
|
||||
return detail_view_rescue_organization(request,
|
||||
rescue_organization_id,
|
||||
template='fellchensammlung/details/bulma-detail-rescue-organization.html')
|
||||
|
||||
|
||||
def export_own_profile(request):
|
||||
user = request.user
|
||||
ANs = AdoptionNotice.objects.filter(owner=user)
|
||||
|
Reference in New Issue
Block a user