def __iter__(self): assert IBugTask.providedBy(self.context), ( "BugWatchVocabulary expects its context to be an IBugTask.") bug = self.context.bug for watch in bug.watches: yield self.toTerm(watch)
def __init__(self, default_bugtask=None, milestones=None): assert default_bugtask is None or IBugTask.providedBy(default_bugtask) self.default_bugtask = default_bugtask self._milestones = None if milestones is not None: self._milestones = dict( (str(milestone.id), milestone) for milestone in milestones)
def initialize(self): """Create a notifcation for a linked bug status change.""" assert IObjectModifiedEvent.providedBy(self.event), ( "Should only be subscribed for IObjectModifiedEvent.") assert IBugTask.providedBy(self.event.object), ( "Should only be subscribed for IBugTask modification.") self.bugtask = self.event.object self.old_bugtask = self.event.object_before_modification
def get_bug_and_bugtasks(bug_or_bugtask): """Return a bug and a list of bugtasks given a bug or a bugtask. :param bug_or_bugtask: An `IBug` or `IBugTask`. :raises ValueError: If `bug_or_bugtask` does not provide `IBug` or `IBugTask`. """ if IBug.providedBy(bug_or_bugtask): return bug_or_bugtask, bug_or_bugtask.bugtasks elif IBugTask.providedBy(bug_or_bugtask): return bug_or_bugtask.bug, [bug_or_bugtask] else: raise ValueError("Expected bug or bugtask, got %r" % (bug_or_bugtask,))
def get_bug_change_class(obj, field_name): """Return a suitable IBugChange to describe obj and field_name.""" if IBugTask.providedBy(obj): lookup = BUGTASK_CHANGE_LOOKUP else: lookup = BUG_CHANGE_LOOKUP try: return lookup[field_name] except KeyError: raise NoBugChangeFoundError( "Unable to find a suitable BugChange for field '%s' on object " "%s" % (field_name, obj))
def get_bug_and_bugtasks(bug_or_bugtask): """Return a bug and a list of bugtasks given a bug or a bugtask. :param bug_or_bugtask: An `IBug` or `IBugTask`. :raises ValueError: If `bug_or_bugtask` does not provide `IBug` or `IBugTask`. """ if IBug.providedBy(bug_or_bugtask): return bug_or_bugtask, bug_or_bugtask.bugtasks elif IBugTask.providedBy(bug_or_bugtask): return bug_or_bugtask.bug, [bug_or_bugtask] else: raise ValueError( "Expected bug or bugtask, got %r" % (bug_or_bugtask,))
def _getSubscriptionDetails(self): cache = dict() # The subscription details for the current user. self.extractBugSubscriptionDetails(self.user, self.context.bug, cache) # The subscription details for other users to populate the subscribers # list in the portlet. if IBugTask.providedBy(self.context): bug = self.context.bug else: bug = self.context subscribers_portlet = BugPortletSubscribersWithDetails( bug, self.request) subscription_data = subscribers_portlet.subscriber_data result_data = dict( cache_data=cache, subscription_data=subscription_data) return result_data