~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/registry/browser/distroseriesdifference.py

Merge db-devel.

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
    IComment,
53
53
    IConversation,
54
54
    )
 
55
from lp.services.propertycache import cachedproperty
55
56
 
56
57
 
57
58
class DistroSeriesDifferenceNavigation(Navigation):
73
74
        """Return the formatted list of packagesets for the related
74
75
        sourcepackagename in the parent.
75
76
        """
76
 
        packagesets = self.context.getParentPackageSets()
77
 
        return self._formatPackageSets(packagesets)
 
77
        return self._formatPackageSets(self.context.parent_packagesets)
78
78
 
79
79
    @property
80
80
    def packagesets_names(self):
81
81
        """Return the formatted list of packagesets for the related
82
82
        sourcepackagename in the derived series.
83
83
        """
84
 
        packagesets = self.context.getPackageSets()
85
 
        return self._formatPackageSets(packagesets)
 
84
        return self._formatPackageSets(self.context.packagesets)
86
85
 
87
86
    def _formatPackageSets(self, packagesets):
88
87
        """Format a list of packagesets to display in the UI."""
150
149
            DistroSeriesDifferenceDisplayComment(comment) for
151
150
                comment in comments]
152
151
 
153
 
    @property
 
152
    @cachedproperty
154
153
    def can_request_diffs(self):
155
154
        """Does the user have permission to request diff calculation?"""
156
155
        return check_permission('launchpad.Edit', self.context)
157
156
 
158
 
    @property
159
 
    def show_edit_options(self):
160
 
        """Only show the options if an editor requests via JS."""
 
157
    @cachedproperty
 
158
    def show_add_comment(self):
 
159
        """Only show the 'Add comment' if an editor requests via JS."""
161
160
        return self.request.is_ajax and self.can_request_diffs
162
161
 
 
162
    @cachedproperty
 
163
    def show_blacklist_options(self):
 
164
        """Should we show the blacklisting (ignore) radio widget options.
 
165
 
 
166
        Only show the options if an editor requests via JS and the user
 
167
        is an archive admin.
 
168
        """
 
169
        return self.request.is_ajax and check_permission(
 
170
            'launchpad.Admin', self.context)
 
171
 
163
172
    @property
164
173
    def display_diffs(self):
165
174
        """Only show diffs if there's a base version."""