~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
<!-- Copyright 2009-2010 Canonical Ltd.  This software is licensed under the
     GNU Affero General Public License version 3 (see the file LICENSE).
-->

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    xmlns:i18n="http://namespaces.zope.org/i18n"
    i18n_domain="launchpad">

    <!-- Message -->
    <class
        class="lp.services.messages.model.message.Message">
        <allow interface="lp.services.messages.interfaces.message.IMessage" />
        <!-- setVisible is required to allow IBug.setCommentVisibility() to
             change the visibility attribute whilst still ensuring restricted
             access to the attribute via the API.-->
        <require
            permission="launchpad.AnyPerson"
            attributes="setVisible"/>
        <require
            permission="launchpad.Admin"
            set_attributes="visible"/>
    </class>

    <class class="lp.services.messages.interfaces.message.IndexedMessage">
      <allow interface="lp.services.messages.interfaces.message.IMessage" />
      <allow interface="lp.services.messages.interfaces.message.IIndexedMessage" />
    </class>

    <!-- MessageChunk -->
    <class class="lp.services.messages.model.message.MessageChunk">
        <allow interface="lp.services.messages.interfaces.message.IMessageChunk" />
    </class>

  <!-- MessageSet -->
  <securedutility
      class="lp.services.messages.model.message.MessageSet"
      provides="lp.services.messages.interfaces.message.IMessageSet">
      <allow interface="lp.services.messages.interfaces.message.IMessageSet" />
  </securedutility>

  <!-- Some message have a canonical_url -->
  <adapter for="lp.services.messages.interfaces.message.IMessage"
    provides="canonical.launchpad.webapp.interfaces.ICanonicalUrlData"
    factory="canonical.launchpad.browser.message.message_to_canonical_url_data"
    />

  <!-- Adapt several related objects to provide unified details -->
  <adapter for="lp.registry.interfaces.mailinglist.IMessageApproval"
    provides="lp.registry.interfaces.mailinglist.IHeldMessageDetails"
    factory="lp.registry.model.mailinglist.HeldMessageDetails"
    />

  <!-- Adapt a person to an IDirectEmailAuthorization for throttling of direct
       person-to-person emails. -->
  <adapter
    for="lp.registry.interfaces.person.IPerson"
    provides="lp.services.messages.interfaces.message.IDirectEmailAuthorization"
    factory="lp.services.messages.model.message.DirectEmailAuthorization"
    />


</configure>