diff --git a/biostar/accounts/tasks.py b/biostar/accounts/tasks.py index eeca0b71f..05443e672 100644 --- a/biostar/accounts/tasks.py +++ b/biostar/accounts/tasks.py @@ -108,7 +108,7 @@ def create_messages(template, user_ids, sender=None, extra_context={}): context.update(extra_context) body = tmpl.render(context) html = mistune.markdown(body, escape=False) + body = MessageBody.objects.create(body=body, html=html) for rec in rec_list: - body = MessageBody.objects.create(body=body, html=html) Message.objects.create(sender=sender, recipient=rec, body=body) diff --git a/biostar/forum/management/commands/cleanup.py b/biostar/forum/management/commands/cleanup.py index 8023b5346..1b9e7a16f 100644 --- a/biostar/forum/management/commands/cleanup.py +++ b/biostar/forum/management/commands/cleanup.py @@ -3,7 +3,7 @@ from datetime import datetime, timedelta from django.db.models import Count from django.core.management.base import BaseCommand -from biostar.accounts.models import Message, User +from biostar.accounts.models import Message, User, MessageBody from biostar.forum.util import now from biostar.forum.models import PostView, Post @@ -19,10 +19,6 @@ def prune_data(weeks=10, days=1, delall=False): past_days = now() - timedelta(days=days) weeks_since = now() - timedelta(weeks=weeks) - #spam_posts = Post.objects.filter(spam=Post.SPAM) - #logger.info(f"Deleting {spam_posts.count()} spam posts") - #spam_posts.delete() - # Remove post views. post_views = PostView.objects.filter(date__lt=past_days) logger.info(f"Deleting {post_views.count()} post views") @@ -37,11 +33,11 @@ def prune_data(weeks=10, days=1, delall=False): logger.info(f"Deleting {messages.count()} messages") messages.delete() - # Get rid of too many messages - #users = User.objects.annotate(total=Count("message__recipient")).filter(total__gt=MAX_MSG)[:100] - #for user in users: - # since = now() - timedelta(days=1) - # Message.objects.filter(user=user, sent_at__lt=since).delete() + # Get all messages bodies without a message + bodies = MessageBody.objects.filter(message=None) + + logger.info(f"Deleting {bodies.count()} message bodies.") + bodies.delete() return diff --git a/biostar/forum/static/forum.css b/biostar/forum/static/forum.css index 5b7718c82..89001856a 100644 --- a/biostar/forum/static/forum.css +++ b/biostar/forum/static/forum.css @@ -125,6 +125,11 @@ blockquote.twitter-tweet { padding-bottom: 1ex; } +tr.message > td{ + overflow-x: auto; + max-width: 0; +} + #logo { padding: 0px 5px 5px 5px; / / background-color: var(--logo-background); diff --git a/biostar/forum/templates/message_list.html b/biostar/forum/templates/message_list.html index 2ad63d941..3d3fd4ae1 100644 --- a/biostar/forum/templates/message_list.html +++ b/biostar/forum/templates/message_list.html @@ -17,7 +17,7 @@ {% for message in all_messages %} - +
@@ -25,7 +25,7 @@ {{ message.sent_date|timesince }} ago {{ message.sender.profile.name }} wrote: -

{{ message.body.html|safe }}

+

{{ message.body.html|safe|truncatewords_html:180 }}