Fix: Datetime behavioral issues.

This commit is contained in:
Ben Rog-Wilhelm 2023-06-17 04:41:51 -05:00
parent bd909f394d
commit c610c60dc0
4 changed files with 9 additions and 6 deletions

View file

@ -1,5 +1,5 @@
import functools
from datetime import datetime
from datetime import datetime, timezone
from sqlalchemy.orm import relationship
from sqlalchemy.schema import Column, ForeignKey
@ -80,8 +80,8 @@ class ScheduledSubmissionTask(RepeatableTask):
# HTML template for previewing a submitted task
@property
def state_user_deleted_utc(self) -> int:
return self.task.enabled and 1 or None
def state_user_deleted_utc(self) -> datetime | None:
return datetime.now(tz=timezone.utc) if not self.task.enabled else None
@functools.cached_property
def title_html(self) -> str:

View file

@ -7,6 +7,7 @@ from files.helpers.media import process_image
from files.helpers.wrappers import *
from files.routes.importstar import *
from datetime import datetime, timezone
@app.get("/comment/<cid>")
@app.get("/post/<pid>/<anything>/<cid>")
@ -334,7 +335,7 @@ def delete_comment(cid, v):
c = get_comment(cid, v=v)
if c.state_user_deleted_utc: abort(409)
if c.author_id != v.id: abort(403)
c.state_user_deleted_utc = time.time()
c.state_user_deleted_utc = datetime.now(tz=timezone.utc)
# TODO: update stateful counters
g.db.add(c)
g.db.commit()

View file

@ -4,6 +4,8 @@ import urllib.parse
from io import BytesIO
from urllib.parse import ParseResult, urlparse
from datetime import datetime, timezone
import gevent
import requests
import werkzeug.wrappers
@ -603,7 +605,7 @@ def delete_post_pid(pid, v):
if post.author_id != v.id:
abort(403)
post.state_user_deleted_utc = datetime.now()
post.state_user_deleted_utc = datetime.now(tz=timezone.utc)
post.is_pinned = False
post.stickied = None

View file

@ -512,7 +512,7 @@
</script>
{% endif %}
{% elif not p.replies and p.state_user_deleted_utc == None %}
{% elif not p.replies and p.state_user_deleted_utc is none %}
<div class="comment-section text-center py-7" id="replies-of-{{p.id}}">
<div class="row no-gutters" id="placeholder-comment">
<div class="col">