diff --git a/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb index 16f4939..6480541 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb @@ -111,10 +111,26 @@ class MezuroPluginMyprofileController < ProfileController def create_compound_metric_configuration @configuration_name = params[:configuration_name] compound_metric_configuration = new_compound_metric_configuration_instance - # NOT WORKING # Kalibro::Client::MetricConfigurationClient.new.save(compound_metric_configuration, @configuration_name) + Kalibro::Client::MetricConfigurationClient.new.save(compound_metric_configuration, @configuration_name) redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" end - + + def edit_compound_metric_configuration + 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 update_compound_metric_configuration + @configuration_name = params[:configuration_name] + metric_name = params[:metric][:name] + metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name) + assign_compound_metric_configuration_instance (metric_configuration) + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) + redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" + end + private def new_metric_configuration_instance diff --git a/plugins/mezuro/views/content_viewer/show_configuration.rhtml b/plugins/mezuro/views/content_viewer/show_configuration.rhtml index d925283..36515f9 100644 --- a/plugins/mezuro/views/content_viewer/show_configuration.rhtml +++ b/plugins/mezuro/views/content_viewer/show_configuration.rhtml @@ -1,17 +1,5 @@ <% @configuration_content = @page @configuration = Kalibro::Client::ConfigurationClient.new.configuration(@configuration_content.name) %> -<% - # FAKE de CompoundMetric - fake_compound_metric = Kalibro::Entities::CompoundMetric.new - fake_compound_metric.script = "return LOC*1;" - fake_compound_metric.name = "new LOC" - fake_compound_metric.scope = "CLASS" - fake_compound_metric.description = "Description" - fake_compound_metric_configuration = Kalibro::Entities::MetricConfiguration.new - fake_compound_metric_configuration.metric = fake_compound_metric - fake_compound_metric_configuration.code = "code" - @configuration.metric_configurations << fake_compound_metric_configuration -%> @@ -38,17 +26,22 @@ <% @configuration.metric_configurations.each do |metric_configuration| %> - - - - - + + + + <% else %> + + + + <% end %> + diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/edit_compound_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_myprofile/edit_compound_metric_configuration.html.erb new file mode 100644 index 0000000..51d5369 --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/edit_compound_metric_configuration.html.erb @@ -0,0 +1,75 @@ +

<%= @configuration_name %> Configuration

+ +<% form_for :metric_configuration, :url => {:action =>"update_compound_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> + <%= hidden_field_tag :configuration_name, @configuration_name %> + +

+ <%= f.label :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:" %> + <%= f.text_field :code %> +

+

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

+

+ <%= f.label :aggregation_form, "Aggregation Form:" %> + <%= f.select :aggregation_form, [["Average","AVERAGE"], ["Median", "MEDIAN"], ["Maximum", "MAXIMUM"], ["Minimum", "MINIMUM"], + ["Count", "COUNT"], ["Standard Deviation", "STANDARD_DEVIATION"]] %> +

+

+ <%= f.label :weight, "Weight:" %> + <%= f.text_field :weight %> +

+

+ <%= f.label :script, "script:" %> + <%= f.text_area :script %> +

+

+ <%= f.submit "Save" %> +

+<% end %> + + +
Ranges

+ +
<%= metric_configuration.metric.name %> - <% if metric_configuration.metric.instance_of? Kalibro::Entities::NativeMetric %> + <% if metric_configuration.metric.instance_of? Kalibro::Entities::NativeMetric %> + <%= metric_configuration.metric.origin %> - <% else %> Compound Metric - <% end %> - <%= metric_configuration.code %><%= link_to "Edit", :controller => "mezuro_plugin_myprofile", :action => "edit_metric_configuration", :params => - {:configuration_name => @configuration.name, :metric_name => metric_configuration.metric.name} %><%= metric_configuration.code %><%= link_to "Edit", :controller => "mezuro_plugin_myprofile", :action => "edit_metric_configuration", :params => + {:configuration_name => @configuration.name, :metric_name => metric_configuration.metric.name} %> + Compound Metric + <%= metric_configuration.code %><%= link_to "Edit", :controller => "mezuro_plugin_myprofile", :action => "edit_compound_metric_configuration", :params => + {:configuration_name => @configuration.name, :metric_name => metric_configuration.metric.name} %><%= link_to "Remove", :controller => "mezuro_plugin_myprofile", :action => "remove_metric_configuration", :params => {:configuration_name => @configuration.name, :metric_name => metric_configuration.metric.name} %>
+ + + + + + + + <% if (@metric_configuration.ranges!=nil) + @metric_configuration.ranges.each do |range| %> + <%= render :partial => "range", :locals => {:range => range, :configuration_name => @configuration_name, + :metric_name => @metric_configuration.metric.name} %> + <% end + end %> +
+ Label + + Beginning + + End + + Grade + + Color +
+ +
+<%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_myprofile", :configuration_name => @configuration_name, :metric_name => @metric.name} %> + + -- libgit2 0.21.2