from django.conf import settings
from django.core.mail import mail_admins
from django.core.management import BaseCommand
from django.urls import reverse
from django.utils.translation import ngettext
from articles.models import Comment
class Command(BaseCommand):
help = "Check for pending comments and send an email to the admin."
def handle(self, *args, **options):
count = Comment.objects.filter(status=Comment.PENDING).count()
if count:
url = reverse("admin:articles_comment_changelist")
url = (settings.BLOG["base_url"] + url).replace(
"//", "/"
) + "?status__exact=pending"
message = (
ngettext(
"There is %(count)d comment pending review.\n%(url)s",
"There are %(count)d comments pending review.\n%(url)s",
count,
)
% {"count": count, "url": url}
mail_admins("Comments pending review", message)