diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index 93e280f..96ef01b 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -48,42 +48,31 @@ class MezuroPluginProfileController < ProfileController end def new_metric_configuration - metric_name = params[:metric_name] - @configuration_name = params[:configuration_name] collector_name = params[:collector_name] - collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name) @metric = collector.supported_metrics.find {|metric| metric.name == metric_name} + @configuration_name = params[:configuration_name] end def edit_metric_configuration - @configuration_name = params[:configuration_name] metric_name = params[:metric_name] + @configuration_name = params[:configuration_name] @metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name) + @metric = @metric_configuration.metric end def create_metric_configuration @configuration_name = params[:configuration_name] - metric_configuration = Kalibro::Entities::MetricConfiguration.new - metric_configuration.metric = Kalibro::Entities::NativeMetric.new - metric_configuration.metric.name = params[:metric][:name] - metric_configuration.metric.description = params[:description] - metric_configuration.metric.origin = params[:metric][:origin] - metric_configuration.metric.scope = params[:scope] - metric_configuration.metric.language = params[:language] - metric_configuration.code = params[:metric_configuration][:code] - metric_configuration.weight = params[:metric_configuration][:weight] - metric_configuration.aggregation_form = params[:metric_configuration][:aggregation] - + metric_configuration = set_metric_configuration(params) Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) - redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" end def update_metric_configuration @configuration_name = params[:configuration_name] - # raise @configuration_name.inspect + metric_configuration = set_metric_configuration(params) + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" end @@ -99,5 +88,23 @@ class MezuroPluginProfileController < ProfileController @range.color = params[:range][:color] @range.comments = params[:range][:comments] end + + private + + 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 + metric_configuration = Kalibro::Entities::MetricConfiguration.new + metric_configuration.metric = Kalibro::Entities::NativeMetric.new + metric_configuration.metric.name = params[:metric][:name] + metric_configuration.metric.description = params[:description] + metric_configuration.metric.origin = params[:metric][:origin] + metric_configuration.metric.scope = params[:scope] + metric_configuration.metric.language = params[:language] + metric_configuration.code = params[:metric_configuration][:code] + metric_configuration.weight = params[:metric_configuration][:weight] + metric_configuration.aggregation_form = params[:metric_configuration][:aggregation] + + metric_configuration + end + end diff --git a/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb index 2af27d5..3f83937 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb @@ -1,16 +1,27 @@

<%= @configuration_name %> Configuration

-<% form_for @metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> +<% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> <%= hidden_field_tag :configuration_name, @configuration_name %> + <%= hidden_field_tag :scope, @metric.scope %> + + <% @metric.language.each do |language| %> + <%= hidden_field_tag "language[]", language %> + <% end %> +

- <%= f.label :collector_name, "Collector Name:" %> - <%= @metric_configuration.metric.origin %> - <%= hidden_field_tag "metric[origin]", @metric_origin %> + <%= f.label :origin, "Collector Name:" %> + <%= @metric.origin %> + <%= hidden_field_tag "metric[origin]", @metric.origin %>

<%= f.label :metric_name, "Metric Name:" %> - <%= @metric_configuration.metric.name %> - <%= hidden_field_tag "metric[name]", @metric_name %> + <%= @metric.name %> + <%= hidden_field_tag "metric[name]", @metric.name %> +

+

+ <%= f.label :description, "Description:" %> + <%= @metric.description %> + <%= text_field_tag "metric[description]", @metric.description %>

<%= f.label :code, "Code:" %> diff --git a/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb index 8b55a98..6efb14a 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_profile/new_metric_configuration.html.erb @@ -5,10 +5,9 @@ <%= hidden_field_tag :scope, @metric.scope %> <% @metric.language.each do |language| %> - <%= hidden_field_tag "language[]", language %> + <%= hidden_field_tag "language[]", language %> <% end %> -

<%= f.label :origin, "Collector Name:" %> <%= @metric.origin %> -- libgit2 0.21.2