Commit 23d371753b1be6b42b8226584ee340296db8994a

Authored by Alessandro Palmeira + João M. M. da Silva
Committed by Alessandro Palmeira
1 parent 87eafae0

[Mezuro] refactoring save and edit in metric configuration views

plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
@@ -48,42 +48,31 @@ class MezuroPluginProfileController < ProfileController @@ -48,42 +48,31 @@ class MezuroPluginProfileController < ProfileController
48 end 48 end
49 49
50 def new_metric_configuration 50 def new_metric_configuration
51 -  
52 metric_name = params[:metric_name] 51 metric_name = params[:metric_name]
53 - @configuration_name = params[:configuration_name]  
54 collector_name = params[:collector_name] 52 collector_name = params[:collector_name]
55 -  
56 collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name) 53 collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name)
57 @metric = collector.supported_metrics.find {|metric| metric.name == metric_name} 54 @metric = collector.supported_metrics.find {|metric| metric.name == metric_name}
  55 + @configuration_name = params[:configuration_name]
58 end 56 end
59 57
60 def edit_metric_configuration 58 def edit_metric_configuration
61 - @configuration_name = params[:configuration_name]  
62 metric_name = params[:metric_name] 59 metric_name = params[:metric_name]
  60 + @configuration_name = params[:configuration_name]
63 @metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name) 61 @metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name)
  62 + @metric = @metric_configuration.metric
64 end 63 end
65 64
66 def create_metric_configuration 65 def create_metric_configuration
67 @configuration_name = params[:configuration_name] 66 @configuration_name = params[:configuration_name]
68 - metric_configuration = Kalibro::Entities::MetricConfiguration.new  
69 - metric_configuration.metric = Kalibro::Entities::NativeMetric.new  
70 - metric_configuration.metric.name = params[:metric][:name]  
71 - metric_configuration.metric.description = params[:description]  
72 - metric_configuration.metric.origin = params[:metric][:origin]  
73 - metric_configuration.metric.scope = params[:scope]  
74 - metric_configuration.metric.language = params[:language]  
75 - metric_configuration.code = params[:metric_configuration][:code]  
76 - metric_configuration.weight = params[:metric_configuration][:weight]  
77 - metric_configuration.aggregation_form = params[:metric_configuration][:aggregation]  
78 - 67 + metric_configuration = set_metric_configuration(params)
79 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) 68 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
80 -  
81 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" 69 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
82 end 70 end
83 71
84 def update_metric_configuration 72 def update_metric_configuration
85 @configuration_name = params[:configuration_name] 73 @configuration_name = params[:configuration_name]
86 - # raise @configuration_name.inspect 74 + metric_configuration = set_metric_configuration(params)
  75 + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
87 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" 76 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
88 end 77 end
89 78
@@ -99,5 +88,23 @@ class MezuroPluginProfileController < ProfileController @@ -99,5 +88,23 @@ class MezuroPluginProfileController < ProfileController
99 @range.color = params[:range][:color] 88 @range.color = params[:range][:color]
100 @range.comments = params[:range][:comments] 89 @range.comments = params[:range][:comments]
101 end 90 end
  91 +
  92 + private
  93 +
  94 + def set_metric_configuration(params) #FIXME isso foi feito para evitar duplicar o codigo de create e update metric configuration, faça de um jeito melhor
  95 + metric_configuration = Kalibro::Entities::MetricConfiguration.new
  96 + metric_configuration.metric = Kalibro::Entities::NativeMetric.new
  97 + metric_configuration.metric.name = params[:metric][:name]
  98 + metric_configuration.metric.description = params[:description]
  99 + metric_configuration.metric.origin = params[:metric][:origin]
  100 + metric_configuration.metric.scope = params[:scope]
  101 + metric_configuration.metric.language = params[:language]
  102 + metric_configuration.code = params[:metric_configuration][:code]
  103 + metric_configuration.weight = params[:metric_configuration][:weight]
  104 + metric_configuration.aggregation_form = params[:metric_configuration][:aggregation]
  105 +
  106 + metric_configuration
  107 + end
  108 +
102 end 109 end
103 110
plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb
1 <h2><%= @configuration_name %> Configuration</h2> 1 <h2><%= @configuration_name %> Configuration</h2>
2 2
3 -<% form_for @metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> 3 +<% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %>
4 <%= hidden_field_tag :configuration_name, @configuration_name %> 4 <%= hidden_field_tag :configuration_name, @configuration_name %>
  5 + <%= hidden_field_tag :scope, @metric.scope %>
  6 +
  7 + <% @metric.language.each do |language| %>
  8 + <%= hidden_field_tag "language[]", language %>
  9 + <% end %>
  10 +
5 <p> 11 <p>
6 - <%= f.label :collector_name, "Collector Name:" %>  
7 - <%= @metric_configuration.metric.origin %>  
8 - <%= hidden_field_tag "metric[origin]", @metric_origin %> 12 + <%= f.label :origin, "Collector Name:" %>
  13 + <%= @metric.origin %>
  14 + <%= hidden_field_tag "metric[origin]", @metric.origin %>
9 </p> 15 </p>
10 <p> 16 <p>
11 <%= f.label :metric_name, "Metric Name:" %> 17 <%= f.label :metric_name, "Metric Name:" %>
12 - <%= @metric_configuration.metric.name %>  
13 - <%= hidden_field_tag "metric[name]", @metric_name %> 18 + <%= @metric.name %>
  19 + <%= hidden_field_tag "metric[name]", @metric.name %>
  20 + </p>
  21 + <p>
  22 + <%= f.label :description, "Description:" %>
  23 + <%= @metric.description %>
  24 + <%= text_field_tag "metric[description]", @metric.description %>
14 </p> 25 </p>
15 <p> 26 <p>
16 <%= f.label :code, "Code:" %> 27 <%= f.label :code, "Code:" %>
plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb
@@ -5,10 +5,9 @@ @@ -5,10 +5,9 @@
5 <%= hidden_field_tag :scope, @metric.scope %> 5 <%= hidden_field_tag :scope, @metric.scope %>
6 6
7 <% @metric.language.each do |language| %> 7 <% @metric.language.each do |language| %>
8 - <%= hidden_field_tag "language[]", language %> 8 + <%= hidden_field_tag "language[]", language %>
9 <% end %> 9 <% end %>
10 10
11 -  
12 <p> 11 <p>
13 <%= f.label :origin, "Collector Name:" %> 12 <%= f.label :origin, "Collector Name:" %>
14 <%= @metric.origin %> 13 <%= @metric.origin %>