Rafał Pitoń 11 лет назад
Родитель
Сommit
1389b36362
1 измененных файлов с 8 добавлено и 5 удалено
  1. 8 5
      misago/apps/threadtype/jumps.py

+ 8 - 5
misago/apps/threadtype/jumps.py

@@ -128,11 +128,13 @@ class WatchThreadBaseView(JumpView):
                 watcher.thread = self.thread
                 watcher.starter_id = self.thread.start_poster_id
                 watcher.last_read = timezone.now()
+            watcher.deleted = False
             self.update_watcher(request, watcher)
-            if watcher.pk:
-                watcher.save(force_update=True)
-            else:
-                watcher.save(force_insert=True)
+            if not watcher.deleted:
+                if watcher.pk:
+                    watcher.save(force_update=True)
+                else:
+                    watcher.save(force_insert=True)
             return self.get_retreat()
         return view(self.request)
 
@@ -149,7 +151,8 @@ class WatchEmailThreadBaseView(WatchThreadBaseView):
 class UnwatchThreadBaseView(WatchThreadBaseView):
     def update_watcher(self, request, watcher):
         watcher.deleted = True
-        watcher.delete()
+        if watcher.pk:
+            watcher.delete()
         if watcher.email:
             messages.success(request, _('This thread has been removed from your watched threads list. You will no longer receive e-mails with notifications when somebody replies to it.'), 'threads')
         else: