def notify_bugtask_edited(modified_bugtask, event): """Notify CC'd subscribers of this bug that something has changed on this task. modified_bugtask must be an IBugTask. event must be an IObjectModifiedEvent. """ bugtask_delta = event.object.getDelta(event.object_before_modification) bug_delta = BugDelta( bug=event.object.bug, bugurl=canonical_url(event.object.bug), bugtask_deltas=bugtask_delta, user=IPerson(event.user)) event_creator = IPerson(event.user) previous_subscribers = event.object_before_modification.bug_subscribers current_subscribers = event.object.bug_subscribers prev_subs_set = set(previous_subscribers) cur_subs_set = set(current_subscribers) new_subs = cur_subs_set.difference(prev_subs_set) add_bug_change_notifications( bug_delta, old_bugtask=event.object_before_modification, new_subscribers=new_subs) send_bug_details_to_new_bug_subscribers( event.object.bug, previous_subscribers, current_subscribers, event_creator=event_creator)
def notify_bugtask_edited(modified_bugtask, event): """Notify CC'd subscribers of this bug that something has changed on this task. modified_bugtask must be an IBugTask. event must be an IObjectModifiedEvent. """ bugtask_delta = event.object.getDelta(event.object_before_modification) bug_delta = BugDelta(bug=event.object.bug, bugurl=canonical_url(event.object.bug), bugtask_deltas=bugtask_delta, user=IPerson(event.user)) event_creator = IPerson(event.user) previous_subscribers = event.object_before_modification.bug_subscribers current_subscribers = event.object.bug_subscribers prev_subs_set = set(previous_subscribers) cur_subs_set = set(current_subscribers) new_subs = cur_subs_set.difference(prev_subs_set) add_bug_change_notifications(bug_delta, old_bugtask=event.object_before_modification, new_subscribers=new_subs) send_bug_details_to_new_bug_subscribers(event.object.bug, previous_subscribers, current_subscribers, event_creator=event_creator)
def test_self_notification_preference_respected(self): # If the person modifying the bug does not want to be notified about # their own changes, they will not be. actor = FauxPerson() any_sent = send_bug_details_to_new_bug_subscribers(None, [], [actor], event_creator=actor) # Since the creator of the event was the only person to be notified # and they don't want self-notifications, no messages were sent. self.assertThat(any_sent, Is(False))
def test_self_notification_preference_respected(self): # If the person modifying the bug does not want to be notified about # their own changes, they will not be. actor = FauxPerson() any_sent = send_bug_details_to_new_bug_subscribers( None, [], [actor], event_creator=actor) # Since the creator of the event was the only person to be notified # and they don't want self-notifications, no messages were sent. self.assertThat(any_sent, Is(False))