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 48 end
49 49  
50 50 def new_metric_configuration
51   -
52 51 metric_name = params[:metric_name]
53   - @configuration_name = params[:configuration_name]
54 52 collector_name = params[:collector_name]
55   -
56 53 collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name)
57 54 @metric = collector.supported_metrics.find {|metric| metric.name == metric_name}
  55 + @configuration_name = params[:configuration_name]
58 56 end
59 57  
60 58 def edit_metric_configuration
61   - @configuration_name = params[:configuration_name]
62 59 metric_name = params[:metric_name]
  60 + @configuration_name = params[:configuration_name]
63 61 @metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name)
  62 + @metric = @metric_configuration.metric
64 63 end
65 64  
66 65 def create_metric_configuration
67 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 68 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
80   -
81 69 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
82 70 end
83 71  
84 72 def update_metric_configuration
85 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 76 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
88 77 end
89 78  
... ... @@ -99,5 +88,23 @@ class MezuroPluginProfileController < ProfileController
99 88 @range.color = params[:range][:color]
100 89 @range.comments = params[:range][:comments]
101 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 109 end
103 110  
... ...
plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb
1 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 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 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 15 </p>
10 16 <p>
11 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 25 </p>
15 26 <p>
16 27 <%= f.label :code, "Code:" %>
... ...
plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb
... ... @@ -5,10 +5,9 @@
5 5 <%= hidden_field_tag :scope, @metric.scope %>
6 6  
7 7 <% @metric.language.each do |language| %>
8   - <%= hidden_field_tag "language[]", language %>
  8 + <%= hidden_field_tag "language[]", language %>
9 9 <% end %>
10 10  
11   -
12 11 <p>
13 12 <%= f.label :origin, "Collector Name:" %>
14 13 <%= @metric.origin %>
... ...