Mercurial Hosting > nabble
diff src/nabble/view/naml/mailing_list_settings.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/mailing_list_settings.naml Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,246 @@ +<macro name="mailing_list_archive_settings" requires="servlet"> + <n.node_page.> + <n.if.not.visitor.can_edit.page_node> + <then> + <n.login.><t>Only authorized users can proceed in this area.</t></n.login.> + </then> + </n.if.not.visitor.can_edit.page_node> + + <n.page_node.get_this_mailing_list_archive.> + <n.if.not.is_submitted_form> + <then.fill_in_mailing_list_archive_fields/> + <else> + <n.if.is_remove_mailing_list_archive_settings> + <then.remove_mailing_list_archive_settings_and_redirect/> + <else.save_mailing_list_archive_settings_and_redirect/> + </n.if.is_remove_mailing_list_archive_settings> + </else> + </n.if.not.is_submitted_form> + + <n.html> + <head> + <META NAME="robots" CONTENT="noindex,nofollow"/> + <n.title.><t>Mailing List Archive Settings</t></n.title.> + <n.mailing_list_address_field.focus/> + <style type="text/css"> + div.field-title { margin-top: 0; } + div.tip { font-size:80%; margin-top:.4em; } + </style> + <script type="text/javascript"> + $(document).ready(function() { + $('form').submit(function() { + var action = $('#action').val(); + if (action == 'remove') + return confirm('<t>Do you really want to remove the mailing list archive settings?</t>'); + return true; + }); + }); + </script> + </head> + <body> + <n.edit_header first_text="[n.page_node.get_app_node.subject/]" second_text="[t]Mailing List Archive Settings[/t]" /> + + <n.if.is_submitted_form> + <then.show_mailing_list_error/> + </n.if.is_submitted_form> + + <n.form.> + <input id="action" type="hidden" name="action" value="save"/> + <n.mailing_list_address_group/> + <n.mailing_list_website_group/> + <n.mailing_list_server_group/> + <n.mailing_list_subject_prefix_group/> + <n.mailing_list_other_settings_group/> + + <input type="submit" class="toolbar action-button" value="[t]Save Settings[/t]" onclick="$('#action').val('save')"/> + <input type="submit" class="toolbar action-button" value="[t]Remove Settings[/t]" onclick="$('#action').val('remove')"/> + <t>or</t> <a href="[n.page_node.url /]"><t>Cancel</t></a> + </n.form.> + </body> + </n.html> + </n.page_node.get_this_mailing_list_archive.> + </n.node_page.> +</macro> + +<macro name="fill_in_mailing_list_archive_fields" requires="mailing_list"> + <n.if.page_node.is_a_mailing_list_archive> + <then> + <n.mailing_list_address_field.set_value value="[n.mailing_list_address/]" /> + <n.mailing_list_url_field.set_value value="[n.mailing_list_url/]" /> + <n.mailing_list_server_field.set_value value="[n.mailing_list_server/]" /> + <n.mailing_list_prefix_field.set_value value="[n.mailing_list_prefix/]" /> + <n.plain_text_only_field.set_value value="[n.plain_text_only/]" /> + <n.ignore_xnoarchive_field.set_value value="[n.ignore_xnoarchive/]" /> + </then> + <else> + <n.mailing_list_server_field.set_value value="unknown" /> + </else> + </n.if.page_node.is_a_mailing_list_archive> +</macro> + +<macro name="remove_mailing_list_archive_settings_and_redirect" requires="mailing_list, node_page"> + <n.catch_exception. id="save-block"> + <n.remove/> + <n.redirect_to.page_node.url/> + </n.catch_exception.> +</macro> + +<macro name="save_mailing_list_archive_settings_and_redirect" requires="mailing_list, node_page"> + <n.catch_exception. id="save-block"> + <n.set_var. name="is-new"> + <n.if.page_node.is_a_mailing_list_archive> + <then>no</then> + <else>yes</else> + </n.if.page_node.is_a_mailing_list_archive> + </n.set_var.> + <n.save> + <address><n.mailing_list_address_field.value/></address> + <url><n.mailing_list_url_field.value/></url> + <server><n.mailing_list_server_field.value/></server> + <prefix><n.mailing_list_prefix_field.value/></prefix> + <plain_text_only><n.plain_text_only_field.value/></plain_text_only> + <ignore_xnoarchive><n.ignore_xnoarchive_field.value/></ignore_xnoarchive> + <do> + </do> + </n.save> + <n.if.equal value1="[n.var name='is-new'/]" value2="yes"> + <then.redirect_to.page_node.subscription_instructions_path/> + <else.redirect_to.page_node.url/> + </n.if.equal> + </n.catch_exception.> +</macro> + +<macro name="mailing_list_address_group" requires="mailing_list"> + <div class="field-box light-border-color"> + <div class="second-font field-title"><t>Mailing List Address</t> <span class="important">*</span></div> + <div class="weak-color"> + <n.mailing_list_address_field.input size="40" /> + </div> + <div class="weak-color tip"> + <t>Example: listname@listdomain.com</t> + </div> + + <n.if.page_node.is_a_mailing_list_archive> + <then> + <div class="shaded-bg-color rounded" style="padding: .6em .5em;margin:.4em 0 0"> + <div style="float:left;height:2em;margin-right:.5em"> + <img src="/images/tool_big.png" width="27" height="27"/> + </div> + <div style="margin-left:.5em"> + <t><b>IMPORTANT</b>: You must subscribe this archive to the mailing list in order to make it work.</t><br/> + <div style="margin-top:.3em"> + <t>Please follow the <n.subscribe_instructions_link.>subscription instructions</n.subscribe_instructions_link.> for this archive.</t> + </div> + </div> + </div> + </then> + </n.if.page_node.is_a_mailing_list_archive> + </div> +</macro> + +<macro name="mailing_list_website_group" requires="mailing_list"> + <div class="field-box light-border-color"> + <div class="second-font field-title"><t>Mailing List Website</t> <span class="important">*</span></div> + <div class="weak-color"> + <t>Enter the homepage of this mailing list, where users can find more information.</t><br/> + <n.mailing_list_url_field.input size="72" /> + </div> + </div> +</macro> + +<macro name="mailing_list_server_group" requires="mailing_list"> + <div class="field-box light-border-color"> + <div class="second-font field-title"><t>List Server</t></div> + <div class="weak-color"> + <t>If you know, please select the mailing list server application and its version.</t><br/> + <n.mailing_list_server_field.select.> + <n.available_servers.loop.> + <n.set_var. name='server_name'> + <n.if.equal value1="[n.current_server_name/]" value2="Unknown or Other"> + <then><t>Unknown or Other</t></then> + <else><n.current_server_name/></else> + </n.if.equal> + </n.set_var.> + <n.select_option value="[n.current_server/]" selectedValue="[n.mailing_list_server_field.value/]" text="[n.var name='server_name'/]"/> + </n.available_servers.loop.> + </n.mailing_list_server_field.select.> + </div> + </div> +</macro> + +<macro name="mailing_list_subject_prefix_group" requires="mailing_list"> + <div class="field-box light-border-color"> + <div class="second-font field-title"><t>Subject Prefix</t></div> + <div class="weak-color"> + <t>Enter the prefix that this mailing list uses before the subject. + The prefix will be automatically removed from the imported emails.</t> + <br/> + <n.mailing_list_prefix_field.input size="25" /> + <div class="weak-color tip"> + <t>Examples: '[the-list]', 'Abc:', etc.</t> + </div> + </div> + </div> +</macro> + +<macro name="mailing_list_other_settings_group" requires="mailing_list"> + <div class="field-box light-border-color"> + <div class="second-font field-title"><t>Other Settings</t></div> + <table> + <tr> + <td><n.plain_text_only_field.checkbox /></td> + <td><label for="[n.plain_text_only_field.name/]"><t>This list accepts only plain-text emails</t></label></td> + </tr> + <tr style="vertical-align:top"> + <td><n.ignore_xnoarchive_field.checkbox /></td> + <td style="padding-top:.2em"> + <label for="[n.ignore_xnoarchive_field.name/]"><t>Ignore X-No-Archive header</t></label> + <div class="weak-color tip"><t>TIP: If your archive is subscribed to the mailing list and it is still not working, you may try ignoring the X-No-Archive header.</t></div> + </td> + </tr> + </table> + </div> +</macro> + +<macro name="subscribe_instructions_link" dot_parameter="text" requires="node_page"> + <a href="[n.page_node.subscription_instructions_path/]"><n.text/></a> +</macro> + +<macro name="mailing_list_address_field" dot_parameter="do"> + <n.field. name="mailing_list_address"><n.do/></n.field.> +</macro> + +<macro name="mailing_list_url_field" dot_parameter="do"> + <n.field. name="mailing_list_url"><n.do/></n.field.> +</macro> + +<macro name="mailing_list_server_field" dot_parameter="do"> + <n.field. name="mailing_list_server"><n.do/></n.field.> +</macro> + +<macro name="mailing_list_prefix_field" dot_parameter="do"> + <n.field. name="mailing_list_prefix"><n.do/></n.field.> +</macro> + +<macro name="plain_text_only_field" dot_parameter="do"> + <n.field. name="plain_text_only"><n.do/></n.field.> +</macro> + +<macro name="ignore_xnoarchive_field" dot_parameter="do"> + <n.field. name="ignore_xnoarchive"><n.do/></n.field.> +</macro> + +<macro name="show_mailing_list_error"> + <n.format_error.handle_exception. for="save-block"> + <n.exception. name="invalid_list_address"> + <t>You must enter a valid email address for this mailing list.</t> + </n.exception.> + <n.exception. name="invalid_list_url"> + <t>You must enter a valid website URL for this mailing list.</t> + </n.exception.> + </n.format_error.handle_exception.> +</macro> + +<macro name="is_remove_mailing_list_archive_settings"> + <n.equal value1="[n.get_parameter name='action'/]" value2="remove"/> +</macro>