Mercurial Hosting > nabble
comparison src/nabble/view/naml/change_permissions.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children | 18cf4872fd7f |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 <macro name="change_permissions" requires="servlet"> | |
2 <n.node_page.> | |
3 <n.if.not.visitor.can_change_permissions_of.page_node> | |
4 <then> | |
5 <n.login.><t>Only authorized users can proceed in this area.</t></n.login.> | |
6 </then> | |
7 </n.if.not.visitor.can_change_permissions_of.page_node> | |
8 | |
9 <n.if.is_submitted_form> | |
10 <then> | |
11 <n.save_all_permissions/> | |
12 <n.if.page_node.is_root> | |
13 <then.save_all_site_permissions /> | |
14 </n.if.page_node.is_root> | |
15 <n.redirect_to.page_node.path/> | |
16 </then> | |
17 </n.if.is_submitted_form> | |
18 | |
19 <n.html> | |
20 <head> | |
21 <META NAME="robots" CONTENT="noindex,nofollow"/> | |
22 <n.title.><t>Change Permissions</t></n.title.> | |
23 <n.permission_javascript/> | |
24 <n.permission_stylesheet/> | |
25 </head> | |
26 <body> | |
27 <n.edit_header first_text="[t]Change Permissions[/t]" second_text="[n.page_node.get_app_node.subject/]" /> | |
28 | |
29 <n.form.> | |
30 <n.permissions_table/> | |
31 | |
32 <div style="margin-top:1.4em"> | |
33 <input type="submit" value="[t]Save Changes[/t]" /> | |
34 <t>or</t> <a href="[n.page_node.path/]"><t>Cancel</t></a> | |
35 </div> | |
36 </n.form.> | |
37 </body> | |
38 </n.html> | |
39 </n.node_page.> | |
40 </macro> | |
41 | |
42 <macro name="save_all_permissions"> | |
43 <n.edit_page_node.> | |
44 <n.remove_permissions/> | |
45 <n.all_permissions.loop.> | |
46 <n.if.current_permission_row_field.equal value1="[n.value/]" value2="override"> | |
47 <then> | |
48 <n.add_permission permission="[n.current_permission/]"/> | |
49 <n.user_groups.> | |
50 <n.add.anyone_group/> | |
51 <n.add.registered_group/> | |
52 <n.add.members_group/> | |
53 <n.add.administrators_group/> | |
54 <n.add.authors_group/> | |
55 <n.loop.permission_field. group="[n.current_group/]" permission="[n.current_permission/]"> | |
56 <n.if.is_checked> | |
57 <then><n.add_permission group="[n.current_group/]" permission="[n.current_permission/]"/></then> | |
58 </n.if.is_checked> | |
59 </n.loop.permission_field.> | |
60 </n.user_groups.> | |
61 </then> | |
62 </n.if.current_permission_row_field.equal> | |
63 </n.all_permissions.loop.> | |
64 </n.edit_page_node.> | |
65 </macro> | |
66 | |
67 <macro name="save_all_site_permissions"> | |
68 <n.save_site_permissions.> | |
69 <n.remove_site_permissions/> | |
70 <n.all_site_permissions.loop.> | |
71 <n.if.current_permission_row_field.equal value1="[n.value/]" value2="override"> | |
72 <then> | |
73 <n.add_site_permission permission="[n.current_permission/]"/> | |
74 <n.user_groups.> | |
75 <n.add.anyone_group/> | |
76 <n.add.registered_group/> | |
77 <n.add.members_group/> | |
78 <n.add.administrators_group/> | |
79 <n.loop.permission_field. group="[n.current_group/]" permission="[n.current_permission/]"> | |
80 <n.if.is_checked> | |
81 <then><n.add_site_permission group="[n.current_group/]" permission="[n.current_permission/]"/></then> | |
82 </n.if.is_checked> | |
83 </n.loop.permission_field.> | |
84 </n.user_groups.> | |
85 </then> | |
86 </n.if.current_permission_row_field.equal> | |
87 </n.all_site_permissions.loop.> | |
88 </n.save_site_permissions.> | |
89 </macro> | |
90 | |
91 <macro name="permission_stylesheet"> | |
92 <style type="text/css"> | |
93 input[type=radio] { | |
94 vertical-align:-15%; | |
95 } | |
96 table.permissions { | |
97 border-collapse: collapse; | |
98 margin-top:1em; | |
99 } | |
100 table.permissions th { | |
101 padding: .3em .6em; | |
102 border-bottom-style:solid; | |
103 border-bottom-width:2px; | |
104 } | |
105 table.permissions td { | |
106 padding: .3em .4em; | |
107 text-align:center; | |
108 } | |
109 table.permissions td.col1 { | |
110 text-align: left; | |
111 } | |
112 </style> | |
113 </macro> | |
114 | |
115 <macro name="permission_javascript"> | |
116 <n.zebra_table_javascript table_selector="table.permissions"/> | |
117 <script type="text/javascript"> | |
118 var fields = []; | |
119 var defaults = []; | |
120 $(document).ready(function() { | |
121 function enableRow(s) { | |
122 var $select = $(s); | |
123 var $tr = $select.parent().parent(); | |
124 var $checkboxes = $('input[type="checkbox"]',$tr); | |
125 if ($select.val() == 'inherit') { | |
126 $select.css('font-weight','normal').removeClass('highlight'); | |
127 $checkboxes.attr('disabled','y').each(function(){ | |
128 var index = fields.indexOf(this.name); | |
129 if (defaults[index]) | |
130 $(this).attr('checked','y'); | |
131 else | |
132 $(this).removeAttr('checked'); | |
133 }); | |
134 } else { | |
135 $select.css('font-weight','bold').addClass('highlight'); | |
136 $checkboxes.removeAttr('disabled'); | |
137 } | |
138 }; | |
139 $('table.permissions select') | |
140 .change(function() { enableRow(this); }) | |
141 .each(function() { enableRow(this); }); | |
142 }); | |
143 </script> | |
144 </macro> | |
145 | |
146 <macro name="permissions_table"> | |
147 <div style="overflow:auto"> | |
148 <table class="permissions"> | |
149 <tr class="shaded-bg-color"> | |
150 <th class="medium-border-color"></th> | |
151 <th class="medium-border-color"></th> | |
152 <n.permission_group_heading.anyone_group/> | |
153 <n.permission_group_heading.registered_group/> | |
154 <n.permission_group_heading.administrators_group/> | |
155 <n.permission_group_heading.members_group/> | |
156 <n.permission_group_heading.authors_group/> | |
157 <n.permission_group_list.loop.> | |
158 <n.permission_group_heading.current_group/> | |
159 </n.permission_group_list.loop.> | |
160 </tr> | |
161 <n.permission_rows /> | |
162 </table> | |
163 </div> | |
164 </macro> | |
165 | |
166 <macro name="permission_rows"> | |
167 <n.permission_row | |
168 permission = "[n.view_permission/]" | |
169 description="[t]Who can view this application and its contents[/t]" | |
170 administrators_cell = "true" | |
171 authors_cell = "true" | |
172 /> | |
173 <n.permission_row | |
174 permission = "[n.edit_app_permission/]" | |
175 description="[t]Who can edit applications (e.g., change name, description, etc.)[/t]" | |
176 authors_cell = "true" | |
177 /> | |
178 <n.permission_row | |
179 permission = "[n.create_topic_permission/]" | |
180 description="[t]Who can create new topics under this application[/t]" | |
181 /> | |
182 <n.permission_row | |
183 permission = "[n.reply_permission/]" | |
184 description="[t]Who can reply to messages posted under this application[/t]" | |
185 /> | |
186 <n.permission_row | |
187 permission = "[n.move_permission/]" | |
188 description="[t]Who can move messages under other destinations (e.g., under other topics or sub-forums)[/t]" | |
189 /> | |
190 <n.permission_row | |
191 permission = "[n.create_sub_apps_permission/]" | |
192 description="[t]Who can create sub applications (e.g., sub-forums, subcategories, etc.)[/t]" | |
193 /> | |
194 <n.permission_row | |
195 permission = "[n.change_post_date_permission/]" | |
196 description="[t]Who can change the date and time of messages[/t]" | |
197 /> | |
198 <n.permission_row | |
199 permission = "[n.manage_subscribers_permission/]" | |
200 description="[t]Who can manage subscribers of this application[/t]" | |
201 /> | |
202 <n.permission_row | |
203 permission = "[n.manage_pinned_topics_permission/]" | |
204 description="[t]Who can pin/unpin topics in this application[/t]" | |
205 /> | |
206 <n.permission_row | |
207 permission = "[n.manage_locked_topics_permission/]" | |
208 description="[t]Who can lock/unlock topics in this application[/t]" | |
209 /> | |
210 <n.if.page_node.is_root> | |
211 <then> | |
212 <n.site_permission_row | |
213 permission = "[n.manage_banned_users_permission/]" | |
214 description="[t]Who can ban/unban users[/t]" | |
215 /> | |
216 </then> | |
217 </n.if.page_node.is_root> | |
218 <n.permission_row | |
219 permission = "[n.show_group_members_permission/]" | |
220 description="[t]Which groups allow members to be listed[/t]" | |
221 anyone_cell = "" | |
222 authors_cell = "" | |
223 /> | |
224 <n.permission_row | |
225 permission = "[n.unrestricted_posting_permission/]" | |
226 description="[t]Who can post any content without restriction (including javascript code, <object> and <style> tags, etc.). [b]Security Warning[/b]: Allow this option only for users that you really trust.[/t]" | |
227 anyone_cell = "" | |
228 authors_cell = "" | |
229 /> | |
230 <n.permission_row | |
231 permission = "[n.edit_all_permission/]" | |
232 description="[t]Who can edit any content, both applications and posts. Note: Please only use this feature in extreme circumstances. Most users will not like having their posts edited by someone else.[/t]" | |
233 authors_cell = "" | |
234 anyone_cell = "" | |
235 registered_cell = "" | |
236 members_cell = "" | |
237 other_groups_cell = "" | |
238 /> | |
239 </macro> | |
240 | |
241 <macro name="permission_row" parameters="permission,description,anyone_cell,registered_cell,administrators_cell,members_cell,authors_cell,other_groups_cell"> | |
242 <tr> | |
243 <td class="col1"> | |
244 <strong><n.permission/></strong> | |
245 <div class="weak-color"><n.description/></div> | |
246 </td> | |
247 <td> | |
248 <n.permission_row_field. permission="[n.permission/]"> | |
249 <n.select.> | |
250 <n.select_option value="inherit" selectedValue="[n.permission_row_selected_option.permission/]" text="[n.permission_inherit_label/]"/> | |
251 <n.select_option value="override" selectedValue="[n.permission_row_selected_option.permission/]" text="[t]Modified[/t]"/> | |
252 </n.select.> | |
253 </n.permission_row_field.> | |
254 </td> | |
255 <n.permission_td cell="[n.anyone_cell/]" group="[n.anyone_group/]" permission="[n.permission/]" /> | |
256 <n.permission_td cell="[n.registered_cell/]" group="[n.registered_group/]" permission="[n.permission/]" /> | |
257 <n.permission_td cell="[n.administrators_cell/]" group="[n.administrators_group/]" permission="[n.permission/]" /> | |
258 <n.permission_td cell="[n.members_cell/]" group="[n.members_group/]" permission="[n.permission/]" /> | |
259 <n.permission_td cell="[n.authors_cell/]" group="[n.authors_group/]" permission="[n.permission/]" /> | |
260 <n.permission_group_list.loop.> | |
261 <n.permission_td cell="[n.other_groups_cell/]" group="[n.current_group/]" permission="[n.permission/]" /> | |
262 </n.permission_group_list.loop.> | |
263 </tr> | |
264 </macro> | |
265 | |
266 <macro name="site_permission_row" parameters="permission,description,anyone_cell,administrators_cell"> | |
267 <tr> | |
268 <td class="col1"> | |
269 <strong><n.permission/></strong> | |
270 <div class="weak-color"><n.description/></div> | |
271 </td> | |
272 <td> | |
273 <n.permission_row_field. permission="[n.permission/]"> | |
274 <n.select.> | |
275 <n.select_option value="inherit" selectedValue="[n.site_permission_row_selected_option.permission/]" text="[n.permission_inherit_label/]"/> | |
276 <n.select_option value="override" selectedValue="[n.site_permission_row_selected_option.permission/]" text="[t]Modified[/t]"/> | |
277 </n.select.> | |
278 </n.permission_row_field.> | |
279 </td> | |
280 <n.site_permission_td cell="[n.anyone_cell/]" group="[n.anyone_group/]" permission="[n.permission/]" /> | |
281 <n.site_permission_td group="[n.registered_group/]" permission="[n.permission/]" /> | |
282 <n.site_permission_td cell="[n.administrators_cell/]" group="[n.administrators_group/]" permission="[n.permission/]" /> | |
283 <n.site_permission_td group="[n.members_group/]" permission="[n.permission/]" /> | |
284 <td></td> | |
285 <n.permission_group_list.loop.> | |
286 <n.site_permission_td group="[n.current_group/]" permission="[n.permission/]" /> | |
287 </n.permission_group_list.loop.> | |
288 </tr> | |
289 </macro> | |
290 | |
291 <macro name="permission_row_selected_option" dot_parameter="permission"> | |
292 <n.if.page_node.node_has_permission permission="[n.permission/]"> | |
293 <then>override</then> | |
294 <else>inherit</else> | |
295 </n.if.page_node.node_has_permission> | |
296 </macro> | |
297 | |
298 <macro name="site_permission_row_selected_option" dot_parameter="permission"> | |
299 <n.if.site_has_site_permission permission="[n.permission/]"> | |
300 <then>override</then> | |
301 <else>inherit</else> | |
302 </n.if.site_has_site_permission> | |
303 </macro> | |
304 | |
305 <macro name="permission_inherit_label"> | |
306 <n.if.page_node.is_root> | |
307 <then><t>Default</t></then> | |
308 <else><t>Inherit</t></else> | |
309 </n.if.page_node.is_root> | |
310 </macro> | |
311 | |
312 <macro name="permission_td" parameters="cell,group,permission" requires="node_page"> | |
313 <n.if.not.is_null.cell> | |
314 <then> | |
315 <td><n.cell/></td> | |
316 </then> | |
317 <else> | |
318 <td><n.permission_field. group="[n.group/]" permission="[n.permission/]" > | |
319 <n.set_value.page_node.has_permission group="[n.group/]" permission="[n.permission/]" /> | |
320 <n.checkbox/> | |
321 <n.backup_default_value field_name="[n.name/]"> | |
322 <default_value> | |
323 <n.permission_inherited_value group="[n.group/]" permission="[n.permission/]" /> | |
324 </default_value> | |
325 </n.backup_default_value> | |
326 </n.permission_field.></td> | |
327 </else> | |
328 </n.if.not.is_null.cell> | |
329 </macro> | |
330 | |
331 <macro name="site_permission_td" parameters="cell,group,permission"> | |
332 <n.if.not.is_null.cell> | |
333 <then> | |
334 <td><n.cell/></td> | |
335 </then> | |
336 <else> | |
337 <td><n.permission_field. group="[n.group/]" permission="[n.permission/]" > | |
338 <n.set_value.group_has_site_permission group="[n.group/]" permission="[n.permission/]" /> | |
339 <n.checkbox/> | |
340 <n.backup_default_value field_name="[n.name/]"> | |
341 <default_value> | |
342 <n.site_permission_inherited_value group="[n.group/]" permission="[n.permission/]" /> | |
343 </default_value> | |
344 </n.backup_default_value> | |
345 </n.permission_field.></td> | |
346 </else> | |
347 </n.if.not.is_null.cell> | |
348 </macro> | |
349 | |
350 <macro name="permission_inherited_value" parameters="group,permission" requires="node_page"> | |
351 <n.if.page_node.is_root> | |
352 <then> | |
353 <n.has_default_permission group="[n.group/]" permission="[n.permission/]" /> | |
354 </then> | |
355 <else> | |
356 <n.page_node.parent_node.has_permission group="[n.group/]" permission="[n.permission/]" /> | |
357 </else> | |
358 </n.if.page_node.is_root> | |
359 </macro> | |
360 | |
361 <macro name="site_permission_inherited_value" parameters="group,permission"> | |
362 <n.has_site_default_permission group="[n.group/]" permission="[n.permission/]" /> | |
363 </macro> | |
364 | |
365 <macro name="backup_default_value" parameters="field_name,default_value"> | |
366 <script type="text/javascript"> | |
367 fields.push('<n.field_name/>'); | |
368 defaults.push(<n.null_to_false.default_value/>); | |
369 </script> | |
370 </macro> | |
371 | |
372 <macro name="permission_field" parameters="group,permission" dot_parameter="do"> | |
373 <n.field> | |
374 <name>chk__<n.remove_spaces.permission/>__<n.remove_spaces.group/></name> | |
375 <do><n.do/></do> | |
376 </n.field> | |
377 </macro> | |
378 | |
379 <macro name="current_permission_row_field" dot_parameter="do" requires="permission_list"> | |
380 <n.permission_row_field permission="[n.current_permission/]" do="[n.do/]" /> | |
381 </macro> | |
382 | |
383 <macro name="permission_row_field" parameters="permission" dot_parameter="do"> | |
384 <n.field> | |
385 <name>select__<n.remove_spaces.permission/></name> | |
386 <do><n.do/></do> | |
387 </n.field> | |
388 </macro> | |
389 | |
390 <macro name="permission_group_list" dot_parameter="do"> | |
391 <n.user_groups.> | |
392 <n.remove.members_group/> | |
393 <n.remove.administrators_group/> | |
394 <n.sort/> | |
395 <n.do/> | |
396 </n.user_groups.> | |
397 </macro> | |
398 | |
399 <macro name="permission_group_heading" dot_parameter="group"> | |
400 <th class="medium-border-color"> | |
401 <n.if> | |
402 <condition> | |
403 <n.either> | |
404 <condition1><n.equal value1="[n.group/]" value2="[n.anyone_group/]"/></condition1> | |
405 <condition2><n.equal value1="[n.group/]" value2="[n.authors_group/]"/></condition2> | |
406 </n.either> | |
407 </condition> | |
408 <then><n.group/></then> | |
409 <else> | |
410 <n.set_var. name="url"><n.manage_users_and_groups_path group="[n.group/]"/></n.set_var.> | |
411 <a href="[n.var name='url'/]"><n.group/></a> | |
412 </else> | |
413 </n.if> | |
414 </th> | |
415 </macro> | |
416 | |
417 <macro name="all_permissions" dot_parameter="do"> | |
418 <n.permissions values="[n.all_permissions_list/]"> | |
419 <do><n.do/></do> | |
420 </n.permissions> | |
421 </macro> | |
422 | |
423 <macro name="all_permissions_list"> | |
424 <n.view_permission/>, | |
425 <n.edit_app_permission/>, | |
426 <n.reply_permission/>, | |
427 <n.create_topic_permission/>, | |
428 <n.move_permission/>, | |
429 <n.create_sub_apps_permission/>, | |
430 <n.change_post_date_permission/>, | |
431 <n.manage_pinned_topics_permission/>, | |
432 <n.manage_locked_topics_permission/>, | |
433 <n.manage_subscribers_permission/>, | |
434 <n.show_group_members_permission/>, | |
435 <n.unrestricted_posting_permission/>, | |
436 <n.edit_all_permission/>, | |
437 </macro> | |
438 | |
439 <macro name="all_site_permissions" dot_parameter="do"> | |
440 <n.permissions values=" | |
441 [n.manage_banned_users_permission/] | |
442 "> | |
443 <do><n.do/></do> | |
444 </n.permissions> | |
445 </macro> |