diff --git a/files/classes/comment.py b/files/classes/comment.py index bfde5189d..5e7075ecd 100644 --- a/files/classes/comment.py +++ b/files/classes/comment.py @@ -450,10 +450,14 @@ class Notification(Base): user_id = Column(Integer, ForeignKey("users.id")) comment_id = Column(Integer, ForeignKey("comments.id")) read = Column(Boolean, default=False) + created_utc = Column(Integer) comment = relationship("Comment", viewonly=True) user = relationship("User", viewonly=True) - def __repr__(self): + def __init__(self, *args, **kwargs): + if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time()) + super().__init__(*args, **kwargs) - return f"" + def __repr__(self): + return f"" \ No newline at end of file diff --git a/files/classes/flags.py b/files/classes/flags.py index fa88ffd0b..11ea71260 100644 --- a/files/classes/flags.py +++ b/files/classes/flags.py @@ -13,11 +13,15 @@ class Flag(Base): post_id = Column(Integer, ForeignKey("submissions.id")) user_id = Column(Integer, ForeignKey("users.id")) reason = Column(String) - + created_utc = Column(Integer) + user = relationship("User", primaryjoin = "Flag.user_id == User.id", uselist = False, viewonly=True) - def __repr__(self): + def __init__(self, *args, **kwargs): + if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time()) + super().__init__(*args, **kwargs) + def __repr__(self): return f"" @property @@ -43,11 +47,15 @@ class CommentFlag(Base): user_id = Column(Integer, ForeignKey("users.id")) comment_id = Column(Integer, ForeignKey("comments.id")) reason = Column(String) - + created_utc = Column(Integer) + user = relationship("User", primaryjoin = "CommentFlag.user_id == User.id", uselist = False, viewonly=True) - def __repr__(self): + def __init__(self, *args, **kwargs): + if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time()) + super().__init__(*args, **kwargs) + def __repr__(self): return f"" @property diff --git a/files/classes/subscriptions.py b/files/classes/subscriptions.py index 05f8ae40b..fa06e8d9c 100644 --- a/files/classes/subscriptions.py +++ b/files/classes/subscriptions.py @@ -22,11 +22,13 @@ class Follow(Base): id = Column(Integer, primary_key=True) user_id = Column(Integer, ForeignKey("users.id")) target_id = Column(Integer, ForeignKey("users.id")) + created_utc = Column(Integer) user = relationship("User", uselist=False, primaryjoin="User.id==Follow.user_id", viewonly=True) target = relationship("User", primaryjoin="User.id==Follow.target_id", viewonly=True) def __init__(self, *args, **kwargs): + if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time()) super().__init__(*args, **kwargs) def __repr__(self): diff --git a/files/helpers/sanitize.py b/files/helpers/sanitize.py index 8a41ddad9..eed536fa4 100644 --- a/files/helpers/sanitize.py +++ b/files/helpers/sanitize.py @@ -95,7 +95,7 @@ def sanitize_marquee(tag, name, value): return False allowed_attributes = { - '*': ['href', 'style', 'src', 'class', 'title'], + '*': ['href', 'style', 'src', 'class', 'title', 'alt', 'loading'], 'marquee': sanitize_marquee} allowed_protocols = ['http', 'https'] diff --git a/files/routes/users.py b/files/routes/users.py index 7cad7207a..f498dba02 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -397,8 +397,7 @@ def get_css(username): return resp @app.get("/@/profilecss") -@auth_required -def get_profilecss(v, username): +def get_profilecss(username): user = get_user(username) if user.profilecss: profilecss = user.profilecss else: profilecss = "" diff --git a/files/templates/header.html b/files/templates/header.html index 5d2fc72bb..ebfebc031 100644 --- a/files/templates/header.html +++ b/files/templates/header.html @@ -123,7 +123,7 @@ - +