Defect #11508
closedProjects not ordered alphabetically after renaming project
0%
Description
I have several projects on my Redmine database, and they are shown on the "Project" combo on the top right corner of the screen, as well as on the "Projects" main page.
I had a project called "Old EPOP". After changing it´s name to "EPOP Desktop" (on the project settings screen), the "Projects" main page and the combo keep showing the order as it was before, instead of ordering the projects alphabetically. Attached are some screenshots.
Files
Related issues
Updated by William Roush over 12 years ago
Only affects sub-projects, not root level projects. Confirmed on trunk for me.
If I'm not mistaken, this is handled by awesome_nested_set, is this a bug that is causing it to not update it's properties correctly? Or Redmine's fault?
Updated by William Roush over 12 years ago
For a quick temporary fix: move that project into another project and then back in, it'll fix the ordering issue.
Not being familiar with awesome_nested_set, I have no clue what is different in that circumstance.
Updated by Cassiano Monteiro over 12 years ago
- File plugin_list.png plugin_list.png added
Is this aewsome_nested_set a plugin? I don´t have it.
For information, here is my plugin list:
Updated by William Roush over 12 years ago
Cassiano Monteiro wrote:
Is this aewsome_nested_set a plugin? I don´t have it.
For information, here is my plugin list:
It's shipped with Redmine, /lib/plugins/awesome_nested_set.
Updated by William Roush over 12 years ago
- File NestedSetFix.patch NestedSetFix.patch added
Confirmed it's the nested set, attached is a patch that will rebuild the order if the name has been changed on save and a test that replicates this bug.
Updated by Etienne Massip over 12 years ago
Confirmed on trunk.
About the patch, it would be great if there were a possibility to move the tree rebuild code to a more generic form in awesome_nested_set (haven't dug enough to say if it's actually possible).
Updated by Etienne Massip over 12 years ago
- Status changed from New to Confirmed
- Target version set to Candidate for next minor release
Updated by William Roush over 12 years ago
Etienne Massip wrote:
Confirmed on trunk.
About the patch, it would be great if there were a possibility to move the tree rebuild code to a more generic form in awesome_nested_set (haven't dug enough to say if it's actually possible).
I'll go ahead and investigate that.
Updated by William Roush over 12 years ago
Attached is a fairly rough idea of how I think it could work (of course tweaks would be nice, I'm pretty rough with Ruby and Rails)
I also noticed we have a field called "order" that isn't default in awesome_nested_set, so it almost looks like we were on the track towards doing this anyway but stopped short.
Input?
Updated by William Roush over 12 years ago
Should this be done differently? Or is this good enough for the next minor release?
Updated by Jean-Philippe Lang over 12 years ago
- Assignee set to Jean-Philippe Lang
- Target version changed from Candidate for next minor release to 2.1.0
Updated by Jean-Philippe Lang over 12 years ago
- Status changed from Confirmed to Closed
- Resolution set to Fixed
- use of an
after_save
filter instead of overriding#save
(cleaner and everything runs in a db transaction) - no change to awesome_nested_set some we can upgrade/unvendor it more easily
- no need to call
Issue.update_versions_from_hierarchy_change
when renaming a project - additional tests
Thanks for digging into this.