Browse Source

More fixes in soft deletion

Rafał Pitoń 11 years ago
parent
commit
67cc36101d

+ 6 - 0
misago/apps/threadtype/list/moderation.py

@@ -251,6 +251,9 @@ class ThreadsListModeration(object):
             if thread.pk in ids and thread.deleted:
                 undeleted.append(thread.pk)
                 thread.start_post.deleted = False
+                thread.start_post.edit_user = self.request.user
+                thread.start_post.edit_user_name = self.request.user.username
+                thread.start_post.edit_user_slug = self.request.user.username_slug
                 thread.start_post.save(force_update=True)
                 thread.sync()
                 thread.save(force_update=True)
@@ -273,6 +276,9 @@ class ThreadsListModeration(object):
             if thread.pk in ids and not thread.deleted:
                 deleted.append(thread.pk)
                 thread.start_post.deleted = True
+                thread.start_post.edit_user = self.request.user
+                thread.start_post.edit_user_name = self.request.user.username
+                thread.start_post.edit_user_slug = self.request.user.username_slug
                 thread.start_post.save(force_update=True)
                 thread.sync()
                 thread.save(force_update=True)

+ 17 - 2
misago/apps/threadtype/thread/moderation/posts.py

@@ -169,7 +169,14 @@ class PostsModeration(object):
             if post.pk in ids and post.deleted:
                 undeleted.append(post.pk)
         if undeleted:
-            self.thread.post_set.filter(id__in=undeleted).update(deleted=False, current_date=timezone.now())
+            update_kwargs = {
+                'deleted': False,
+                'current_date': timezone.now(),
+                'edit_user': self.request.user,
+                'edit_user_name': self.request.user.username,
+                'edit_user_slug': self.request.user.username_slug,
+            }
+            self.thread.post_set.filter(id__in=undeleted).update(**update_kwargs)
             self.thread.sync()
             self.thread.save(force_update=True)
             self.forum.sync()
@@ -186,7 +193,15 @@ class PostsModeration(object):
                     raise forms.ValidationError(_("You cannot delete first post of thread using this action. If you want to delete thread, use thread moderation instead."))
                 deleted.append(post.pk)
         if deleted:
-            self.thread.post_set.filter(id__in=deleted).update(deleted=True, current_date=timezone.now(), delete_date=timezone.now())
+            update_kwargs = {
+                'deleted': True,
+                'current_date': timezone.now(),
+                'delete_date': timezone.now(),
+                'edit_user': self.request.user,
+                'edit_user_name': self.request.user.username,
+                'edit_user_slug': self.request.user.username_slug,
+            }
+            self.thread.post_set.filter(id__in=deleted).update(**update_kwargs)
             self.thread.sync()
             self.thread.save(force_update=True)
             self.forum.sync()

+ 6 - 0
misago/apps/threadtype/thread/moderation/thread.py

@@ -108,6 +108,9 @@ class ThreadModeration(object):
     def thread_action_undelete(self):
         # Update first post in thread
         self.thread.start_post.deleted = False
+        self.thread.start_post.edit_user = self.request.user
+        self.thread.start_post.edit_user_name = self.request.user.username
+        self.thread.start_post.edit_user_slug = self.request.user.username_slug
         self.thread.start_post.save(force_update=True)
         # Update thread
         self.thread.sync()
@@ -129,6 +132,9 @@ class ThreadModeration(object):
     def thread_action_soft(self):
         # Update first post in thread
         self.thread.start_post.deleted = True
+        self.thread.start_post.edit_user = self.request.user
+        self.thread.start_post.edit_user_name = self.request.user.username
+        self.thread.start_post.edit_user_slug = self.request.user.username_slug
         self.thread.start_post.save(force_update=True)
         # Update thread
         self.thread.sync()