[[PageOutline(2-5,Contents,pullout)]] = Conditionally display fields based on ticket type = == Description == With the help of this Trac plugin you can hide or show fields when creating or viewing a ticket, depending on the ticket type. Only the presentation changes, not the contents of the ticket. CondFieldsGenshiPlugin is derived from the CondFieldsPlugin, but it is completely based on Genshi now instead of using Javascript. Moreover, you can select whether selected fields are hidden or shown by default. This plugin is standalone; the patch blackmagic-conditionalfields.patch in [https://trac-hacks.org/ticket/2486] did not match with newer releases of Trac 0.11. Some problems reported about the more powerful DynamicFieldsPlugin (bad scaling for many fields, malfunction if fields are internally sorted, clearing value of hidden fields) should not occur here. It should be easy to extend this plugin, e.g. for dependence on other parameters than ticket type. The plugin was tested under Trac 0.12 but should work under Trac 0.11, too (TBD). == Bugs/Feature Requests == Existing bugs and feature requests for CondFieldsGenshiPlugin are [report:9?COMPONENT=CondFieldsGenshiPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=CondFieldsGenshiPlugin&owner=Reinhard new ticket]. == Download == Download the zipped source from [download:condfieldsgenshiplugin here]. == Source == You can check out CondFieldsGenshiPlugin from [http://trac-hacks.org/svn/condfieldsgenshiplugin here] using Subversion, or [source:condfieldsgenshiplugin browse the source] with Trac. == Example == First, configure trac.ini as in this example: [components][[BR]] condfieldsgenshi.* = enabled[[BR]] ...[[BR]] [condfieldsgenshi][[BR]] tweaks = field1, field2[[BR]] default = disable[[BR]] field1.type_cond = defect[[BR]] field2.type_cond = task[[BR]] '''Effect:''' Now field1 will be shown only if the ticket type is defect, field2 only if the ticket type is task. The entry[[BR]] default = disable[[BR]] means that the field listed under tweaks are NOT shown by default. The default value is default = enable. To disable/enable a field independent of the ticket type, simply write a line like field1.type_cond = None (supposed there is no None type :-). When you change the ticket type, you must type preview resp. submit before you can see the effect of of condfieldsgenshi. '''Bug fix done for type field''' When the ticket type is given as an URL parameter only: .../newticket?type=task and the ticket type field is disabled, this plugin works nevertheless (in contrast to the CondFieldsPlugin). The type field label is extended by (Fixed) in this case now. == Recent Changes == [[ChangeLog(condfieldsgenshiplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:Reinhard] [[BR]] '''Maintainer:''' [wiki:Reinhard] [[BR]] '''Contributors:'''