Changeset 8589
- Timestamp:
- 08/26/08 13:53:52 (3 months ago)
- Files:
-
- django/trunk/django/contrib/comments/signals.py (modified) (1 diff)
- django/trunk/django/contrib/comments/views/comments.py (modified) (2 diffs)
- django/trunk/django/contrib/comments/views/moderation.py (modified) (3 diffs)
- django/trunk/tests/regressiontests/comment_tests/tests/comment_view_tests.py (modified) (3 diffs)
- django/trunk/tests/regressiontests/comment_tests/tests/moderation_view_tests.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/comments/signals.py
r8557 r8589 10 10 # the same time (just before, actually) as the Comment object's pre-save signal, 11 11 # except that the HTTP request is sent along with this signal. 12 comment_will_be_posted = Signal( )12 comment_will_be_posted = Signal(providing_args=["comment", "request"]) 13 13 14 14 # Sent just after a comment was posted. See above for how this differs 15 15 # from the Comment object's post-save signal. 16 comment_was_posted = Signal( )16 comment_was_posted = Signal(providing_args=["comment", "request"]) 17 17 18 18 # Sent after a comment was "flagged" in some way. Check the flag to see if this 19 19 # was a user requesting removal of a comment, a moderator approving/removing a 20 20 # comment, or some other custom user flag. 21 comment_was_flagged = Signal( )21 comment_was_flagged = Signal(providing_args=["comment", "flag", "created", "request"]) django/trunk/django/contrib/comments/views/comments.py
r8557 r8589 97 97 98 98 # Signal that the comment is about to be saved 99 responses = signals.comment_will_be_posted.send(comment) 99 responses = signals.comment_will_be_posted.send( 100 sender = comment.__class__, 101 comment = comment, 102 request = request 103 ) 100 104 101 105 for (receiver, response) in responses: … … 106 110 # Save the comment and signal that it was saved 107 111 comment.save() 108 signals.comment_was_posted.send(comment) 112 signals.comment_was_posted.send( 113 sender = comment.__class__, 114 comment = comment, 115 request = request 116 ) 109 117 110 118 return next_redirect(data, next, comment_done, c=comment._get_pk_val()) django/trunk/django/contrib/comments/views/moderation.py
r8557 r8589 28 28 flag = comments.models.CommentFlag.SUGGEST_REMOVAL 29 29 ) 30 signals.comment_was_flagged.send(comment) 30 signals.comment_was_flagged.send( 31 sender = comment.__class__, 32 comment = comment, 33 flag = flag, 34 created = created, 35 request = request, 36 ) 31 37 return next_redirect(request.POST.copy(), next, flag_done, c=comment.pk) 32 38 … … 62 68 comment.is_removed = True 63 69 comment.save() 64 signals.comment_was_flagged.send(comment) 70 signals.comment_was_flagged.send( 71 sender = comment.__class__, 72 comment = comment, 73 flag = flag, 74 created = created, 75 request = request, 76 ) 65 77 return next_redirect(request.POST.copy(), next, delete_done, c=comment.pk) 66 78 … … 99 111 comment.save() 100 112 101 signals.comment_was_flagged.send(comment) 113 signals.comment_was_flagged.send( 114 sender = comment.__class__, 115 comment = comment, 116 flag = flag, 117 created = created, 118 request = request, 119 ) 102 120 return next_redirect(request.POST.copy(), next, approve_done, c=comment.pk) 103 121 django/trunk/tests/regressiontests/comment_tests/tests/comment_view_tests.py
r8557 r8589 103 103 # callback 104 104 def receive(sender, **kwargs): 105 self.assertEqual(sender.comment, "This is my comment") 106 # TODO: Get the two commented tests below to work. 107 # self.assertEqual(form_data["comment"], "This is my comment") 108 # self.assertEqual(request.method, "POST") 105 self.assertEqual(kwargs['comment'].comment, "This is my comment") 106 self.assert_('request' in kwargs) 109 107 received_signals.append(kwargs.get('signal')) 110 108 … … 118 116 self.testCreateValidComment() 119 117 self.assertEqual(received_signals, excepted_signals) 120 118 121 119 def testWillBePostedSignal(self): 122 120 """ … … 138 136 """ 139 137 def receive(sender, **kwargs): 140 sender.is_public = False # a bad but effective spam filter :)... 138 # a bad but effective spam filter :)... 139 kwargs['comment'].is_public = False 141 140 142 141 signals.comment_will_be_posted.connect(receive) django/trunk/tests/regressiontests/comment_tests/tests/moderation_view_tests.py
r8557 r8589 49 49 # callback 50 50 def receive(sender, **kwargs): 51 flag = sender.flags.get(id=1) 52 self.assertEqual(flag.flag, CommentFlag.SUGGEST_REMOVAL) 53 self.assertEqual(flag.user.username, "normaluser") 51 self.assertEqual(kwargs['flag'].flag, CommentFlag.SUGGEST_REMOVAL) 52 self.assertEqual(kwargs['request'].user.username, "normaluser") 54 53 received_signals.append(kwargs.get('signal')) 55 54
