~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/bugs/browser/bugtask.py

[rs=buildbot-poller] automatic merge from stable. Revisions: 14440,
        14441 included.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2524
2524
    custom_widget('assignee', PersonPickerWidget)
2525
2525
    custom_widget('bug_reporter', PersonPickerWidget)
2526
2526
    custom_widget('bug_commenter', PersonPickerWidget)
2527
 
    custom_widget('bug_supervisor', PersonPickerWidget)
 
2527
    custom_widget('structural_subscriber', PersonPickerWidget)
2528
2528
    custom_widget('subscriber', PersonPickerWidget)
2529
2529
 
2530
2530
    @cachedproperty
3049
3049
            IDistroSeries.providedBy(context) or
3050
3050
            ISourcePackage.providedBy(context))
3051
3051
 
3052
 
    def shouldShowSupervisorWidget(self):
3053
 
        """
3054
 
        Should the bug supervisor widget be shown on the advanced search page?
3055
 
        """
3056
 
        return True
 
3052
    def shouldShowStructuralSubscriberWidget(self):
 
3053
        """Should the structural subscriber widget be shown on the page?
 
3054
 
 
3055
        Show the widget when there are subordinate structures.
 
3056
        """
 
3057
        return self.structural_subscriber_label is not None
3057
3058
 
3058
3059
    def shouldShowNoPackageWidget(self):
3059
3060
        """Should the widget to filter on bugs with no package be shown?
3096
3097
        """Should the User's Teams portlet me shown in the results?"""
3097
3098
        return False
3098
3099
 
 
3100
    @property
 
3101
    def structural_subscriber_label(self):
 
3102
        if IDistribution.providedBy(self.context):
 
3103
            return 'Package, or series subscriber'
 
3104
        elif IDistroSeries.providedBy(self.context):
 
3105
            return 'Package subscriber'
 
3106
        elif IProduct.providedBy(self.context):
 
3107
            return 'Series subscriber'
 
3108
        elif IProjectGroup.providedBy(self.context):
 
3109
            return 'Project or series subscriber'
 
3110
        elif IPerson.providedBy(self.context):
 
3111
            return 'Project, distribution, package, or series subscriber'
 
3112
        else:
 
3113
            return None
 
3114
 
3099
3115
    def getSortLink(self, colname):
3100
3116
        """Return a link that can be used to sort results by colname."""
3101
3117
        form = self.request.form
3198
3214
        error_message = _(
3199
3215
            "There's no person with the name or email address '%s'.")
3200
3216
 
3201
 
        for name in ('assignee', 'bug_reporter', 'bug_supervisor',
 
3217
        for name in ('assignee', 'bug_reporter', 'structural_subscriber',
3202
3218
                     'bug_commenter', 'subscriber'):
3203
3219
            if self.getFieldError(name):
3204
3220
                self.setFieldError(