annotate antispam/models.py @ 631:f36d1a168be7

For issue 27, disable login dialog button during POST. This seems to prevent multiple logins most of the time. You can still bang on the enter key and sometimes get more through.
author Brian Neal <bgneal@gmail.com>
date Wed, 14 Nov 2012 20:57:05 -0600
parents ee87ea74d46b
children
rev   line source
bgneal@214 1 """Models for the antispam application."""
bgneal@214 2 from django.db import models
bgneal@214 3 from django.core.cache import cache
bgneal@214 4
bgneal@214 5 from antispam import SPAM_PHRASE_KEY
bgneal@214 6
bgneal@214 7
bgneal@214 8 class SpamPhrase(models.Model):
bgneal@214 9 """A SpamPhrase is a string that is checked for in user input. User input
bgneal@214 10 containing a SpamPhrase should be blocked and flagged.
bgneal@214 11 """
bgneal@214 12 phrase = models.CharField(max_length=64)
bgneal@214 13
bgneal@214 14 class Meta:
bgneal@214 15 ordering = ('phrase', )
bgneal@214 16
bgneal@214 17 def __unicode__(self):
bgneal@214 18 return self.phrase
bgneal@214 19
bgneal@214 20 def save(self, *args, **kwargs):
bgneal@214 21 cache.delete(SPAM_PHRASE_KEY)
bgneal@215 22 self.phrase = self.phrase.lower()
bgneal@214 23 super(SpamPhrase, self).save(*args, **kwargs)