1
# Copyright 2009-2011 Canonical Ltd. This software is licensed under the
1
# Copyright 2009-2010 Canonical Ltd. This software is licensed under the
2
2
# GNU Affero General Public License version 3 (see the file LICENSE).
4
4
"""Specification views."""
75
from canonical.config import config
76
from canonical.launchpad import _
77
from canonical.launchpad.webapp import (
84
from canonical.launchpad.webapp.authorization import check_permission
85
from canonical.launchpad.webapp.menu import (
87
enabled_with_permission,
76
91
from lp.app.browser.launchpad import AppFrontPageSearchView
77
92
from lp.app.browser.launchpadform import (
108
123
from lp.code.interfaces.branchnamespace import IBranchNamespaceSet
109
124
from lp.registry.interfaces.distribution import IDistribution
110
125
from lp.registry.interfaces.product import IProduct
111
from lp.services.config import config
112
126
from lp.services.propertycache import cachedproperty
113
from lp.services.webapp import (
120
from lp.services.webapp.authorization import check_permission
121
from lp.services.webapp.menu import (
123
enabled_with_permission,
129
129
class INewSpecification(Interface):
200
200
"""Registers a new specification."""
201
201
self.transform(data)
202
202
spec = getUtility(ISpecificationSet).new(
204
name=data.get('name'),
205
title=data.get('title'),
206
specurl=data.get('specurl'),
207
summary=data.get('summary'),
208
product=data.get('product'),
209
drafter=data.get('drafter'),
210
assignee=data.get('assignee'),
211
approver=data.get('approver'),
212
distribution=data.get('distribution'),
213
definition_status=data.get('definition_status'))
204
name = data.get('name'),
205
title = data.get('title'),
206
specurl = data.get('specurl'),
207
summary = data.get('summary'),
208
product = data.get('product'),
209
drafter = data.get('drafter'),
210
assignee = data.get('assignee'),
211
approver = data.get('approver'),
212
distribution = data.get('distribution'),
213
definition_status = data.get('definition_status'))
214
214
# Propose the specification as a series goal, if specified.
215
215
series = data.get('series')
216
216
if series is not None: