Mercurial Hosting > nabble
view src/nabble/view/naml/manage_users_and_groups.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line source
<macro name="manage_users_and_groups" requires="servlet"> <n.if.not.visitor.can_manage_users_and_groups> <then> <n.login.><t>Only authorized users can proceed in this area.</t></n.login.> </then> </n.if.not.visitor.can_manage_users_and_groups> <n.if.is_submitted_form> <then.save_users_and_group/> </n.if.is_submitted_form> <n.html> <head> <META NAME="robots" CONTENT="noindex,nofollow"/> <n.title.><t>Manage Users & Groups</t></n.title.> <n.if.is_submitted_form> <then> <script type="text/javascript"> $(document).ready(function() { notice('<t>Data successfully saved</t>', 2000, 1000); }); </script> </then> </n.if.is_submitted_form> </head> <body> <n.edit_header first_text="[t]Manage Users & Groups[/t]" second_text="[n.root_node.subject/]" /> <div class="weak-color" style="margin-top:1em"> <t>Below you can manage groups and users. You can copy and paste users in order to move them from one group to another.</t> </div> <div class="weak-color" style="margin:.5em 0 1em"> <t>You can also <n.root_node.change_permissions_link.>change the permissions</n.root_node.change_permissions_link.> of the groups below.</t> </div> <n.user_groups.> <n.add.members_group/> <n.add.administrators_group/> <n.sort/> <n.vertical_tab_control.> <n.add_new_group_vertical_tab/> <n.add_all_users_vertical_tab/> <n.add_registered_vertical_tab/> <n.loop.> <n.add_group_vertical_tab group="[n.current_group/]"/> </n.loop.> <n.reset_list_index/> </n.vertical_tab_control.> </n.user_groups.> </body> </n.html> </macro> <macro name="add_new_group_vertical_tab"> <n.add_vertical_tab> <icon><img src="/images/add.png" width="12" height="12" style="vertical-align:-10%"/></icon> <text><t>Add New Group</t></text> <url><n.manage_users_and_groups_path/></url> <selected><n.is_null.selected_group/></selected> <details><n.new_group_panel/></details> </n.add_vertical_tab> </macro> <macro name="add_all_users_vertical_tab"> <n.add_vertical_tab> <text><t>All Users</t></text> <style>padding-left:20px</style> <url><n.manage_users_and_groups_path group="All_Users"/></url> <selected><n.equal value1="[n.selected_group/]" value2="All_Users"/></selected> <details><n.all_users_panel/></details> </n.add_vertical_tab> </macro> <macro name="add_registered_vertical_tab"> <n.add_vertical_tab> <text><t>Registered Users</t></text> <style>padding-left:20px</style> <url><n.manage_users_and_groups_path group="Registered"/></url> <selected><n.equal value1="[n.selected_group/]" value2="Registered"/></selected> <details><n.registered_users_panel/></details> </n.add_vertical_tab> </macro> <macro name="add_group_vertical_tab" parameters="group"> <n.add_vertical_tab> <text><n.group/></text> <style>padding-left:20px</style> <url><n.manage_users_and_groups_path group="[n.group/]"/></url> <selected><n.equal value1="[n.selected_group/]" value2="[n.group/]"/></selected> <details><n.group_editor_panel group="[n.group/]"/></details> </n.add_vertical_tab> </macro> <macro name="save_users_and_group"> <n.string_list. values="[n.users_field.value/]" separator="\n"> <n.filter_by.not.is_empty.current_string/> <n.remove_group group="[n.selected_group/]"/> <n.loop.> <n.set_var. name='email'> <n.get_email_address_from.current_string/> </n.set_var.> <n.if.not.is_empty.var name='email'> <then> <n.get_or_create_user. email="[n.var name='email'/]"> <n.as_user_page.edit_page_user.> <n.add_to_group.selected_group/> </n.as_user_page.edit_page_user.> </n.get_or_create_user.> </then> </n.if.not.is_empty.var> </n.loop.> <n.if.list_is_empty> <then.redirect_to.manage_users_and_groups_path/> </n.if.list_is_empty> </n.string_list.> </macro> <macro name="manage_users_and_groups_path" parameters="group"> <n.encode_url.remove_spaces.> /template/NamlServlet.jtp?macro=manage_users_and_groups <n.add_to_path name="group" value="[n.group/]"/> </n.encode_url.remove_spaces.> </macro> <macro name="selected_group"> <n.get_parameter name='group'/> </macro> <macro name="group_editor_panel" parameters="group"> <div class="second-font field-title nowrap" style="margin-top:0"> <n.group/> </div> <n.short_description/> <n.users_field.set_value.> <n.users_in_group. group="[n.group/]"> <n.loop.> <n.current_user.name/> <n.lt/><n.current_user.user_email/><n.gt/><n.crlf/> </n.loop.> </n.users_in_group.> </n.users_field.set_value.> <n.form.> <input type="hidden" name="group" value="[n.selected_group/]"/> <n.users_field.textarea wrap="SOFT" style="width:100%;height:25em;margin:.3em 0" /> <input type="submit" value="[t]Save Changes[/t]"/> </n.form.> </macro> <macro name="short_description"> <div class="weak-color nowrap"> <t>Enter one user per row</t> (<a href="javascript: void(0)" onclick="$('#help').slideToggle()"><t>more help</t></a>) <div id="help" style="display:none"> <b><t>Examples:</t></b> <div style="margin-left:1em"> john_smith@example.com<br/> John Smith <john_smith@example.com> </div> <div> <t>To remove a group, empty the text area below and save the changes.</t> </div> </div> </div> </macro> <macro name="all_users_panel"> <div class="second-font field-title nowrap" style="margin:0"><t>All Users</t></div> <div class="weak-color" style="margin-bottom:.8em"> <t>Read-only list with all users with an email under <t.location.root_node.subject/>.</t> <t>This list shows registered, unregistered and banned users. Anonymous users are not listed because they don't have an email and thus cannot be part of a group.</t> </div> <div style="height:25em;overflow:auto"> <n.site_users. length="99999"> <n.loop.> <n.current_user.name/> <<n.current_user.user_email/>><br/> </n.loop.> </n.site_users.> </div> </macro> <macro name="registered_users_panel"> <div class="second-font field-title nowrap" style="margin:0"><t>Registered Users</t></div> <div class="weak-color" style="margin-bottom:.8em"> <t>All users that have registered to <t.location.root_node.subject/>. These users have confirmed their email addresses and are able to login to the system.</t> </div> <div style="height:25em;overflow:auto"> <n.site_users. length="99999"> <n.filter_by.both condition1="[n.current_user.is_registered/]" condition2="[n.current_user.not.is_banned/]"/> <n.loop.> <n.current_user.name/> <<n.current_user.user_email/>><br/> </n.loop.> </n.site_users.> </div> </macro> <macro name="new_group_panel"> <n.put_in_head.> <script type="text/javascript"> function checkGroupName() { var name = $('#group-name').val(); var isValidName = name && Nabble.trim(name).length > 0 && name != 'Authors' && name != 'authors'; if (!isValidName) { alert('<t>The name of the group is not valid.</t>'); return false; } return true; } </script> </n.put_in_head.> <n.form. onsubmit="return checkGroupName()"> <div class="second-font field-title nowrap" style="margin:0"> <t>Group Name:</t> <input id="group-name" type="text" name="group"/> </div> <n.short_description/> <input type="hidden" name="group" value="[n.selected_group/]"/> <n.users_field.textarea wrap="SOFT" style="width:100%;height:25em;margin:.3em 0" /> <input type="submit" value="[t]Save Changes[/t]"/> </n.form.> </macro> <macro name="users_field" dot_parameter="do"> <n.field. name="users"><n.do/></n.field.> </macro> <macro name="get_email_address_from" dot_parameter="text"> <n.if.not.is_null.extract_email_address_from.text> <then.extract_email_address_from.text/> <else> <n.if.has_authenticated_user_with_name name="[n.text/]"> <then> <n.get_authenticated_user_with_name. name="[n.text/]"> <n.user_email/> </n.get_authenticated_user_with_name.> </then> </n.if.has_authenticated_user_with_name> </else> </n.if.not.is_null.extract_email_address_from.text> </macro>