This is more of a problem for pasted workflows in text mode as the gui encourages a display name to be edited from an initial "Action name" but you are also allowed to remove that name. On saving this currently results in entries of the form
in the [ticket-workflow] section of the trac.ini and this results in malformed labels on tickets.
This could be considered Trac's fault for not noticing that the entries are blank but something like the following would be one way of solving the problem here (just skips output of {{{action.name}} entries without values).
Index: tracworkflowadmin/web_ui.py
===================================================================
--- tracworkflowadmin/web_ui.py (revision 12234)
+++ tracworkflowadmin/web_ui.py (working copy)
@@ -627,8 +627,9 @@
for (name, value) in self.config.options('ticket-workflow'):
self.config.remove('ticket-workflow', name)
out['result'] = 0
- for key in newOptions.keys():
- self.config.set('ticket-workflow', key, newOptions[key])
+ [self.config.set('ticket-workflow', key, opt)
+ for key, opt in newOptions.iteritems()
+ if not(key.endswith('.name') and not opt)]
self.config.save()
except Exception, e:
self.config.parse_if_needed(force=True)