Mercurial Hosting > nabble
diff src/nabble/view/naml/manage_subscribers.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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/view/naml/manage_subscribers.naml Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,189 @@ +<macro name="manage_subscribers" requires="servlet"> + <n.node_page.> + <n.if.not.visitor.can_manage_subscribers_of.page_node> + <then> + <n.login.><t>Only authorized users can proceed in this area.</t></n.login.> + </then> + </n.if.not.visitor.can_manage_subscribers_of.page_node> + <n.html> + <head> + <META NAME="robots" CONTENT="noindex,nofollow"/> + <n.title.><t>Manage Subscribers</t></n.title.> + </head> + <body> + <n.edit_header first_text="[t]Manage Subscribers[/t]" second_text="[n.page_node.get_app_node.subject/]" /> + <n.manage_subscribers_controls/> + </body> + </n.html> + </n.node_page.> +</macro> + +<macro name="manage_subscribers_controls" requires="node_page"> + <n.horizontal_tab_control.> + <n.current_subscribers_horizontal_tab/> + <n.add_subscribers_horizontal_tab/> + </n.horizontal_tab_control.> +</macro> + +<macro name="current_subscribers_horizontal_tab"> + <n.add_horizontal_tab + url="[n.page_node.manage_subscribers_path/]" + text="[t]Current Subscribers[/t]" + selected="[n.is_subscriber_filter/]" + details="[n.page_node.list_subscribers/]" + /> +</macro> + +<macro name="add_subscribers_horizontal_tab"> + <n.add_horizontal_tab + url="[n.page_node.manage_subscribers_path filter='invite'/]" + text="[t]Invite Subscribers[/t]" + selected="[n.is_subscriber_filter value='invite'/]" + details="[n.page_node.add_subscribers/]" + /> +</macro> + +<macro name="add_subscribers" requires="node"> + <t>If you want to invite subscribers, please request this feature in the <n.support_link/> forum.</t> + <t>We can install this module for you, but the Nabble team must approve this request to prevent abuse and spam.</t> +</macro> + +<macro name="if_is_tab" parameters="filter" dot_parameter="do"> + <n.if.is_subscriber_filter value="[n.filter/]"> + <then.do/> + </n.if.is_subscriber_filter> +</macro> + +<macro name="list_subscribers" requires="node"> + <n.if.is_submitted_form> + <then.process_unsubscription/> + </n.if.is_submitted_form> + + <n.put_in_head.> + <style type="text/css"> + table.subscriptions { + border-collapse:collapse; + margin-top:1em; + clear:both; + width:100% + } + table.subscriptions th { + padding: .3em .6em; + text-align:left; + border-bottom-style:solid; + border-bottom-width:2px; + } + table.subscriptions td { + padding: .5em; + } + </style> + </n.put_in_head.> + + <n.zebra_table_javascript table_selector="table.subscriptions"/> + + <n.subscribers_pagination/> + + <div class="weak-color" style="float:left;margin:.5em 0"> + <n.one_or_many.page_node.subscription_count> + <one_text><t>subscriber</t></one_text> + <many_text><t>subscribers</t></many_text> + </n.one_or_many.page_node.subscription_count> + </div> + + <n.subscriptions. start="[n.subscriber_page_index_record/]" length="[n.subscriber_page_length/]"> + <n.if.has_more_elements> + <then> + <table class="subscriptions"> + <tr class="shaded-bg-color"> + <th class="medium-border-color"></th> + <th class="medium-border-color"><t>Name</t></th> + <th class="medium-border-color"><t>Email</t></th> + <th class="medium-border-color"><t>Subscription Type</t></th> + <th class="medium-border-color"></th> + </tr> + <n.loop.> + <tr> + <td style="width:30px;padding:0"><n.subscription.user.avatar/></td> + <td class="nowrap"><n.subscription.user.user_link/></td> + <td class="nowrap"><n.subscription.user.user_email/></td> + <td class="nowrap"><n.subscription.type_label/></td> + <td class="nowrap"><n.subscription.unsubscribe_button/></td> + </tr> + </n.loop.> + </table> + </then> + </n.if.has_more_elements> + </n.subscriptions.> + + <n.subscribers_pagination/> +</macro> + +<macro name="process_unsubscription"> + <n.if.not.is_null.unsubscribe_email_parameter> + <then> + <n.set_local_subscription.page_node.subscription_for email="[n.unsubscribe_email_parameter/]" /> + <n.if.local_subscription.is_subscribed> + <then> + <n.local_subscription.remove/> + <n.local_subscription.send_unsubscription_reminder/> + </then> + </n.if.local_subscription.is_subscribed> + </then> + </n.if.not.is_null.unsubscribe_email_parameter> +</macro> + +<macro name="subscribers_pagination" requires="node_page"> + <n.paging. + total_rows="[n.page_node.subscription_count/]" + current_row="[n.subscriber_page_index_record/]" + rows_per_page="[n.subscriber_page_length/]" + > + <n.generic_paging> + <margin>.55em .2em</margin> + <url><n.page_node.manage_subscribers_path index_record="[n.page_row/]"/></url> + </n.generic_paging> + </n.paging.> +</macro> + +<macro name="type_label" requires="subscription"> + <n.if.equal value1="[n.to/]" value2="DESCENDANTS"> + <then><t>All posts</t></then> + <else><t>New topics only</t></else> + </n.if.equal> +</macro> + +<macro name="unsubscribe_button" requires="subscription"> + <n.form.> + <input type="hidden" name="unsubscribe-email" value="[n.user.user_email/]"/> + <input type="submit" class="toolbar" value="[t]Unsubscribe[/t]"/> + </n.form.> +</macro> + +<macro name="unsubscribe_email_parameter" requires="servlet"> + <n.get_parameter name="unsubscribe-email"/> +</macro> + + +<macro name="manage_subscribers_path" parameters="filter,index_record" requires="node"> + <n.encode_url.remove_spaces.> + /template/NamlServlet.jtp?macro=manage_subscribers&node=<n.id/> + <n.add_to_path name="filter" value="[n.filter/]"/> + <n.add_to_path name="i" value="[n.index_record/]" default_value="0"/> + </n.encode_url.remove_spaces.> +</macro> + +<macro name="subscriber_filter" requires="servlet"> + <n.get_parameter name="filter"/> +</macro> + +<macro name="subscriber_page_index_record" requires="servlet"> + <n.get_parameter name="i"/> +</macro> + +<macro name="subscriber_page_length" requires="servlet"> + 25 +</macro> + +<macro name="is_subscriber_filter" parameters="value"> + <n.equal value1="[n.subscriber_filter/]" value2="[n.value/]" /> +</macro>