Defect #11508
closed
Projects not ordered alphabetically after renaming project
Added by Cassiano Monteiro over 12 years ago.
Updated over 12 years ago.
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
Projects Screen:
Projects Combo:
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?
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.
Is this aewsome_nested_set a plugin? I don´t have it.
For information, here is my plugin list:
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.
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.
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).
- Status changed from New to Confirmed
- Target version set to Candidate for next minor release
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.
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?
Should this be done differently? Or is this good enough for the next minor release?
- Assignee set to Jean-Philippe Lang
- Target version changed from Candidate for next minor release to 2.1.0
- Status changed from Confirmed to Closed
- Resolution set to Fixed
Fix committed in
r10187 with some changes:
- 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.
Also available in: Atom
PDF