Commit 23d371753b1be6b42b8226584ee340296db8994a
Committed by
Alessandro Palmeira
1 parent
87eafae0
Exists in
master
and in
29 other branches
[Mezuro] refactoring save and edit in metric configuration views
Showing
3 changed files
with
42 additions
and
25 deletions
Show diff stats
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 %> |