Adds a Graphviz graph in the workflows->edit view which displays the selected workflow. Index: app/helpers/workflows_helper.rb =================================================================== --- app/helpers/workflows_helper.rb (revision 4574) +++ app/helpers/workflows_helper.rb (working copy) @@ -16,4 +16,11 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module WorkflowsHelper + def generate_workflow_graph(role, tracker) + edges = role.workflows.inject("") do |edge, workflow| + workflow.tracker_id == tracker.id ? "#{edge}#{workflow.old_status}->#{workflow.new_status};" : edge + end + + "http://chart.apis.google.com/chart?cht=gv&chl=digraph{#{CGI.escape(edges.gsub(/ /, '_').toutf8)}}&chs=547x547" + end end Index: app/views/workflows/edit.rhtml =================================================================== --- app/views/workflows/edit.rhtml (revision 4574) +++ app/views/workflows/edit.rhtml (working copy) @@ -71,3 +71,5 @@ <% end %> <% html_title(l(:label_workflow)) -%> + +<%= image_tag(generate_workflow_graph(@role, @tracker)) if @role %>