Browse Source

Added extra signals, providing_args

Rafał Pitoń 10 years ago
parent
commit
4f417ac6ff

+ 1 - 1
misago/forums/signals.py

@@ -7,7 +7,7 @@ from misago.forums.models import Forum, ForumRole
 
 
 delete_forum_content = django.dispatch.Signal()
-move_forum_content = django.dispatch.Signal()
+move_forum_content = django.dispatch.Signal(providing_args=["new_forum"])
 
 
 """

+ 4 - 0
misago/readtracker/forumstracker.py

@@ -3,6 +3,7 @@ from django.utils import timezone
 
 from misago.threads.permissions import exclude_invisible_threads
 
+from misago.readtracker import signals
 from misago.readtracker.dates import cutoff_date, is_date_tracked
 
 
@@ -43,6 +44,9 @@ def sync_record(user, forum):
 
     forum_is_read = read_threads_count == all_threads_count
 
+    if forum_is_read:
+        signals.forum_read.send(sender=user, forum=forum)
+
     try:
         forum_record = user.forumread_set.filter(forum=forum).all()[0]
         forum_record.last_updated_on = timezone.now()

+ 4 - 0
misago/readtracker/signals.py

@@ -4,6 +4,10 @@ from misago.forums.signals import move_forum_content
 from misago.threads.signals import move_thread
 
 
+forum_read = django.dispatch.Signal(providing_args=["forum"])
+thread_read = django.dispatch.Signal(providing_args=["thread"])
+
+
 """
 Signal handlers
 """

+ 2 - 1
misago/readtracker/threadstracker.py

@@ -1,4 +1,4 @@
-from misago.readtracker import forumstracker
+from misago.readtracker import forumstracker, signals
 from misago.readtracker.dates import cutoff_date, is_date_tracked
 
 
@@ -104,4 +104,5 @@ def sync_record(user, thread, last_read_reply):
             last_read_on=last_read_reply.updated_on)
 
     if last_read_reply.updated_on == thread.last_post_on:
+        signals.thread_read.send(sender=user, thread=thread)
         forumstracker.sync_record(user, thread.forum)

+ 1 - 1
misago/threads/signals.py

@@ -10,7 +10,7 @@ from misago.threads.models import Thread, Post
 delete_post = django.dispatch.Signal()
 delete_thread = django.dispatch.Signal()
 merge_post = django.dispatch.Signal()
-merge_thread = django.dispatch.Signal()
+merge_thread = django.dispatch.Signal(providing_args=["other_thread"])
 move_post = django.dispatch.Signal()
 move_thread = django.dispatch.Signal()