diff --git a/history/models.py b/history/models.py index 160fe66..7098fa5 100644 --- a/history/models.py +++ b/history/models.py @@ -142,6 +142,7 @@ class Level(models.Model): comment = models.TextField(blank=True, null=True) is_public = models.BooleanField(blank=True, null=True, db_index=True) #this is to prevent leaking unlisted levels publicly is_deleted = models.BooleanField(blank=True, null=True, db_index=True) + hide_from_search = models.BooleanField(db_index=True, default=False) cache_level_name = models.CharField(blank=True, null=True, max_length=255, db_index=True) cache_submitted = models.DateTimeField(blank=True, null=True, db_index=True) diff --git a/history/views.py b/history/views.py index 11696cf..8a73271 100644 --- a/history/views.py +++ b/history/views.py @@ -107,7 +107,7 @@ def search(request): query_filter = Q(cache_level_name__icontains=query) | Q(online_id=query) if query.isnumeric() else Q(cache_level_name__icontains=query) - levels = Level.objects.filter(query_filter).filter(is_public=True) + levels = Level.objects.filter(query_filter).filter(is_public=True, hide_from_search=False) #TODO: better implement admin search filters if request.user.is_authenticated and query == 'admin:private' and request.user.is_superuser: