2
2
from django.contrib.auth.models import User
3
3
from django.contrib.contenttypes.models import ContentType
4
4
from django.contrib.contenttypes.fields import GenericForeignKey
7
class FoundSpam(models.Model):
8
spam_text = models.CharField(max_length=200)
9
user = models.ForeignKey(User)
10
content_type = models.ForeignKey(ContentType)
5
from django.conf import settings
9
class SuspiciousInput(models.Model):
10
"""Model for collecting suspicios user input.
12
content_object = Models instance of a saved(!) object
14
text = text to check for suspicious content
17
text = models.CharField(max_length=200, verbose_name="suspicious user input")
18
user = models.ForeignKey(User, verbose_name="related user")
19
content_type = models.ForeignKey(ContentType, verbose_name="related model")
11
20
object_id = models.PositiveIntegerField()
12
21
content_object = GenericForeignKey('content_type', 'object_id')
24
ordering = ['content_type_id']
25
default_permissions = ('change',)
14
27
def __unicode__(self):
30
def is_suspicious(self):
31
if any(x in self.text.lower() for x in settings.ANTI_SPAM_KWRDS):
33
if re.search(settings.ANTI_SPAM_PHONE_NR, self.text):
37
def save(self, *args, **kwargs):
38
is_spam = self.is_suspicious()
40
super(SuspiciousInput, self).save(*args, **kwargs)
b'\\ No newline at end of file'