fix subscriptions

This commit is contained in:
2026-05-28 21:56:07 +03:00
parent 572e6e86c4
commit cd3fce17ae

View File

@@ -62,7 +62,7 @@ def thread(thread_id, slug):
user = get_active_user() user = get_active_user()
if user: if user:
subscription = Subscriptions.find({'user_id': user.id, 'thread_id': thread.id}) subscription = Subscriptions.find({'user_id': user.id, 'thread_id': thread.id})
if subscription: if subscription and last_post['created_at'] > int(subscription.last_seen):
subscription.update({'last_seen': last_post['created_at']}) subscription.update({'last_seen': last_post['created_at']})
return render_template( return render_template(
'threads/thread.html', thread=thread, 'threads/thread.html', thread=thread,
@@ -82,13 +82,16 @@ def reply(thread_id):
if not user.can_post_to_thread_or_topic(thread): if not user.can_post_to_thread_or_topic(thread):
return redirect(url_for('.thread_by_id', thread_id=thread_id)) return redirect(url_for('.thread_by_id', thread_id=thread_id))
post = Posts.new(user.id, thread.id, request.form.get('babycode_content')) post = Posts.new(user.id, thread.id, request.form.get('babycode_content'))
subscription = Subscriptions.find({'user_id': user.id, 'thread_id': thread.id})
if get_form_checkbox('subscribe'): if get_form_checkbox('subscribe'):
if not Subscriptions.find({'user_id': user.id, 'thread_id': thread.id}): if not subscription:
Subscriptions.create({ subscription = Subscriptions.create({
'user_id': user.id, 'user_id': user.id,
'thread_id': thread.id, 'thread_id': thread.id,
'last_seen': time_now(), 'last_seen': time_now(),
}) })
if subscription and subscription.last_seen < time_now():
subscription.update({'last_seen': time_now()})
return redirect(url_for('.thread_by_id', thread_id=thread_id, after=post.id, _anchor=f'post-{post.id}')) return redirect(url_for('.thread_by_id', thread_id=thread_id, after=post.id, _anchor=f'post-{post.id}'))
@bp.get('/<int:thread_id>/edit/') @bp.get('/<int:thread_id>/edit/')