Commit b129d88bddf23ae48c197c4f6eaf1ac3f76ae5ed
Committed by
Paulo Meireles
1 parent
aef90e14
Exists in
master
and in
28 other branches
[Mezuro] refactored choose base tool and choose metric views
Showing
6 changed files
with
46 additions
and
65 deletions
Show diff stats
plugins/mezuro/controllers/myprofile/mezuro_plugin_base_tool_controller.rb
| @@ -2,16 +2,9 @@ class MezuroPluginBaseToolController < MezuroPluginMyprofileController | @@ -2,16 +2,9 @@ class MezuroPluginBaseToolController < MezuroPluginMyprofileController | ||
| 2 | 2 | ||
| 3 | append_view_path File.join(File.dirname(__FILE__) + '/../../views') | 3 | append_view_path File.join(File.dirname(__FILE__) + '/../../views') |
| 4 | 4 | ||
| 5 | - def choose_base_tool | ||
| 6 | - @configuration_content = profile.articles.find(params[:id]) | ||
| 7 | - @base_tools = Kalibro::BaseTool.all_names | ||
| 8 | - end | ||
| 9 | - | ||
| 10 | def choose_metric | 5 | def choose_metric |
| 11 | @configuration_content = profile.articles.find(params[:id]) | 6 | @configuration_content = profile.articles.find(params[:id]) |
| 12 | - @base_tool = params[:base_tool] | ||
| 13 | - base_tool = Kalibro::BaseTool.find_by_name(@base_tool) | ||
| 14 | - @supported_metrics = base_tool.nil? ? [] : base_tool.supported_metrics | 7 | + @base_tools = Kalibro::BaseTool.all |
| 15 | end | 8 | end |
| 16 | 9 | ||
| 17 | end | 10 | end |
plugins/mezuro/lib/kalibro/base_tool.rb
| @@ -10,6 +10,11 @@ class Kalibro::BaseTool < Kalibro::Model | @@ -10,6 +10,11 @@ class Kalibro::BaseTool < Kalibro::Model | ||
| 10 | new request("BaseTool", :get_base_tool, {:base_tool_name => base_tool_name})[:base_tool] | 10 | new request("BaseTool", :get_base_tool, {:base_tool_name => base_tool_name})[:base_tool] |
| 11 | end | 11 | end |
| 12 | 12 | ||
| 13 | + def self.all | ||
| 14 | + basetools = all_names | ||
| 15 | + basetools.map{ |name| find_by_name(name) } | ||
| 16 | + end | ||
| 17 | + | ||
| 13 | def supported_metric=(value) | 18 | def supported_metric=(value) |
| 14 | @supported_metric = Kalibro::NativeMetric.to_objects_array value | 19 | @supported_metric = Kalibro::NativeMetric.to_objects_array value |
| 15 | end | 20 | end |
plugins/mezuro/test/functional/myprofile/mezuro_plugin_base_tool_controller_test.rb
| @@ -22,20 +22,12 @@ class MezuroPluginBaseToolControllerTest < ActionController::TestCase | @@ -22,20 +22,12 @@ class MezuroPluginBaseToolControllerTest < ActionController::TestCase | ||
| 22 | @content.save | 22 | @content.save |
| 23 | end | 23 | end |
| 24 | 24 | ||
| 25 | - should 'test choose base tool' do | ||
| 26 | - Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool_names).returns({:base_tool_name => @base_tool.name}) | ||
| 27 | - get :choose_base_tool, :profile => @profile.identifier, :id => @content.id | ||
| 28 | - assert_equal [@base_tool.name], assigns(:base_tools) | ||
| 29 | - assert_equal @content, assigns(:configuration_content) | ||
| 30 | - assert_response 200 | ||
| 31 | - end | ||
| 32 | - | ||
| 33 | should 'test choose metric' do | 25 | should 'test choose metric' do |
| 26 | + Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool_names).returns({:base_tool_name => @base_tool.name}) | ||
| 34 | Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool, {:base_tool_name => @base_tool.name}).returns({:base_tool => @base_tool_hash}) | 27 | Kalibro::BaseTool.expects(:request).with("BaseTool", :get_base_tool, {:base_tool_name => @base_tool.name}).returns({:base_tool => @base_tool_hash}) |
| 35 | - get :choose_metric, :profile => @profile.identifier, :id => @content.id, :base_tool => @base_tool.name | 28 | + get :choose_metric, :profile => @profile.identifier, :id => @content.id |
| 29 | + assert_equal @base_tool.name, assigns(:base_tools).first.name | ||
| 36 | assert_equal @content, assigns(:configuration_content) | 30 | assert_equal @content, assigns(:configuration_content) |
| 37 | - assert_equal @base_tool.name, assigns(:base_tool) | ||
| 38 | - assert_equal @base_tool.supported_metric[0].name, assigns(:supported_metrics)[0].name | ||
| 39 | assert_response 200 | 31 | assert_response 200 |
| 40 | end | 32 | end |
| 41 | 33 |
plugins/mezuro/views/content_viewer/show_configuration.rhtml
| 1 | <% @configuration_content = @page | 1 | <% @configuration_content = @page |
| 2 | @kalibro_configuration = @page.kalibro_configuration %> | 2 | @kalibro_configuration = @page.kalibro_configuration %> |
| 3 | +<% owner = (not user.nil?) && user.id == @profile.id %> | ||
| 4 | + | ||
| 3 | <% unless @page.errors[:base].nil? %> | 5 | <% unless @page.errors[:base].nil? %> |
| 4 | <% if @page.errors[:base] =~ /There is no configuration named/ %> | 6 | <% if @page.errors[:base] =~ /There is no configuration named/ %> |
| 5 | <h3>Warning:</h3> | 7 | <h3>Warning:</h3> |
| 6 | - <p>This Configuration doesn't exist on the Web Service. Do you want to <%= link_to 'delete', :action => 'destroy', :controller => 'cms', :profile => @page.profile.identifier, :id => @page.id %> or <%= link_to 'save it again', :action => 'edit', :controller => 'cms', :profile => @page.profile.identifier, :id => @page.id %>?</p> | 8 | + <p>This Configuration doesn't exist on the Web Service.</p> |
| 9 | + <% if owner %> | ||
| 10 | + <p> Do you want to <%= link_to 'delete', :action => 'destroy', :controller => 'cms', :profile => @page.profile.identifier, :id => @page.id %> or <%= link_to 'save it again', :action => 'edit', :controller => 'cms', :profile => @page.profile.identifier, :id => @page.id %>?</p> | ||
| 11 | + <% end %> | ||
| 7 | <% else %> | 12 | <% else %> |
| 8 | <%= @page.errors[:base] %> | 13 | <%= @page.errors[:base] %> |
| 9 | <% end %> | 14 | <% end %> |
| @@ -22,42 +27,44 @@ | @@ -22,42 +27,44 @@ | ||
| 22 | 27 | ||
| 23 | <br/> | 28 | <br/> |
| 24 | 29 | ||
| 25 | - <%= link_to "#{image_tag ('/plugins/mezuro/images/plus.png')}Add Metric", :controller => "mezuro_plugin_base_tool", | 30 | + <% if owner %> |
| 31 | + <%= link_to "#{image_tag ('/plugins/mezuro/images/plus.png')}Add Metric", :controller => "mezuro_plugin_base_tool", | ||
| 26 | :profile => @page.profile.identifier, | 32 | :profile => @page.profile.identifier, |
| 27 | - :action => "choose_base_tool", | 33 | + :action => "choose_metric", |
| 28 | :id => @configuration_content.id %><br/> | 34 | :id => @configuration_content.id %><br/> |
| 35 | + <% end %> | ||
| 29 | 36 | ||
| 30 | <table> | 37 | <table> |
| 31 | <tr class="titles"> | 38 | <tr class="titles"> |
| 32 | <td><h5>Metric Name</h5></td> | 39 | <td><h5>Metric Name</h5></td> |
| 33 | <td><h5>Collector Name</h5></td> | 40 | <td><h5>Collector Name</h5></td> |
| 34 | <td><h5>Metric Code</h5></td> | 41 | <td><h5>Metric Code</h5></td> |
| 35 | - <td/><td/> | 42 | + <td/> |
| 36 | </tr> | 43 | </tr> |
| 37 | <% @kalibro_configuration.metric_configurations.each do |metric_configuration| %> | 44 | <% @kalibro_configuration.metric_configurations.each do |metric_configuration| %> |
| 38 | <tr class="metric"> | 45 | <tr class="metric"> |
| 39 | - <td><%= metric_configuration.metric.name %></td> | ||
| 40 | <% if metric_configuration.metric.instance_of? Kalibro::NativeMetric %> | 46 | <% if metric_configuration.metric.instance_of? Kalibro::NativeMetric %> |
| 47 | + <td><%= link_to metric_configuration.metric.name, :controller => "mezuro_plugin_metric_configuration", :action => "edit_metric_configuration", | ||
| 48 | + :metric_name => metric_configuration.metric.name, :id => @configuration_content.id, | ||
| 49 | + :profile => @page.profile.identifier %></td> | ||
| 41 | <td> | 50 | <td> |
| 42 | <%= metric_configuration.metric.origin %> | 51 | <%= metric_configuration.metric.origin %> |
| 43 | </td> | 52 | </td> |
| 44 | <td><%= metric_configuration.code %></td> | 53 | <td><%= metric_configuration.code %></td> |
| 45 | - <td><%= link_to "Edit", :controller => "mezuro_plugin_metric_configuration", :action => "edit_metric_configuration", | ||
| 46 | - :metric_name => metric_configuration.metric.name, :id => @configuration_content.id, | ||
| 47 | - :profile => @page.profile.identifier %></td> | ||
| 48 | <% else %> | 54 | <% else %> |
| 55 | + <td><%= link_to metric_configuration.metric.name, :controller => "mezuro_plugin_metric_configuration", | ||
| 56 | + :action => "edit_compound_metric_configuration", :metric_name => metric_configuration.metric.name, | ||
| 57 | + :id => @configuration_content.id, :profile => @page.profile.identifier %></td> | ||
| 49 | <td> | 58 | <td> |
| 50 | Compound Metric | 59 | Compound Metric |
| 51 | </td> | 60 | </td> |
| 52 | <td><%= metric_configuration.code %></td> | 61 | <td><%= metric_configuration.code %></td> |
| 53 | - <td><%= link_to "Edit", :controller => "mezuro_plugin_metric_configuration", | ||
| 54 | - :action => "edit_compound_metric_configuration", :metric_name => metric_configuration.metric.name, | ||
| 55 | - :id => @configuration_content.id, :profile => @page.profile.identifier %></td> | ||
| 56 | <% end %> | 62 | <% end %> |
| 57 | - | ||
| 58 | - <td><%= link_to "Remove", :controller => "mezuro_plugin_metric_configuration", :action => "remove_metric_configuration", | 63 | + <% if owner %> |
| 64 | + <td><%= link_to "Remove", :controller => "mezuro_plugin_metric_configuration", :action => "remove_metric_configuration", | ||
| 59 | :metric_name => metric_configuration.metric.name, :id => @configuration_content.id, | 65 | :metric_name => metric_configuration.metric.name, :id => @configuration_content.id, |
| 60 | :profile => @page.profile.identifier %></td> | 66 | :profile => @page.profile.identifier %></td> |
| 67 | + <% end %> | ||
| 61 | </tr> | 68 | </tr> |
| 62 | <% end %> | 69 | <% end %> |
| 63 | </table> | 70 | </table> |
plugins/mezuro/views/mezuro_plugin_base_tool/choose_base_tool.html.erb
| @@ -1,16 +0,0 @@ | @@ -1,16 +0,0 @@ | ||
| 1 | -<h2><%= @configuration_content.name%> Configuration</h2> | ||
| 2 | - | ||
| 3 | -<%= link_to "New Compound Metric", :controller => "mezuro_plugin_metric_configuration", :action => "new_compound_metric_configuration", | ||
| 4 | - :id => @configuration_content.id %> | ||
| 5 | - | ||
| 6 | -<h5>Base Tools:</h5> | ||
| 7 | -<table id="project_info"> | ||
| 8 | - <% @base_tools.each do |base_tool| %> | ||
| 9 | - <tr> | ||
| 10 | - <td> | ||
| 11 | - <%= link_to base_tool, :controller => "mezuro_plugin_base_tool", :action => "choose_metric", :base_tool => base_tool, | ||
| 12 | - :id => @configuration_content.id %> | ||
| 13 | - </td> | ||
| 14 | - </tr> | ||
| 15 | - <% end %> | ||
| 16 | -</table> |
plugins/mezuro/views/mezuro_plugin_base_tool/choose_metric.html.erb
| 1 | -<h2><%= @configuration_content.name %> Configuration</h2> | 1 | +<h2><%= @configuration_content.name%> Configuration</h2> |
| 2 | 2 | ||
| 3 | -<table id="project_info"> | ||
| 4 | - <tr> | ||
| 5 | - <h5>Metric Collector: <%= @base_tool %></h5> | ||
| 6 | - </tr> | ||
| 7 | - <tr> | ||
| 8 | - <h5>Choose a metric to add:</h5> | ||
| 9 | - </tr> | ||
| 10 | - <% @supported_metrics.each do |metric| %> | ||
| 11 | - <tr class="metric" title="<%= metric.name %>"> | ||
| 12 | - <td> | ||
| 13 | - <%= link_to metric.name, :controller => "mezuro_plugin_metric_configuration", :action => "new_metric_configuration", | ||
| 14 | - :metric_name => metric.name, :base_tool => @base_tool, :id => @configuration_content.id %> | ||
| 15 | - </td> | ||
| 16 | - </tr> | ||
| 17 | - <% end %> | ||
| 18 | -</table> | 3 | +<%= link_to "New Compound Metric", :controller => "mezuro_plugin_metric_configuration", :action => "new_compound_metric_configuration", |
| 4 | + :id => @configuration_content.id %> | ||
| 5 | + | ||
| 6 | +<h5>Base Tools:</h5> | ||
| 7 | +<% @base_tools.each do |base_tool| %> | ||
| 8 | + <h4><%= link_to base_tool.name, "#", :onclick => "jQuery(\"\##{base_tool.name}\").toggle();"%></h4> | ||
| 9 | + <hr/> | ||
| 10 | + | ||
| 11 | + <div id="<%=base_tool.name%>" style="display:none"> | ||
| 12 | + <% base_tool.supported_metrics.each do |metric| %> | ||
| 13 | +       <%= link_to metric.name, :controller => "mezuro_plugin_metric_configuration", :action => "new_metric_configuration", | ||
| 14 | + :metric_name => metric.name, :base_tool => base_tool.name, :id => @configuration_content.id %> | ||
| 15 | + <hr size="1" width="93%"/> | ||
| 16 | + <% end %> | ||
| 17 | + </div> | ||
| 18 | +<% end %> |