1
# Copyright 2009 Canonical Ltd. This software is licensed under the
1
# Copyright 2009-2011 Canonical Ltd. This software is licensed under the
2
2
# GNU Affero General Public License version 3 (see the file LICENSE).
4
4
"""Implementations of `IBranchCollection`."""
33
33
DecoratedResultSet,
35
35
from canonical.launchpad.interfaces.lpstorm import IStore
36
from canonical.launchpad.searchbuilder import any
36
37
from canonical.launchpad.webapp.interfaces import (
41
from canonical.launchpad.searchbuilder import any
42
42
from canonical.launchpad.webapp.vocabulary import CountableIterator
43
43
from lp.bugs.interfaces.bugtask import (
47
47
from lp.bugs.interfaces.bugtaskfilter import filter_bugtasks_by_context
48
48
from lp.bugs.model.bugbranch import BugBranch
49
49
from lp.bugs.model.bugtask import BugTask
50
from lp.code.enums import BranchMergeProposalStatus
50
51
from lp.code.interfaces.branch import user_has_special_branch_access
51
52
from lp.code.interfaces.branchcollection import (
56
from lp.code.interfaces.branchlookup import IBranchLookup
57
from lp.code.interfaces.codehosting import LAUNCHPAD_SERVICES
55
58
from lp.code.interfaces.seriessourcepackagebranch import (
56
59
IFindOfficialBranchLinks,
58
from lp.code.enums import BranchMergeProposalStatus
59
from lp.code.interfaces.branchlookup import IBranchLookup
60
from lp.code.interfaces.codehosting import LAUNCHPAD_SERVICES
61
61
from lp.code.model.branch import Branch
62
62
from lp.code.model.branchmergeproposal import BranchMergeProposal
63
63
from lp.code.model.branchsubscription import BranchSubscription
132
132
"""See `IBranchCollection`."""
133
133
return self.getBranches(eager_load=False).count()
136
"""See `IBranchCollection`."""
137
return self.getBranches(eager_load=False).is_empty()
135
139
def ownerCounts(self):
136
140
"""See `IBranchCollection`."""
137
141
is_team = Person.teamowner != None