feat: Filter adoption notices to show only active ones
This commit is contained in:
parent
195a5ab26a
commit
71e69356b8
@ -256,6 +256,10 @@ class AdoptionNotice(models.Model):
|
|||||||
domain = urlparse(self.further_information).netloc
|
domain = urlparse(self.further_information).netloc
|
||||||
return f"<a href='{self.further_information}'>{domain}</a>"
|
return f"<a href='{self.further_information}'>{domain}</a>"
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_active(self):
|
||||||
|
return self.status.is_active
|
||||||
|
|
||||||
|
|
||||||
class Animal(models.Model):
|
class Animal(models.Model):
|
||||||
MALE_NEUTERED = "M_N"
|
MALE_NEUTERED = "M_N"
|
||||||
|
@ -22,10 +22,11 @@ from .tools.geo import GeoAPI
|
|||||||
def index(request):
|
def index(request):
|
||||||
"""View function for home page of site."""
|
"""View function for home page of site."""
|
||||||
latest_adoption_list = AdoptionNotice.objects.order_by("-created_at")[:5]
|
latest_adoption_list = AdoptionNotice.objects.order_by("-created_at")[:5]
|
||||||
|
active_adoptions = [adoption for adoption in latest_adoption_list if adoption.is_active]
|
||||||
language_code = translation.get_language()
|
language_code = translation.get_language()
|
||||||
lang = Language.objects.get(languagecode=language_code)
|
lang = Language.objects.get(languagecode=language_code)
|
||||||
active_announcements = Announcement.get_active_announcements(lang)
|
active_announcements = Announcement.get_active_announcements(lang)
|
||||||
context = {"adoption_notices": latest_adoption_list, "announcements": active_announcements}
|
context = {"adoption_notices": active_adoptions, "announcements": active_announcements}
|
||||||
|
|
||||||
return render(request, 'fellchensammlung/index.html', context=context)
|
return render(request, 'fellchensammlung/index.html', context=context)
|
||||||
|
|
||||||
@ -98,12 +99,14 @@ def search(request):
|
|||||||
search_position = geo_api.get_coordinates_from_query(request.POST['postcode'])
|
search_position = geo_api.get_coordinates_from_query(request.POST['postcode'])
|
||||||
|
|
||||||
latest_adoption_list = AdoptionNotice.objects.order_by("-created_at")
|
latest_adoption_list = AdoptionNotice.objects.order_by("-created_at")
|
||||||
adoption_notices_in_distance = [a for a in latest_adoption_list if a.in_distance(search_position, max_distance)]
|
active_adoptions = [adoption for adoption in latest_adoption_list if adoption.is_active]
|
||||||
|
adoption_notices_in_distance = [a for a in active_adoptions if a.in_distance(search_position, max_distance)]
|
||||||
context = {"adoption_notices": adoption_notices_in_distance, "search_form": search_form}
|
context = {"adoption_notices": adoption_notices_in_distance, "search_form": search_form}
|
||||||
else:
|
else:
|
||||||
latest_adoption_list = AdoptionNotice.objects.order_by("-created_at")
|
latest_adoption_list = AdoptionNotice.objects.order_by("-created_at")
|
||||||
|
active_adoptions = [adoption for adoption in latest_adoption_list if adoption.is_active]
|
||||||
search_form = AdoptionNoticeSearchForm()
|
search_form = AdoptionNoticeSearchForm()
|
||||||
context = {"adoption_notices": latest_adoption_list, "search_form": search_form}
|
context = {"adoption_notices": active_adoptions, "search_form": search_form}
|
||||||
return render(request, 'fellchensammlung/search.html', context=context)
|
return render(request, 'fellchensammlung/search.html', context=context)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user