Mercurial > public > sg101
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) |