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| %>
<%= 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} %> |
+ <% else %>
+
+ 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} %> |
+ <% end %>
+
<%= link_to "Remove", :controller => "mezuro_plugin_myprofile", :action => "remove_metric_configuration", :params =>
{:configuration_name => @configuration.name, :metric_name => metric_configuration.metric.name} %> |
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
+
+
+
+
+ Label
+ |
+
+ Beginning
+ |
+
+ End
+ |
+
+ Grade
+ |
+
+ Color
+ |
+
+ <% 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 %>
+
+
+
+<%= 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