Commit b129d88bddf23ae48c197c4f6eaf1ac3f76ae5ed
Committed by
Paulo Meireles
1 parent
aef90e14
Exists in
master
and in
29 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 %> |