コード例 #1
0
ファイル: bugtask.py プロジェクト: pombreda/UnnaturalCodeFork
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)
コード例 #2
0
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)
コード例 #3
0
 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))
コード例 #4
0
 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))