[Patch] Big change to the child table functionality
|Reported by:||anonymous||Owned by:||Mark Ryan|
Description (last modified by )
I've made a major change to the way that childticketsplugin handles the table of children. It has a few drawbacks but the benefits are very significant. I think it needs someone else to look over it and come up with some ways to tidy it up. changes are as follows:
- Removed the child table completely - The code was building a table in full when trac has the wiki engine to do this
- Added a custom field called childreport
- Added a ticket_created and ticket_changed handler to update the childreport of the parent ticket with a TicketQuery macro
There are a few caveats.
- If you change the macros, the parent does not get updated until you update a child.
- The ticket_custom table is updated every time a ticket is changed, regardless of whether it needs to be
- You cannot edit the childreport macro, it will always be overwritten when a child is modified
Benefits are pretty simple
- Allows you to use wiki macros to define the table, i.e. grouping and data on rows
- The wikitext field can also be used in custom queries
There are a few things I don't like. The code to handle the table_headers definition is a bit obscure. I've used a closure as it saves a bit of extra coding when i'm getting configuration directives but its not particularly readable. I've also not properly handled migrating from the child table to my version. Maybe we could add a config directive to tell it to use a field instead of rendering a table.
Screenshot of the ticket screen is also attached along with a diff.
Change History (12)
comment:2 Changed 6 years ago by
|Summary:||Big change to the child table functionality → [Patch] Big change to the child table functionality|