~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
41
42
43
44
45
46
47
48
49
50
# Copyright 2009 Canonical Ltd.  This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).

# pylint: disable-msg=E0211,E0213

"""Sprint Attendance interfaces."""

__metaclass__ = type

__all__ = [
    'ISprintAttendance',
    ]

from zope.interface import (
    Attribute,
    Interface,
    )
from zope.schema import (
    Bool,
    Choice,
    Datetime,
    )

from lp import _
from lp.services.fields import PublicPersonChoice


class ISprintAttendance(Interface):
    """An attendance of a person at a sprint."""

    attendee = PublicPersonChoice(
        title=_('Attendee'), required=True, vocabulary='ValidPersonOrTeam')
    attendeeID = Attribute('db attendee value')
    sprint = Choice(title=_('The Sprint'), required=True,
        vocabulary='Sprint',
        description=_("Select the meeting from the list presented above."))
    time_starts = Datetime(title=_('From'), required=True,
        description=_("The date and time of arrival and "
        "availability for sessions during the sprint."))
    time_ends = Datetime(title=_('To'), required=True,
        description=_("The date and time of your departure. "
        "Please ensure the time reflects accurately "
        "when you will no longer be available for sessions at this event, to "
        "assist those planning the schedule."))
    is_physical = Bool(
        title=_("How will you be attending?"),
        description=_(
            "True, you will be physically present, "
            "or false, you will be remotely present."),
        required=False, readonly=False, default=True)