Browse Source

Store canceler on user model. #37

Rafał Pitoń 11 years ago
parent
commit
5574a17f5e
1 changed files with 9 additions and 1 deletions
  1. 9 1
      misago/models/warnmodel.py

+ 9 - 1
misago/models/warnmodel.py

@@ -4,7 +4,7 @@ from misago.signals import rename_user
 class Warn(models.Model):
 class Warn(models.Model):
     user = models.ForeignKey('User')
     user = models.ForeignKey('User')
     giver = models.ForeignKey('User', null=True, blank=True,
     giver = models.ForeignKey('User', null=True, blank=True,
-                              on_delete=models.SET_NULL, related_name="warnings_given_set")
+        on_delete=models.SET_NULL, related_name="warnings_given_set")
     giver_name = models.CharField(max_length=255)
     giver_name = models.CharField(max_length=255)
     giver_slug = models.SlugField(max_length=255)
     giver_slug = models.SlugField(max_length=255)
     date = models.DateTimeField()
     date = models.DateTimeField()
@@ -13,6 +13,10 @@ class Warn(models.Model):
     reason = models.TextField(null=True, blank=True)
     reason = models.TextField(null=True, blank=True)
     reason_preparsed = models.TextField(null=True, blank=True)
     reason_preparsed = models.TextField(null=True, blank=True)
     canceled = models.BooleanField(default=False)
     canceled = models.BooleanField(default=False)
+    canceler = models.ForeignKey('User', null=True, blank=True,
+        on_delete=models.SET_NULL, related_name="warnings_canceled_set")
+    canceler_name = models.CharField(max_length=255)
+    canceler_slug = models.SlugField(max_length=255)
 
 
     class Meta:
     class Meta:
         app_label = 'misago'
         app_label = 'misago'
@@ -23,5 +27,9 @@ def rename_user_handler(sender, **kwargs):
                                              giver_name=sender.username,
                                              giver_name=sender.username,
                                              giver_slug=sender.username_slug,
                                              giver_slug=sender.username_slug,
                                              )
                                              )
+    Warn.objects.filter(canceler=sender).update(
+                                             canceler_name=sender.username,
+                                             canceler_slug=sender.username_slug,
+                                             )
 
 
 rename_user.connect(rename_user_handler, dispatch_uid="rename_user_warnings")
 rename_user.connect(rename_user_handler, dispatch_uid="rename_user_warnings")