diff options
Diffstat (limited to 'app/blog')
-rw-r--r-- | app/blog/models.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/app/blog/models.py b/app/blog/models.py index 4ad6022..1b828fe 100644 --- a/app/blog/models.py +++ b/app/blog/models.py @@ -194,12 +194,27 @@ from django_gravatar.helpers import get_gravatar_url, has_gravatar, get_gravatar from django.dispatch import receiver from django_comments.signals import comment_was_posted from django_comments import Comment +from django_comments.moderation import CommentModerator, moderator + +class EntryModerator(CommentModerator): + ''' + Moderate everything except people with multiple approvals + ''' + email_notification = True + + def moderate(self, comment, content_object, request): + previous_approvals = Comment.objects.filter(user_email=comment.email, is_public=True).count() + if previous_approvals > 2: + return False + #do entry build right here so it goes to live site + return True + +moderator.register(Entry, EntryModerator) @receiver(comment_was_posted, sender=Comment) def cache_gravatar(sender, comment, **kwargs): gravatar_exists = has_gravatar(comment.email) grav_dir = settings.IMAGES_ROOT + '/gravcache/' - print(gravatar_exists) if gravatar_exists: url = get_gravatar_url(comment.email, size=60) if not os.path.isdir(grav_dir): |