feat: add events app + "multi-tenants" aka multi-events
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
from functools import wraps
|
||||
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from events.models import Event
|
||||
from .models import Game
|
||||
|
||||
|
||||
@@ -9,12 +11,15 @@ def require_game_enabled(steam_app_id: int):
|
||||
def decorator(view_func):
|
||||
@wraps(view_func)
|
||||
def wrapper(request, *args, **kwargs):
|
||||
try:
|
||||
game = Game.objects.get(steam_app_id=steam_app_id)
|
||||
except Game.DoesNotExist:
|
||||
raise PermissionDenied
|
||||
if not game.enabled:
|
||||
event = get_object_or_404(Event, path=kwargs.get("event_path"))
|
||||
|
||||
if (
|
||||
not Game.objects.enabled_for_event(event)
|
||||
.filter(steam_app_id=steam_app_id)
|
||||
.exists()
|
||||
):
|
||||
raise PermissionDenied
|
||||
|
||||
return view_func(request, *args, **kwargs)
|
||||
|
||||
return wrapper
|
||||
|
||||
Reference in New Issue
Block a user