1 <h1 tal:define="global print request/pp | nothing"></h1>
2 <h1 tal:replace="structure here/manage_page_header">Header</h1>
3 <h2 tal:condition="not: print" tal:define="manage_tabs_message options/manage_tabs_message | nothing"
4 tal:replace="structure here/manage_tabs">Tabs</h2>
7 <div tal:condition="request/doIt | nothing">
14 global users_and_roles here/listUsersAndRoles;
15 site_tree here/getSiteTree;
16 table_cache python:here.computeSecuritySettings(site_tree, users_and_roles, [('R', request.read_permission), ('W', request.write_permission)]);
18 tal:condition="users_and_roles"
20 <tr tal:define="width python:int(100/len(users_and_roles))">
21 <td width="0" tal:attributes="width string:$width%"></td>
22 <td width="0" align="center"
23 tal:repeat="s users_and_roles"
24 tal:attributes="width string:$width%"
26 <span tal:define="color python:test(s[0] == 'user', here.user_color, test(s[0] == 'group', here.group_color, here.role_color))">
27 <font color="" tal:attributes="color color">
28 <tal:block tal:condition="not:request/use_legend|nothing">
29 <b tal:content="structure python:s[4]" /><br />
31 <tal:block tal:condition="request/use_legend|nothing">
32 <b tal:content="python:s[3]" />
35 <span tal:condition="not:request/use_legend|nothing">
36 (<font color="" tal:attributes="color color"><span tal:replace="python:s[0]" /></font>)
42 <tr tal:repeat="folder site_tree">
44 <span tal:repeat="x python:range(0,folder[1])" tal:omit-tag="">-</span>
46 tal:attributes="href python:folder[2]"
47 tal:content="python:folder[0]"
50 tal:define="state python:here.portal_workflow.getInfoFor(here.restrictedTraverse(folder[2]), 'review_state')"
51 tal:on-error="nothing"
54 <span tal:repeat="x python:range(0,folder[1])" tal:omit-tag="">-</span>
55 <span tal:replace="state" />
59 tal:repeat="s users_and_roles"
63 R python:table_cache[folder[2]][s[:2]].get('R', None);
64 W python:table_cache[folder[2]][s[:2]].get('W', None)"
66 <span tal:condition="R">R</span>
67 <span tal:condition="W">W</span>
68 <span tal:condition="python: (not R) and (not W)"> </span>
75 <div tal:condition="request/use_legend|nothing">
79 <tr class="list-header">
80 <th class="list-header">Id</th>
81 <th class="list-header">Label</th>
82 <th class="list-header">Kind</th>
85 <tr tal:repeat="actor users_and_roles">
86 <span tal:define="color python:test(actor[0] == 'user', here.user_color, test(actor[0] == 'group', here.group_color, here.role_color))">
87 <td class="list-item"><font color="" tal:attributes="color color" tal:content="python:actor[3]">Id</font></td>
88 <td class="list-item"><font color="" tal:attributes="color color" tal:content="structure python:actor[4]">Label</font></td>
89 <td class="list-item"><font color="" tal:attributes="color color" tal:content="python:actor[0]">Kind</font></td>
97 <div tal:condition="not: print" tal:omit-tag="">
98 <h4>Audit settings</h4>
101 See help below if you do not understand those settings.
104 <form action="manage_audit" method="GET">
105 <input type="hidden" name="doIt" value="1">
107 tal:define="default here/getDefaultPermissions"
109 <tr class="list-header">
111 <th class="list-header">Setting</th>
114 <td><div class="list-item">Read permission</div></td>
116 <select name="read_permission" size="1">
120 tal:repeat="perm here/listAuditPermissions"
123 selected python:perm == default['R'];
131 <td><div class="list-item">Write permission</div></td>
133 <select name="write_permission" size="1">
137 tal:repeat="perm here/listAuditPermissions"
140 selected python:perm == default['W'];
148 <td><div class="list-item">Displayed actors</div></td>
150 <div class="list-item">
151 <input type="checkbox" name="display_roles" checked="" tal:attributes="checked request/display_roles|python:test(request.get('doIt',None), 0, 1)">
152 <font color="" tal:attributes="color here/role_color">Roles</font><br />
153 <input type="checkbox" name="display_groups" checked="" tal:attributes="checked request/display_groups|python:test(request.get('doIt',None), 0, 1)">
154 <font color="" tal:attributes="color here/group_color">Groups</font><br />
155 <input type="checkbox" name="display_users" checked="" tal:attributes="checked request/display_users|python:test(request.get('doIt',None), 0, 0)">
156 <font color="" tal:attributes="color here/user_color">Users</font>
161 <td valign="top"><div class="list-item">Use a legend</div></td>
163 <div class="list-item">
164 <input type="checkbox" name="use_legend" checked="" tal:attributes="checked request/use_legend|nothing">
165 (Use this feature to display actors names outside the table. This will reduce the table width, which may be useful for printing, for example.)
170 <td><div class="list-item">Printable page</div></td>
172 <div class="list-item">
173 <input type="checkbox" name="pp" checked="" tal:attributes="checked request/pp|nothing">
179 <td><input type="submit" value="View"></td>
187 <div tal:condition="not: print" tal:omit-tag="">
188 <div tal:condition="not:request/doIt | nothing">
190 <h4>About the audit table</h4>
193 This management tab allows one to check how the site security is applied for the most useful cases.<br />
194 This allows you to have a precise abstract of the security settings for a little set of permissions as
195 if it simply were "Read" and "Write" permissions.
200 This management tab won't change anything in your security settings. It is just intended to show information and not to modify anything.
205 Select, in the form below, the permissions you want to monitor and the kind of actors (roles, groups or users) you want to display.
211 Usually, for a regular Zope site, the
212 permission set would be mapped this way:
217 <li>Write: Change Images and Files</li>
220 For a Plone site, the
221 permission set would be mapped this way:
226 <li>Write: Modify portal content</li>
229 If you have <strong>a lot of users</strong>, rendering this audit can be very time-consuming.<br />
230 In such conditions, you can select only "roles" to make things a lot faster.
236 <h1 tal:replace="structure here/manage_page_footer">Footer</h1>