backlogs/redmine_backlogs — pull request #571 by patrickatamaniuk (2012-05-26 21:25:31+00:00)
Title: Sharing integration - need help

Got the master backlog page drag-n-drop js code to actually work :-) Hooray! It now obeys sharing rules as far as they are available.
Added some plumbing for dragging stories back to the product backlog

Fixed some merging stuff which introduced regression or missed commits. Needs thorough checking, i don't believe that i catched all regressions from merges.

Got all! tests from master green :-) (seemingly). But that needs thorough checking - i'm not sure if my hacking did more good than bad. "grep -r FIXME . |grep sharing" shows my marks where i was not sure what i am doing.

I'm in the process of adding more drafts for feature tests. I'm stuck here and would need some help.

In the tests:
1. I failed to initialize the backlogs plugin for subproject1. I'd need bl enabled on many projects to write more tests reg. creating stories on mbl-page menus.
2. I did not write code to inject more projects for edge case checking and do not have the guts to change fixtures.
3. I fought with 'tracker not in list' exceptions when creating stories,tasks,impediments. My workarounds in the tests boiled down to seed the new issue with a project_id. I am not sure if this is correct.
4. 'tracker not in list' still is occuring when using the UI: have a parentproject+subproject. On the project mbl page have a sprint of the parentproject which is NOT shared. Create a new story in that sprint but assign it to the subproject.
This would be imho absolutely valid - at least i can do this by using the redmine std. views. Tests for that could not provide yet, as i got confused by the basics :-)

Last, i am not very sure about what is shared where and when. What is the intended behavior?
e.g.:
5. stories in a subproject's bl are shared to the parent's backlog. regardless.
6. a (sup|parent|global)project's sprint is visible following redmine 'shared versions' rules
7. On the parents mbl page i can drag a subproject's story into a sprint of the parent only if that sprint is shared. (thats current behavior)
8. Anything what is visible on a parents mbl page can be dragged into the product backlog.
9. viewing the subproject's mbl page: Only stories from the subproject can be dragged into the subproject's backlog. (thats what i implemented in this patchset)