~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/bugs/model/bugnomination.py

  • Committer: Steve Kowalik
  • Date: 2011-08-07 04:05:52 UTC
  • mto: This revision was merged to the branch mainline in revision 13626.
  • Revision ID: stevenk@ubuntu.com-20110807040552-mwnxo0flmhvl35e8
Correct the notification based on review comments, and remove request{,ed}
from the function names, switching to create{,d}.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
    ForeignKey,
23
23
    SQLObjectNotFound,
24
24
    )
 
25
from zope.component import getUtility
25
26
from zope.interface import implements
26
27
 
 
28
from canonical.database.constants import UTC_NOW
 
29
from canonical.database.datetimecol import UtcDateTimeCol
 
30
from canonical.database.enumcol import EnumCol
 
31
from canonical.database.sqlbase import SQLBase
27
32
from lp.app.errors import NotFoundError
 
33
from lp.app.interfaces.launchpad import ILaunchpadCelebrities
28
34
from lp.bugs.adapters.bugchange import BugTaskAdded
29
35
from lp.bugs.interfaces.bugnomination import (
30
36
    BugNominationStatus,
33
39
    IBugNominationSet,
34
40
    )
35
41
from lp.registry.interfaces.person import validate_public_person
36
 
from lp.services.database.constants import UTC_NOW
37
 
from lp.services.database.datetimecol import UtcDateTimeCol
38
 
from lp.services.database.enumcol import EnumCol
39
 
from lp.services.database.sqlbase import SQLBase
40
42
 
41
43
 
42
44
class BugNomination(SQLBase):
118
120
 
119
121
    def canApprove(self, person):
120
122
        """See IBugNomination."""
121
 
        # Use the class method to check permissions because there is not
122
 
        # yet a bugtask instance with the this target.
123
 
        BugTask = self.bug.bugtasks[0].__class__
124
 
        if BugTask.userHasDriverPrivilegesContext(self.target, person):
 
123
        if person.inTeam(getUtility(ILaunchpadCelebrities).admin):
125
124
            return True
 
125
        for driver in self.target.drivers:
 
126
            if person.inTeam(driver):
 
127
                return True
126
128
 
127
129
        if self.distroseries is not None:
128
130
            distribution = self.distroseries.distribution