Browse Source

Fixed changing prefix, post merging. Fixed one point in error handling.

promania 10 years ago
parent
commit
2b9a45a74b

+ 2 - 2
misago/apps/threads/thread.py

@@ -104,10 +104,10 @@ class ThreadView(ThreadBaseView, ThreadModeration, PostsModeration, TypeMixin):
 
 
     def _thread_action_set_prefix(self, prefix):
     def _thread_action_set_prefix(self, prefix):
         self.thread.prefix_id = prefix.pk
         self.thread.prefix_id = prefix.pk
-        thread.set_checkpoint(self.request, 'changed_prefix', self.request.user, self.forum, extra=prefix.name)
+        self.thread.set_checkpoint(self.request, 'changed_prefix', self.request.user, self.forum, extra=prefix.name)
         self.thread.save(force_update=True)
         self.thread.save(force_update=True)
 
 
     def _thread_action_remove_prefix(self):
     def _thread_action_remove_prefix(self):
         self.thread.prefix_id = None
         self.thread.prefix_id = None
-        thread.set_checkpoint(self.request, 'removed_prefix', self.request.user, self.forum)
+        self.thread.set_checkpoint(self.request, 'removed_prefix', self.request.user, self.forum)
         self.thread.save(force_update=True)
         self.thread.save(force_update=True)

+ 1 - 1
misago/apps/threadtype/thread/views.py

@@ -179,7 +179,7 @@ class ThreadBaseView(ViewBase):
                 if 'list_action' in self.posts_form.errors:
                 if 'list_action' in self.posts_form.errors:
                     self.message = Message(_("Requested action is incorrect."), messages.ERROR)
                     self.message = Message(_("Requested action is incorrect."), messages.ERROR)
                 else:
                 else:
-                    self.message = Message(posts_form.non_field_errors()[0], messages.ERROR)
+                    self.message = Message(self.posts_form.non_field_errors()[0], messages.ERROR)
         else:
         else:
             self.posts_form = self.posts_form(request=self.request)
             self.posts_form = self.posts_form(request=self.request)
 
 

+ 1 - 1
misago/models/attachmentmodel.py

@@ -176,4 +176,4 @@ merge_thread.connect(merge_thread_handler, dispatch_uid="merge_threads_attachmen
 def merge_post_handler(sender, **kwargs):
 def merge_post_handler(sender, **kwargs):
     sender.attachment_set.update(post=kwargs['new_post'], session=('attachments_%s' % kwargs['new_post'].pk))
     sender.attachment_set.update(post=kwargs['new_post'], session=('attachments_%s' % kwargs['new_post'].pk))
 
 
-merge_thread.connect(merge_thread_handler, dispatch_uid="merge_posts_attachments")
+merge_post.connect(merge_post_handler, dispatch_uid="merge_posts_attachments")

+ 4 - 1
misago/models/postmodel.py

@@ -99,7 +99,10 @@ class Post(models.Model):
         self._attachments = base64.encodestring(pickle.dumps(clean_attachments, pickle.HIGHEST_PROTOCOL))
         self._attachments = base64.encodestring(pickle.dumps(clean_attachments, pickle.HIGHEST_PROTOCOL))
 
 
     def sync_attachments(self):
     def sync_attachments(self):
-        self.attachments = self.attachment_set
+        if self.attachment_set.exists():
+            self.attachments = self.attachment_set.iterator()
+        else:
+            self._empty_attachments_store()
 
 
     @property
     @property
     def timeline_date(self):
     def timeline_date(self):