Private
Public Access
1
0
This commit is contained in:
2024-04-05 13:06:39 +02:00
parent c4f965070e
commit 813a8d86df
3 changed files with 21 additions and 8 deletions

View File

@@ -48,7 +48,7 @@
</li> </li>
<li> <li>
<p> <p>
<a href="/rowers/virtualevents/">Challenges page</a> <a href="/rowers/virtualevents/">All Active Challenges</a>
</p> </p>
<a href="/rowers/virtualevents/?nearby=true">Nearby Challenges</a> <a href="/rowers/virtualevents/?nearby=true">Nearby Challenges</a>
</p> </p>

Binary file not shown.

View File

@@ -32,7 +32,10 @@ def courses_challenges_view(request):
liked_courses = GeoCourse.objects.filter(followers=r) liked_courses = GeoCourse.objects.filter(followers=r)
courses = GeoCourse.objects.filter(id__in=[course.id for course in nearby_courses]) | liked_courses courses = GeoCourse.objects.filter(id__in=[course.id for course in nearby_courses]) | liked_courses
courses = sample(list(courses),3) if courses.count() >= 3:
courses = sample(list(courses),3)
else:
courses = GeoCourse.objects.all().order_by("country", "name", "distance")
coursesdicts = [] coursesdicts = []
for course in courses: for course in courses:
@@ -43,17 +46,27 @@ def courses_challenges_view(request):
'div': div, 'div': div,
}) })
allchallenges = VirtualRace.objects.all().order_by("-startdate")
totalnrchallenges = allchallenges.count()
challenges = VirtualRace.objects.filter(startdate__gte=timezone.now()) challenges = VirtualRace.objects.filter(startdate__gte=timezone.now())
challenges2 = VirtualRace.objects.filter(startdate__lte=timezone.now(), challenges2 = VirtualRace.objects.filter(startdate__lte=timezone.now(),
evaluation_closure__gte=timezone.now()-datetime.timedelta(days=3)) evaluation_closure__gte=timezone.now()-datetime.timedelta(days=3))
challenges = challenges | challenges2 challenges = challenges | challenges2
while len(challenges) < 3: count = 3
allchallenges = VirtualRace.objects.all().order_by("-startdate") if totalnrchallenges > count:
challenges = list(challenges)+sample(list(allchallenges), 3-len(challenges)) allchallenges = list(allchallenges)
challenges = list(set(challenges)) while len(challenges) < count:
try:
challenges = list(challenges)+sample(allchallenges, count-len(challenges))
except ValueError:
count = count-1
challenges = list(set(challenges))
else:
challenges = VirtualRace.objects.all()
count = challenges.count()
challenges = sample(list(challenges),3) challenges = sample(list(challenges),count)
challengesdicts = [] challengesdicts = []
for challenge in challenges: for challenge in challenges: