Mercurial Hosting > nabble
diff src/nabble/view/naml/move_node.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/move_node.naml Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,97 @@ +<macro name="move_node" requires="servlet"> + <n.node_page.> + <n.if.not.visitor.can_move.page_node> + <then> + <n.login.><t>Only authorized users can proceed in this area.</t></n.login.> + </then> + </n.if.not.visitor.can_move.page_node> + + <n.if.is_submitted_form> + <then.save_parent_changes/> + </n.if.is_submitted_form> + + <n.html> + <head> + <META NAME="robots" CONTENT="noindex,nofollow"/> + <n.title.><t>Move Post</t></n.title.> + <n.parent_url_field.focus/> + </head> + <body> + <n.edit_header first_text="Move Post" second_text="[n.page_node.subject/]" /> + <n.show_move_node_error/> + <n.form.> + <div class="weak-color" style="margin:1.5em 0 .5em"> + <t>Enter permalink of the <b>post</b> or <b>forum</b> that will be the new parent, + or leave blank to make this message an independent topic:</t> + </div> + <n.parent_url_field.input size="60" /> + <div style="margin-top:1.4em"> + <input type="submit" value="[t]Move Post[/t]" /> <t>or</t> <a href="[n.page_node.path/]"><t>Cancel</t></a> + </div> + </n.form.> + </body> + </n.html> + </n.node_page.> +</macro> + +<macro name="save_parent_changes"> + <n.catch_exception. id="save-block"> + <n.edit_page_node.> + <!-- If the URL is empty, we use the current app --> + <n.if.is_empty.trim.parent_url_field.value> + <then.parent_url_field.set_value value="[n.page_node.get_app_node.url/]"/> + </n.if.is_empty.trim.parent_url_field.value> + + <!-- If same site, just move. Otherwise, export it. --> + <n.if.url_belongs_to_site url="[n.parent_url_field.value/]"> + <then> + <n.set_parent_url parent_url="[n.parent_url_field.value/]" /> + <n.save_node/> + </then> + <else> + <n.if.is_valid_export_permalink permalink="[n.parent_url_field.value/]"> + <then> + <!-- Hardcoded link until ExportConfirmation is templated --> + <n.set_var. name='url'>/catalog/ExportConfirmation.jtp?node=<n.page_node.id/>&url=<n.parent_url_field.value/></n.set_var.> + <n.redirect_to.var name='url'/> + </then> + <else> + <n.throw_template_exception name="invalid_permalink"/> + </else> + </n.if.is_valid_export_permalink> + </else> + </n.if.url_belongs_to_site> + </n.edit_page_node.> + <n.redirect_to.page_node.path/> + </n.catch_exception.> +</macro> + +<macro name="parent_url_field" dot_parameter="do"> + <n.field. name="parent_url"><n.do/></n.field.> +</macro> + +<macro name="show_move_node_error"> + <n.if.is_submitted_form> + <then> + <n.if.has_exception for="save-block"> + <then> + <n.format_error.handle_exception. for="save-block"> + <n.exception. name="banned"> + <t>Sorry, but the administrators have banned you.</t> + <t>You can't move the post to anywhere.</t> + </n.exception.> + <n.exception. name="same_node_loop"> + <t>The new parent cannot be the post itself.</t> + </n.exception.> + <n.exception. name="invalid_permalink"> + <t>Please provide a valid permalink.</t> + </n.exception.> + <n.exception. name="no_anonymous"> + <t>You cannot move this post to that destination because the new parent doesn't allow anonymous users.</t> + </n.exception.> + </n.format_error.handle_exception.> + </then> + </n.if.has_exception> + </then> + </n.if.is_submitted_form> +</macro>