fixed implementation of UGC content uploader

This commit is contained in:
2026-08-03 18:57:39 -05:00
parent 39e31d3980
commit 473b3c811b
40 changed files with 4137 additions and 87 deletions
+22 -1
View File
@@ -3,9 +3,12 @@ import random
import time
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db.models import Sum
from django.shortcuts import redirect, render
from common.middleware import gate_whitelist
from library.models import Project, Version
def _under_lockout(request):
@@ -47,4 +50,22 @@ def gate(request):
def home(request):
return render(request, 'landing/home.html')
latest_projects = (
Project.objects.select_related('owner', 'thumbnail')
.prefetch_related('tag_links__tag__category', 'versions')
.order_by('-created_at')[:4]
)
total_downloads = Version.objects.aggregate(total=Sum('downloads'))['total'] or 0
creators = (
get_user_model().objects.filter(projects__isnull=False).distinct().count()
)
context = {
'latest_projects': latest_projects,
'stats': {
'creators': creators,
'packs': Project.objects.count(),
'downloads': total_downloads,
'versions': Version.objects.count(),
},
}
return render(request, 'landing/home.html', context)