~launchpad-pqm/launchpad/devel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Copyright 2009 Canonical Ltd.  This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).

"""Views for SprintSpecification."""

__metaclass__ = type

__all__ = [
    'SprintSpecificationDecideView',
    ]

from canonical.launchpad.webapp import (
    canonical_url,
    LaunchpadView,
    )
from canonical.lazr.utils import smartquote


class SprintSpecificationDecideView(LaunchpadView):

    @property
    def label(self):
        return smartquote(
            'Consider agenda item for "%s"' % self.context.sprint.title)

    def initialize(self):
        accept = self.request.form.get('accept')
        decline = self.request.form.get('decline')
        cancel = self.request.form.get('cancel')
        decided = False
        if accept is not None:
            self.context.acceptBy(self.user)
            decided = True
        elif decline is not None:
            self.context.declineBy(self.user)
            decided = True
        if decided or cancel is not None:
            self.request.response.redirect(
                canonical_url(self.context.specification))