diff --git a/files/events/helpers/get.py b/files/events/helpers/get.py index e8db19aca..84339dfde 100644 --- a/files/events/helpers/get.py +++ b/files/events/helpers/get.py @@ -1,10 +1,11 @@ -from typing import Union +from typing import Optional, Union from sqlalchemy.orm import scoped_session from files.events.classes.eventuser import EventUser from files.classes.user import User -def get_or_create_event_user(target:Union[int, User], db:scoped_session) -> EventUser: +def get_or_create_event_user(target:Union[int, User], db:scoped_session) -> Optional[EventUser]: + if target is None: return None if isinstance(target, User): target = target.id # type: ignore user = db.get(EventUser, target) if not user: diff --git a/files/events/templates/music.html b/files/events/templates/music.html index afff89ebc..52bb866bf 100644 --- a/files/events/templates/music.html +++ b/files/events/templates/music.html @@ -1,4 +1,4 @@ -{% if not (v and v.poor) and (not event_v or event_v.event_music) and not (sub and sub.name == 'music') %} +{% if not (v and v.poor) and (not g.event_v or g.event_v.event_music) and not (sub and sub.name == 'music') %} {% if not song %} {% set path = "assets/media/event/music" %} {% set song = "/" + path + "/" + listdir('files/' + path)|random() + '?v=45' %} diff --git a/files/routes/wrappers.py b/files/routes/wrappers.py index c649116a1..f1c6e4471 100644 --- a/files/routes/wrappers.py +++ b/files/routes/wrappers.py @@ -80,6 +80,9 @@ def get_logged_in_user(): abort(403) g.v = v + if HOLIDAY_EVENT: + from files.events.helpers.get import get_or_create_event_user + g.event_v = get_or_create_event_user(v, g.db) if v: v.poor = session.get('poor')