Index: trac-workflow/trac/ticket/templates/ticket.html
===================================================================
--- trac-workflow.orig/trac/ticket/templates/ticket.html	2007-04-23 10:09:40.000000000 -0500
+++ trac-workflow/trac/ticket/templates/ticket.html	2007-04-23 10:09:55.000000000 -0500
@@ -188,6 +188,9 @@
                       py:with="field_type = field_types.get('field_name')">
                     <strong>${field_name}</strong>
                     <py:choose>
+						    <py:when test="field_name == 'action'">
+                         ${field.new}
+							 </py:when>
                       <py:when test="field_name == 'attachment'">
                         <a href="${href.attachment('ticket', ticket.id, field.new)}"><em>${field.new}</em></a> added
                       </py:when>
Index: trac-workflow/trac/ticket/web_ui.py
===================================================================
--- trac-workflow.orig/trac/ticket/web_ui.py	2007-04-23 10:09:40.000000000 -0500
+++ trac-workflow/trac/ticket/web_ui.py	2007-04-23 10:09:55.000000000 -0500
@@ -754,9 +754,12 @@
             raise TracError('Invalid action "%s"' % action)
 
         merged_transitions = {}
+        side_effects = {}
 
         for controller in TicketSystem(self.env).action_controllers:
             transition, description = controller.get_ticket_changes(req, ticket, action)
+            if description:
+                side_effects[controller] = description
             for key in transition:
                 if key in merged_transitions:
                     if merged_transitions[key] != transition[key]:
@@ -774,6 +777,16 @@
         internal_cnum = cnum
         if cnum and replyto: # record parent.child relationship
             internal_cnum = '%s.%s' % (replyto, cnum)
+
+        cursor = context.db.cursor()
+        for controller in TicketSystem(self.env).action_controllers:
+            controller.apply_ticket_side_effects(req, ticket, action)
+            if controller in side_effects:
+                cursor.execute("INSERT INTO ticket_change "
+                       "(ticket,time,author,field,newvalue) "
+                       "VALUES (%s,%s,%s,'action',%s)",
+                       (ticket.id, to_timestamp(now), get_reporter_id(req, 'author'), side_effects[controller]))
+
         if ticket.save_changes(get_reporter_id(req, 'author'),
                                req.args.get('comment'), when=now,
                                db=context.db, cnum=internal_cnum):
@@ -785,10 +798,6 @@
             except Exception, e:
                 self.log.exception("Failure sending notification on change to "
                                    "ticket #%s: %s" % (ticket.id, e))
-
-        for controller in TicketSystem(self.env).action_controllers:
-            controller.apply_ticket_side_effects(req, ticket, action)
-
         fragment = cnum and '#comment:'+cnum or ''
         req.redirect(req.href.ticket(ticket.id) + fragment)
 
