Vote #72286
完了Projects not ordered alphabetically after renaming project
0%
説明
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.
journals
Projects Screen:
!projects_screen.png!
Projects Combo:
!projects_combo.png!
--------------------------------------------------------------------------------
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:
!plugin_list.png!
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
Cool! Thanks!
--------------------------------------------------------------------------------
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).
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
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?
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
related_issues
relates,Closed,11539,Display a projects tree instead of a flat list in notification preferences
relates,Closed,6836,Sort project list by Name instead of identifier