I do not understand the first part of your answer. I see this in MilestoneView._bugtasks:
...
for task in tasks:
if task.getConjoinedMaster(bugs_and_tasks[task.bug]) is None: non_conjoined_slaves.append(task)
# Checking bug permissions is expensive. We know from the query that
# the user has at least launchpad.View on the bugtasks and their bugs. precache_permission_for_objects( self.request, 'launchpad.View', non_conjoined_slaves) precache_permission_for_objects( self.request, 'launchpad.View', [task.bug for task in non_conjoined_slaves])
return non_conjoined_slaves
Since you modified the permission rules on bugtask, I wonder if the first precache_permission_for_objects() is not needed. I wonder if permission checking is fast enough.
We stopped adding enahncements to the milestone page when the preformance problems started, and we cannot entertain allowing users to edit the bugtasks unless we know the user has launchpad.Edit. I wonder if this permission change allows us to consider enhancements.
I do not understand the first part of your answer. I see this in MilestoneView. _bugtasks: edMaster( bugs_and_ tasks[task. bug]) is None:
non_conjoined _slaves. append( task)
precache_ permission_ for_objects(
self. request, 'launchpad.View', non_conjoined_ slaves)
precache_ permission_ for_objects(
self. request, 'launchpad.View',
[task. bug for task in non_conjoined_ slaves] ) slaves
...
for task in tasks:
if task.getConjoin
# Checking bug permissions is expensive. We know from the query that
# the user has at least launchpad.View on the bugtasks and their bugs.
return non_conjoined_
Since you modified the permission rules on bugtask, I wonder if the first precache_ permission_ for_objects( ) is not needed. I wonder if permission checking is fast enough.
We stopped adding enahncements to the milestone page when the preformance problems started, and we cannot entertain allowing users to edit the bugtasks unless we know the user has launchpad.Edit. I wonder if this permission change allows us to consider enhancements.