~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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
    xmlns:webservice="http://namespaces.canonical.com/webservice"
    i18n_domain="launchpad">
    <class
        class="lp.services.identity.model.emailaddress.EmailAddress">
        <allow
            interface="lp.registry.interfaces.role.IHasOwner"/>
        <allow
            attributes="
                id
                person
                personID
                account
                accountID
                status
                rdf_sha1"/>
        <require
            permission="launchpad.View"
            attributes="
                email"/>
        <require
            permission="launchpad.Edit"
            set_schema="lp.services.identity.interfaces.emailaddress.IEmailAddress"
            attributes="
                destroySelf
                syncUpdate"/>
    </class>

    <securedutility
        class="lp.services.identity.model.emailaddress.EmailAddressSet"
        provides="lp.services.identity.interfaces.emailaddress.IEmailAddressSet">
        <allow
            interface="lp.services.identity.interfaces.emailaddress.IEmailAddressSet"/>
    </securedutility>

    <browser:url
        for="lp.services.identity.interfaces.emailaddress.IEmailAddress"
        path_expression="string:+email/${email}"
        rootsite="api"
        attribute_to_parent="person" />

    <class
        class="lp.services.identity.model.account.Account">
        <require
            permission="zope.Public"
            interface="lp.services.identity.interfaces.account.IAccountPublic"/>
        <require
            permission="launchpad.View"
            interface="lp.services.identity.interfaces.account.IAccountPrivate"/>
        <require
            permission="launchpad.Special"
            interface="lp.services.identity.interfaces.account.IAccountSpecialRestricted"/>
        <require
            permission="launchpad.Moderate"
            set_attributes="status date_status_set status_comment"/>
        <require
            permission="launchpad.Edit"
            set_attributes="displayname password"/>
    </class>

    <securedutility
        class="lp.services.identity.model.account.AccountSet"
        provides="lp.services.identity.interfaces.account.IAccountSet">
        <allow
            interface="lp.services.identity.interfaces.account.IAccountSet"/>
    </securedutility>

    <adapter
        for="lp.services.webapp.interfaces.ILaunchpadPrincipal"
        provides="lp.services.identity.interfaces.account.IAccount"
        factory="lp.services.identity.adapters.account.accountFromPrincipal"/>

    <webservice:register module="lp.services.identity.interfaces.webservice" />
</configure>