diff --git a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
index 385dd0d..0f221a8 100644
--- a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
+++ b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
@@ -27,6 +27,14 @@ class ConfigurationContentTest < ActiveSupport::TestCase
assert_not_nil @content.to_html
end
+ should 'not save a configuration with an existing cofiguration name in kalibro' do
+ client = mock
+ Kalibro::Client::ConfigurationClient.expects(:new).returns(client)
+ client.expects(:configuration_names).returns([@content.name.upcase])
+ @content.send :validate_kalibro_configuration_name
+ assert_equal "Configuration name already exists in Kalibro", @content.errors.on_base
+ end
+
should 'get configuration from service' do
Kalibro::Client::ConfigurationClient.expects(:configuration).with(@content.name).returns(@configuration)
assert_equal @configuration, @content.configuration
diff --git a/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb b/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
index 847042d..394024a 100644
--- a/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
+++ b/plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
@@ -15,6 +15,6 @@ end
<%= required_fields_message %>
-<%= required f.text_field(:name) %>
+<%= required f.text_field(:name, :disabled => !(@configuration.nil? || @article.id.nil?)) %>
<%= f.text_field :description %>
diff --git a/plugins/mezuro/views/content_viewer/show_configuration.rhtml b/plugins/mezuro/views/content_viewer/show_configuration.rhtml
index 36515f9..428a7ad 100644
--- a/plugins/mezuro/views/content_viewer/show_configuration.rhtml
+++ b/plugins/mezuro/views/content_viewer/show_configuration.rhtml
@@ -15,7 +15,7 @@
<%= link_to "#{image_tag ('/plugins/mezuro/images/plus.png')}Add Metric", :controller => "mezuro_plugin_myprofile",
-:action => "choose_base_tool", :params => {:configuration_name => @configuration.name} %>
+:action => "choose_base_tool", :params => { :id => @configuration_content.id } %>
<%= 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_name => metric_configuration.metric.name, :id => @configuration_content.id} %> <% 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} %> | + {:metric_name => metric_configuration.metric.name, :id => @configuration_content.id} %> <% end %><%= link_to "Remove", :controller => "mezuro_plugin_myprofile", :action => "remove_metric_configuration", :params => - {:configuration_name => @configuration.name, :metric_name => metric_configuration.metric.name} %> | + {:metric_name => metric_configuration.metric.name, :id => @configuration_content.id} %>