collective / collective/Products.RedirectionTool

Redirect tool is unable to create an alias using an ID which exists on the parent object

Open
#12 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
2
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Here is my scenario, I've got this site setup:

- /blog
- /blog/post1
- /blog/post2
- /commercial
- /residential

If I wanted to create this alias:
/blog/post3 which references /residential - this would be fine, and the residential page would appear

If I wanted to create this alias:
/blog/commercial which references /residential - this would not work, and it would display the /commercial page instead, rather than the expected alias I have created.

I suspect that the Traversal is working in this order:
1. Check if Page exists by the exact path
2. Check if the ID requested exists in the parent
3. Check if an alias exists

I believe that step 2 and 3 would need to be reversed to ensure the intended behaviour exists.

You can see some of this behaviour in effect here:
https://www.plone-demo.info/news/documents

This is actually showing the /documents page, purely because it exists in the parent. I would not consider this the indended behaviour

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.