diff --git a/plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb b/plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb index c30556b..73a7b34 100644 --- a/plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb +++ b/plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb @@ -34,73 +34,64 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle @metric = @metric_configuration.metric @reading_group_names_and_ids = reading_group_names_and_ids end -=begin - def new_compound_metric_configuration - @configuration_content = profile.articles.find(params[:id]) - @metric_configurations = @configuration_content.metric_configurations - if configuration_content_has_errors? - redirect_to_error_page @configuration_content.errors[:base] - end - end - - def edit_compound_metric_configuration + def update @configuration_content = profile.articles.find(params[:id]) - @metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, params[:metric_name]) - @metric_configurations = @configuration_content.metric_configurations - @metric = @metric_configuration.metric - end - - - def create_compound_metric_configuration - id = params[:id] - metric_name = params[:metric_configuration][:metric][:name] - metric_configuration = Kalibro::MetricConfiguration.new(params[:metric_configuration]) - metric_configuration.save + configuration_id = @configuration_content.configuration_id + metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) + metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration][:id].to_i) + metric_configuration.update_attributes params[:metric_configuration] if metric_configuration_has_errors? metric_configuration redirect_to_error_page metric_configuration.errors[0].message else - redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_compound_metric_configuration?id=#{id}&metric_name=#{metric_name.gsub(/\s/, '+')}" + redirect_to "/#{profile.identifier}/#{@configuration_content.slug}" end end - def update_metric_configuration - @configuration_content = profile.articles.find(params[:id]) - metric_name = params[:metric_configuration][:metric][:name] - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, metric_name) - metric_configuration.update_attributes params[:metric_configuration] + def remove + configuration_content = profile.articles.find(params[:id]) + configuration_id = configuration_content.configuration_id + metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) + metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) + metric_configuration.destroy if metric_configuration_has_errors? metric_configuration redirect_to_error_page metric_configuration.errors[0].message else - redirect_to "/#{profile.identifier}/#{@configuration_content.slug}" + redirect_to "/#{profile.identifier}/#{configuration_content.slug}" end end - - def update_compound_metric_configuration + + def new_compound @configuration_content = profile.articles.find(params[:id]) - metric_name = params[:metric_configuration][:metric][:name] - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, metric_name) - metric_configuration.update_attributes params[:metric_configuration] - if metric_configuration_has_errors? metric_configuration - redirect_to_error_page metric_configuration.errors[0].message - else - redirect_to "/#{profile.identifier}/#{@configuration_content.slug}" + @metric_configurations = @configuration_content.metric_configurations + @reading_group_names_and_ids = reading_group_names_and_ids + if configuration_content_has_errors? + redirect_to_error_page @configuration_content.errors[:base] end end - def remove_metric_configuration - configuration_content = profile.articles.find(params[:id]) - metric_name = params[:metric_name] - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) - metric_configuration.destroy + def create_compound + metric_configuration = Kalibro::MetricConfiguration.new(params[:metric_configuration]) + metric_configuration.save + if metric_configuration_has_errors? metric_configuration redirect_to_error_page metric_configuration.errors[0].message else - redirect_to "/#{profile.identifier}/#{configuration_content.slug}" + id = params[:id] + redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_compound?id=#{id}&metric_configuration_id=#{metric_configuration.id}" end end -=end - + + def edit_compound + @configuration_content = profile.articles.find(params[:id]) + configuration_id = @configuration_content.configuration_id + metric_configurations = Kalibro::MetricConfiguration.metric_configurations_of(configuration_id) + @metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) + @metric = @metric_configuration.metric + @reading_group_names_and_ids = reading_group_names_and_ids + @metric_configurations = metric_configurations + end + private def find_metric_configuration (metric_configurations, metric_configuration_id) diff --git a/plugins/mezuro/lib/mezuro_plugin/helpers/content_viewer_helper.rb b/plugins/mezuro/lib/mezuro_plugin/helpers/content_viewer_helper.rb index 72cbd7a..c6619d6 100644 --- a/plugins/mezuro/lib/mezuro_plugin/helpers/content_viewer_helper.rb +++ b/plugins/mezuro/lib/mezuro_plugin/helpers/content_viewer_helper.rb @@ -57,6 +57,10 @@ class MezuroPlugin::Helpers::ContentViewerHelper ["Count", "COUNT"], ["Standard Deviation", "STANDARD_DEVIATION"]] end + def self.scope_options + [["Class", "CLASS"]] + end + private def self.discretize_array(array) diff --git a/plugins/mezuro/test/functional/myprofile/mezuro_plugin_metric_configuration_controller_test.rb b/plugins/mezuro/test/functional/myprofile/mezuro_plugin_metric_configuration_controller_test.rb index 34d5d23..1619b84 100644 --- a/plugins/mezuro/test/functional/myprofile/mezuro_plugin_metric_configuration_controller_test.rb +++ b/plugins/mezuro/test/functional/myprofile/mezuro_plugin_metric_configuration_controller_test.rb @@ -12,7 +12,7 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase @controller = MezuroPluginMetricConfigurationController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new - @profile = fast_create(Community) + @profile = fast_create(Community) #FIXME Should be a person, not a community @configuration = ConfigurationFixtures.configuration @created_configuration = ConfigurationFixtures.created_configuration @@ -34,8 +34,8 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase @metric_configuration = MetricConfigurationFixtures.amloc_metric_configuration @metric_configuration_hash = MetricConfigurationFixtures.amloc_metric_configuration_hash @created_metric_configuration = MetricConfigurationFixtures.created_metric_configuration -=begin @compound_metric_configuration = MetricConfigurationFixtures.sc_metric_configuration +=begin @compound_metric_configuration_hash = MetricConfigurationFixtures.sc_metric_configuration_hash @@ -46,7 +46,7 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase =end end - should 'test choose metric' do + should 'choose metric' do Kalibro::BaseTool.expects(:all).returns([@base_tool]) get :choose_metric, :profile => @profile.identifier, :id => @configuration_content.id assert_equal @configuration_content, assigns(:configuration_content) @@ -54,7 +54,7 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase assert_response 200 end - should 'test new native metric configuration' do + should 'initialize native' do Kalibro::BaseTool.expects(:find_by_name).with(@base_tool.name).returns(@base_tool) Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) get :new_native, :profile => @profile.identifier, :id => @configuration_content.id, :base_tool_name => @base_tool.name, :metric_name => @metric.name @@ -65,7 +65,7 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase assert_response 200 end - should 'test create native metric configuration' do + should 'create native' do #Kalibro::MetricConfiguration.expects(:new).returns(@created_metric_configuration) #FIXME need .with(some_hash). #@created_metric_configuration.expects(:save).returns(true) =begin @@ -76,7 +76,7 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase =end end - should 'test edit native metric configuration' do + should 'edit native' do Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) get :edit_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id @@ -86,18 +86,31 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) assert_response 200 end -=begin - should 'test new compound metric configuration' do - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, { - :configuration_name => @configuration_content.name}).returns({:configuration => @configuration_hash}) - get :new_compound_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id + + should 'initialize compound' do + Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) + get :new_compound, :profile => @profile.identifier, :id => @configuration_content.id assert_equal @configuration_content, assigns(:configuration_content) - assert_equal @configuration.metric_configuration[0].code, assigns(:metric_configurations)[0].code + #FIXME mock is not working. configuration_id is not being set. + #MezuroPlugin::ConfigurationContent.expects(:metric_configurations).returns([@compound_metric_configuration]) + #assert_equal @compound_metric_configuration.code, assigns(:metric_configurations).first.code + assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) assert_response 200 end - - should 'test edit compound metric configuration' do + should 'create compound' do +=begin TODO ARRUMAR ESTE TESTE!!! + Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :save_metric_configuration, { + :metric_configuration => @compound_metric_configuration.to_hash, + :configuration_name => @compound_metric_configuration.configuration_name}) + get :create_compound_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id, + :metric_configuration => @compound_hash + assert_response 302 +=end + end + + should 'edit compound' do +=begin TODO ARRUMAR ESTE TESTE!!! Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, { :configuration_name => @configuration_content.name, :metric_name => @compound_metric_configuration.metric.name}).returns({:metric_configuration => @compound_metric_configuration_hash}) @@ -111,19 +124,11 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase assert_equal @compound_metric_configuration.metric.name, assigns(:metric).name assert_equal @configuration.metric_configuration[0].code, assigns(:metric_configurations)[0].code assert_response 200 +=end end - - should 'test compound metric creation' do - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :save_metric_configuration, { - :metric_configuration => @compound_metric_configuration.to_hash, - :configuration_name => @compound_metric_configuration.configuration_name}) - get :create_compound_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id, - :metric_configuration => @compound_hash - assert_response 302 - end - - should 'test update native metric configuration' do + should 'update' do +=begin TODO ARRUMAR ESTE TESTE!!! Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, { :configuration_name => @configuration_content.name, :metric_name => @metric_configuration.metric.name}).returns({:metric_configuration => @metric_configuration_hash}) @@ -134,30 +139,15 @@ class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase :metric_configuration => @native_hash assert_equal @configuration_content, assigns(:configuration_content) assert_response 302 +=end end - - should 'test update compound metric configuration' do - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, { - :configuration_name => @configuration_content.name, - :metric_name => @compound_metric_configuration.metric.name}).returns({:metric_configuration => @compound_metric_configuration_hash}) - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :save_metric_configuration, { - :metric_configuration => @compound_metric_configuration.to_hash, - :configuration_name => @compound_metric_configuration.configuration_name}) - get :update_compound_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id, - :metric_configuration => @compound_hash - assert_equal @configuration_content, assigns(:configuration_content) + + should 'remove' do + Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) + @metric_configuration.expects(:destroy).returns() + get :remove, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id assert_response 302 end - should 'test remove metric configuration' do - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, { - :configuration_name => @configuration_content.name, - :metric_name => @metric.name}).returns({:metric_configuration => @metric_configuration_hash}) - Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :remove_metric_configuration, { - :metric_name => @metric.name, - :configuration_name => @metric_configuration.configuration_name}) - get :remove_metric_configuration, :profile => @profile.identifier, :id => @configuration_content.id, :metric_name => @metric.name - assert_response 302 - end -=end + end diff --git a/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb index a06585b..3fa7ea0 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb @@ -60,4 +60,8 @@ class ContentViewerHelperTest < ActiveSupport::TestCase ["Count", "COUNT"], ["Standard Deviation", "STANDARD_DEVIATION"]], @helper.aggregation_options end + should 'create scope options' do + assert_equal [["Class", "CLASS"]], @helper.scope_options + end + end diff --git a/plugins/mezuro/views/content_viewer/show_configuration.rhtml b/plugins/mezuro/views/content_viewer/show_configuration.rhtml index 84efa3b..7b74740 100644 --- a/plugins/mezuro/views/content_viewer/show_configuration.rhtml +++ b/plugins/mezuro/views/content_viewer/show_configuration.rhtml @@ -44,7 +44,13 @@ <% @configuration_content.metric_configurations.each do |metric_configuration| %>
<%= f.submit "Save" %> diff --git a/plugins/mezuro/views/mezuro_plugin_metric_configuration/choose_metric.html.erb b/plugins/mezuro/views/mezuro_plugin_metric_configuration/choose_metric.html.erb index 0a75054..2a11812 100644 --- a/plugins/mezuro/views/mezuro_plugin_metric_configuration/choose_metric.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_metric_configuration/choose_metric.html.erb @@ -1,6 +1,6 @@
<%= f.submit "Save" %>
+ +<% end %> + ++ Label + | ++ Beginning + | ++ End + | ++ Grade + | ++ Color + | +
- <%= "Metric Name:" + @metric.name %> -
- <% f.fields_for :metric do |m| %> - <%= m.hidden_field :name, :value => @metric.name %> -- <%= m.label :description, "Description:" %> - <%= m.text_field "description", :value => @metric.description %> -
-- <%= m.label :scope, "Scope:" %> - <%= m.select :scope, [["Class", "CLASS"]], :selected => @metric.scope %> -
-- <%= m.label :script, "Script:" %> - <%= m.text_area "script", :value => @metric.script, :rows => 5 %> -
- <% end %> -- <%= f.label :code, "Code:" %> - <%= f.text_field "code" %> -
-- <%= 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.submit "Save" %> -
-<% end %> - - -- Label - | -- Beginning - | -- End - | -- Grade - | -- Color - | -
<%= f.submit "Add" %>
+<% end %> + +<%= render :partial => "metric_codes", :locals => {:metric_configurations => @metric_configurations} %> + + diff --git a/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_compound_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_compound_metric_configuration.html.erb deleted file mode 100644 index a10a57e..0000000 --- a/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_compound_metric_configuration.html.erb +++ /dev/null @@ -1,44 +0,0 @@ -- <%= m.label :name, "Name:" %> - <%= m.text_field "name" %> -
-- <%= m.label :description, "Description:" %> - <%= m.text_field "description" %> -
-- <%= m.label :scope, "Scope:" %> - <%= m.select :scope, [["Class", "CLASS"]] %> -
-- <%= m.label :script, "Script:" %> - <%= m.text_area "script", :rows => 5 %> -
- <% end %> -- <%= f.label :code, "Code:" %> - <%= f.text_field "code" %> -
-- <%= 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.submit "Add" %> -
-<% end %> - -<%= render :partial => "metric_codes", :locals => {:metric_configurations => @metric_configurations} %> diff --git a/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_native.html.erb b/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_native.html.erb index 13f6cf8..dce726d 100644 --- a/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_native.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_metric_configuration/new_native.html.erb @@ -10,6 +10,7 @@ <%= labelled_form_field _('Collector Name:'), f.text_field(:base_tool_name, :value => @base_tool_name, :readonly => true) %> <% f.fields_for :metric do |m| %> + <%= m.hidden_field :compound, :value => "false" %> <% @metric.language.each do |language| %> <%= m.hidden_field :language, :multiple => true, :value => language %> <% end %> -- libgit2 0.21.2