diff --git a/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb b/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb index bb3b39d..bda74c6 100644 --- a/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb +++ b/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb @@ -10,7 +10,7 @@ class MezuroPluginReadingController < MezuroPluginMyprofileController reading_group_content = profile.articles.find(params[:id]) reading = Kalibro::Reading.new params[:reading] - if( reading.save(reading_group_content.reading_group_id) ) + if( reading.save ) redirect_to reading_group_content.view_url else redirect_to_error_page reading.errors[0].message diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb index 59c5a4e..edbdf8c 100644 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb @@ -8,16 +8,14 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController def edit params_repository_form - @repository = @project_content.repositories.select{ |repository| repository.id.to_s == params[:repository_id] }.first + @repository = @project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_i }.first end def save project_content = profile.articles.find(params[:id]) - repository = Kalibro::Repository.new( params[:repository] ) - repository.save(project_content.project_id) - if( repository.errors.empty? ) + if( repository.save ) repository.process redirect_to(repository_url(project_content, repository.id)) else @@ -28,7 +26,7 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController def show @project_content = profile.articles.find(params[:id]) @repository = @project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_i }.first - @configuration_name = Kalibro::Configuration.configuration_of(@repository.id).name + @configuration_name = Kalibro::Configuration.find(@repository.configuration_id).name end def destroy diff --git a/plugins/mezuro/lib/kalibro/configuration.rb b/plugins/mezuro/lib/kalibro/configuration.rb index c8207d6..7bebf73 100644 --- a/plugins/mezuro/lib/kalibro/configuration.rb +++ b/plugins/mezuro/lib/kalibro/configuration.rb @@ -6,10 +6,6 @@ class Kalibro::Configuration < Kalibro::Model @id = value.to_i end - def self.configuration_of(repository_id) - new request(:configuration_of, {:repository_id => repository_id})[:configuration] - end - def self.all response = request(:all_configurations)[:configuration] response = [] if response.nil? diff --git a/plugins/mezuro/lib/kalibro/module_result.rb b/plugins/mezuro/lib/kalibro/module_result.rb index c61d3ad..5bb801c 100644 --- a/plugins/mezuro/lib/kalibro/module_result.rb +++ b/plugins/mezuro/lib/kalibro/module_result.rb @@ -1,6 +1,6 @@ class Kalibro::ModuleResult < Kalibro::Model - attr_accessor :id, :module, :grade, :parent_id + attr_accessor :id, :module, :grade, :parent_id, :height def self.find(id) new request(:get_module_result, { :module_result_id => id })[:module_result] diff --git a/plugins/mezuro/lib/kalibro/project.rb b/plugins/mezuro/lib/kalibro/project.rb index afb2721..a23673b 100644 --- a/plugins/mezuro/lib/kalibro/project.rb +++ b/plugins/mezuro/lib/kalibro/project.rb @@ -12,9 +12,4 @@ class Kalibro::Project < Kalibro::Model response = [response] if response.is_a?(Hash) response.map {|project| new project} end - - def self.project_of(repository_id) - new request(:project_of, :repository_id => repository_id)[:project] - end - end diff --git a/plugins/mezuro/lib/kalibro/reading.rb b/plugins/mezuro/lib/kalibro/reading.rb index ab7fe0d..77458fe 100644 --- a/plugins/mezuro/lib/kalibro/reading.rb +++ b/plugins/mezuro/lib/kalibro/reading.rb @@ -1,6 +1,6 @@ class Kalibro::Reading < Kalibro::Model - attr_accessor :id, :label, :grade, :color + attr_accessor :id, :label, :grade, :color, :group_id def self.find(id) new request(:get_reading, {:reading_id => id})[:reading] @@ -25,14 +25,10 @@ class Kalibro::Reading < Kalibro::Model @grade = value.to_f end - def save(reading_group_id) - begin - self.id = self.class.request(:save_reading, {:reading => self.to_hash, :group_id => reading_group_id})[:reading_id] - true - rescue Exception => exception - add_error exception - false - end + private + + def save_params + {:reading => self.to_hash, :group_id => group_id} end end diff --git a/plugins/mezuro/lib/kalibro/repository.rb b/plugins/mezuro/lib/kalibro/repository.rb index 6e0581d..d918f8b 100644 --- a/plugins/mezuro/lib/kalibro/repository.rb +++ b/plugins/mezuro/lib/kalibro/repository.rb @@ -1,14 +1,10 @@ class Kalibro::Repository < Kalibro::Model - attr_accessor :id, :name, :description, :license, :process_period, :type, :address, :configuration_id + attr_accessor :id, :name, :description, :license, :process_period, :type, :address, :configuration_id, :project_id def self.repository_types request(:supported_repository_types)[:supported_type].to_a end - - def self.repository_of(processing_id) - new request(:repository_of, {:processing_id => processing_id})[:repository] - end def self.repositories_of(project_id) response = request(:repositories_of, {:project_id => project_id})[:repository] @@ -37,14 +33,10 @@ class Kalibro::Repository < Kalibro::Model self.class.request(:cancel_processing_of_repository, {:repository_id => self.id}) end - def save(project_id) - begin - self.id = self.class.request(:save_repository, {:repository => self.to_hash, :project_id => project_id})[:repository_id] - true - rescue Exception => exception - add_error exception - false - end + private + + def save_params + {:repository => self.to_hash, :project_id => project_id} end end diff --git a/plugins/mezuro/test/fixtures/reading_fixtures.rb b/plugins/mezuro/test/fixtures/reading_fixtures.rb index 4e7dc4c..57faf53 100644 --- a/plugins/mezuro/test/fixtures/reading_fixtures.rb +++ b/plugins/mezuro/test/fixtures/reading_fixtures.rb @@ -5,11 +5,11 @@ class ReadingFixtures end def self.created_reading # A created object has no id before being sent to kalibro - Kalibro::Reading.new :label => "Reading Test Label", :grade => "10.5", :color => "AABBCC" + Kalibro::Reading.new :label => "Reading Test Label", :grade => "10.5", :color => "AABBCC", :group_id => "31" end def self.reading_hash - {:id => "42", :label => "Reading Test Label", :grade => "10.5", :color => "AABBCC" } + {:id => "42", :label => "Reading Test Label", :grade => "10.5", :color => "AABBCC", :group_id => "31"} end end diff --git a/plugins/mezuro/test/fixtures/repository_fixtures.rb b/plugins/mezuro/test/fixtures/repository_fixtures.rb index 884a6a8..4a5c515 100644 --- a/plugins/mezuro/test/fixtures/repository_fixtures.rb +++ b/plugins/mezuro/test/fixtures/repository_fixtures.rb @@ -12,12 +12,13 @@ class RepositoryFixtures :process_period => "1", :type => 'SUBVERSION', :address => 'https://qt-calculator.svn.sourceforge.net/svnroot/qt-calculator', - :configuration_id => "31" + :configuration_id => "31", + :project_id => "32" }) end def self.repository_hash - {:id => "42", :name => "test repository", :description => "test description", :license => "GPL", :process_period => "1", :type => 'SUBVERSION', :address => "https://qt-calculator.svn.sourceforge.net/svnroot/qt-calculator", :configuration_id => "31"} + {:id => "42", :name => "test repository", :description => "test description", :license => "GPL", :process_period => "1", :type => 'SUBVERSION', :address => "https://qt-calculator.svn.sourceforge.net/svnroot/qt-calculator", :configuration_id => "31", :project_id => "32"} end def self.types diff --git a/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb b/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb index 7673f81..67b2bb9 100644 --- a/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb +++ b/plugins/mezuro/test/functional/profile/mezuro_plugin_repository_controller_test.rb @@ -73,7 +73,7 @@ class MezuroPluginRepositoryControllerTest < ActionController::TestCase should 'set variables to show a repository' do Kalibro::Repository.expects(:repositories_of).with(@content.project_id).returns([@repository]) - Kalibro::Configuration.expects(:configuration_of).with(@repository.id).returns(@configuration) + Kalibro::Configuration.expects(:find).with(@repository.configuration_id).returns(@configuration) get :show, :profile => @profile.identifier, :id => @content.id, :repository_id => @repository.id diff --git a/plugins/mezuro/test/unit/kalibro/configuration_test.rb b/plugins/mezuro/test/unit/kalibro/configuration_test.rb index a3d13dd..e33e69e 100644 --- a/plugins/mezuro/test/unit/kalibro/configuration_test.rb +++ b/plugins/mezuro/test/unit/kalibro/configuration_test.rb @@ -23,7 +23,7 @@ class ConfigurationTest < ActiveSupport::TestCase assert Kalibro::Configuration.exists?(@configuration.id) end - should 'find configuration' do + should 'find a configuration' do Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => true}) Kalibro::Configuration.expects(:request).with(:get_configuration, {:configuration_id => @configuration.id}).returns(:configuration => @hash) assert_equal @hash[:name], Kalibro::Configuration.find(@configuration.id).name @@ -34,13 +34,7 @@ class ConfigurationTest < ActiveSupport::TestCase assert_raise(Kalibro::Errors::RecordNotFound){Kalibro::Configuration.find(@configuration.id)} end - should 'get configuration of a repository' do - repository_id = 31 - Kalibro::Configuration.expects(:request).with(:configuration_of, {:repository_id => repository_id}).returns({:configuration => @hash}) - assert_equal @hash[:name], Kalibro::Configuration.configuration_of(repository_id).name - end - - should 'get all configuration' do + should 'get all configurations' do Kalibro::Configuration.expects(:request).with(:all_configurations).returns({:configuration => [@hash]}) assert_equal @hash[:name], Kalibro::Configuration.all.first.name end diff --git a/plugins/mezuro/test/unit/kalibro/project_test.rb b/plugins/mezuro/test/unit/kalibro/project_test.rb index ab79039..2f26c80 100644 --- a/plugins/mezuro/test/unit/kalibro/project_test.rb +++ b/plugins/mezuro/test/unit/kalibro/project_test.rb @@ -37,12 +37,6 @@ class ProjectTest < ActiveSupport::TestCase assert_raise(Kalibro::Errors::RecordNotFound){Kalibro::Project.find(@project.id)} end - should 'get project of a repository' do - repository_id = 31 - Kalibro::Project.expects(:request).with(:project_of, {:repository_id => repository_id}).returns({:project => @hash}) - assert_equal @hash[:name], Kalibro::Project.project_of(repository_id).name - end - should 'get all projects when there is only one project' do Kalibro::Project.expects(:request).with(:all_projects).returns({:project => @hash}) assert_equal @hash[:name], Kalibro::Project.all.first.name diff --git a/plugins/mezuro/test/unit/kalibro/reading_test.rb b/plugins/mezuro/test/unit/kalibro/reading_test.rb index 302274b..0149b47 100644 --- a/plugins/mezuro/test/unit/kalibro/reading_test.rb +++ b/plugins/mezuro/test/unit/kalibro/reading_test.rb @@ -38,17 +38,15 @@ class ReadingTest < ActiveSupport::TestCase end should 'return true when reading is saved successfully' do - reading_group_id = 31 id_from_kalibro = 1 - Kalibro::Reading.expects(:request).with(:save_reading, {:group_id => reading_group_id, :reading => @created_reading.to_hash}).returns(:reading_id => id_from_kalibro) - assert @created_reading.save reading_group_id + Kalibro::Reading.expects(:request).with(:save_reading, {:group_id => @created_reading.group_id, :reading => @created_reading.to_hash}).returns(:reading_id => id_from_kalibro) + assert @created_reading.save assert_equal id_from_kalibro, @created_reading.id end should 'return false when reading is not saved successfully' do - reading_group_id = 31 - Kalibro::Reading.expects(:request).with(:save_reading, {:group_id => reading_group_id, :reading => @created_reading.to_hash}).raises(Exception.new) - assert !(@created_reading.save reading_group_id) + Kalibro::Reading.expects(:request).with(:save_reading, {:group_id => @created_reading.group_id, :reading => @created_reading.to_hash}).raises(Exception.new) + assert !(@created_reading.save) assert_nil @created_reading.id end diff --git a/plugins/mezuro/test/unit/kalibro/repository_test.rb b/plugins/mezuro/test/unit/kalibro/repository_test.rb index 8e28dd2..05490dd 100644 --- a/plugins/mezuro/test/unit/kalibro/repository_test.rb +++ b/plugins/mezuro/test/unit/kalibro/repository_test.rb @@ -28,12 +28,6 @@ class RepositoryTest < ActiveSupport::TestCase assert_equal types, Kalibro::Repository.repository_types end - should 'get repository of a precessing' do - id = 31 - Kalibro::Repository.expects(:request).with(:repository_of, {:processing_id => id}).returns({:repository => @hash}) - assert_equal @hash[:name], Kalibro::Repository.repository_of(id).name - end - should 'get repositories of a project' do project_id = 31 Kalibro::Repository.expects(:request).with(:repositories_of, {:project_id => project_id}).returns({:repository => [@hash]}) @@ -42,16 +36,14 @@ class RepositoryTest < ActiveSupport::TestCase should 'return true when repository is saved successfully' do id_from_kalibro = 1 - project_id = 56 - Kalibro::Repository.expects(:request).with(:save_repository, {:repository => @created_repository.to_hash, :project_id => project_id}).returns(:repository_id => id_from_kalibro) - assert @created_repository.save(project_id) + Kalibro::Repository.expects(:request).with(:save_repository, {:repository => @created_repository.to_hash, :project_id => @created_repository.project_id}).returns(:repository_id => id_from_kalibro) + assert @created_repository.save assert_equal id_from_kalibro, @created_repository.id end should 'return false when repository is not saved successfully' do - project_id = 56 - Kalibro::Repository.expects(:request).with(:save_repository, {:repository => @created_repository.to_hash, :project_id => project_id}).raises(Exception.new) - assert !(@created_repository.save(project_id)) + Kalibro::Repository.expects(:request).with(:save_repository, {:repository => @created_repository.to_hash, :project_id => @created_repository.project_id}).raises(Exception.new) + assert !(@created_repository.save) assert_nil @created_repository.id end diff --git a/plugins/mezuro/views/mezuro_plugin_reading/_form.html.erb b/plugins/mezuro/views/mezuro_plugin_reading/_form.html.erb index 4cbd39d..15bf8d9 100644 --- a/plugins/mezuro/views/mezuro_plugin_reading/_form.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_reading/_form.html.erb @@ -1,4 +1,5 @@ <%= hidden_field_tag :id, @reading_group_content.id %> +<%= f.hidden_field(:group_id, :value => @reading_group_content.reading_group_id) %> <%= required labelled_form_field _('Label:'), f.text_field(:label) %> diff --git a/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb b/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb index e3d0a8b..83d6d22 100644 --- a/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb @@ -4,6 +4,6 @@

<%= link_to("#{@reading_group_content.name} Reading Group", @reading_group_content.view_url) %>

-<% form_for :reading, :url => {:action =>"save", :controller => "mezuro_plugin_reading"}, :method => :get do |f| %> +<% form_for :reading, :url => {:action =>"save", :controller => "mezuro_plugin_reading"}, :method => :get do |f| %> <%= render :partial => "form", :locals => {:f => f} %> <% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_repository/_form.html.erb b/plugins/mezuro/views/mezuro_plugin_repository/_form.html.erb index 5d72b5e..abb66f0 100644 --- a/plugins/mezuro/views/mezuro_plugin_repository/_form.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_repository/_form.html.erb @@ -1,28 +1,23 @@ -

<%= link_to("#{@project_content.name} Project", @project_content.view_url) %>

+<%= hidden_field_tag :id, @project_content.id %> +<%= f.hidden_field(:project_id, :value => @project_content.project_id) %> -<% form_for :repository, :url => {:action =>"save", :controller => "mezuro_plugin_repository"}, :method => :get do |f| %> - <%= f.hidden_field :id %> - <%= hidden_field_tag :id, @project_content.id %> +<%= required labelled_form_field _('Name'), f.text_field(:name) %> - <%= required labelled_form_field _('Name'), f.text_field(:name) %> +<%= labelled_form_field _("Description"), f.text_field(:description) %> - <%= labelled_form_field _("Description"), f.text_field(:description) %> +<%= required labelled_form_field _('License'), +f.select(:license, MezuroPlugin::Helpers::ContentViewerHelper.license_options) %> - <%= required labelled_form_field _('License'), - f.select(:license, MezuroPlugin::Helpers::ContentViewerHelper.license_options) %> +<%= required labelled_form_field _('Process Period'), +f.select(:process_period, MezuroPlugin::Helpers::ContentViewerHelper.periodicity_options) %> - <%= required labelled_form_field _('Process Period'), - f.select(:process_period, MezuroPlugin::Helpers::ContentViewerHelper.periodicity_options) %> +<%= required labelled_form_field _('Type'), +f.select(:type, @repository_types) %> - <%= required labelled_form_field _('Type'), - f.select(:type, @repository_types) %> +<%= required labelled_form_field _('Address'), +f.text_field(:address) %> - <%= required labelled_form_field _('Address'), - f.text_field(:address) %> +<%= required labelled_form_field _('Configuration'), +f.select(:configuration_id, @configuration_select) %> - <%= required labelled_form_field _('Configuration'), - f.select(:configuration_id, @configuration_select) %> - -

<%= f.submit "Add" %>

- -<% end %> +

<%= f.submit "Add" %>

diff --git a/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb b/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb index 6064eea..0bc4b07 100644 --- a/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb @@ -1,3 +1,6 @@ -<%= render :partial => "form" %> +

<%= link_to("#{@project_content.name} Project", @project_content.view_url) %>

+<% form_for :repository, :url => {:action =>"save", :controller => "mezuro_plugin_repository"}, :method => :get do |f| %> + <%= render :partial => "form", :locals => {:f => f} %> +<% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_repository/new.html.erb b/plugins/mezuro/views/mezuro_plugin_repository/new.html.erb index 6064eea..0bc4b07 100644 --- a/plugins/mezuro/views/mezuro_plugin_repository/new.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_repository/new.html.erb @@ -1,3 +1,6 @@ -<%= render :partial => "form" %> +

<%= link_to("#{@project_content.name} Project", @project_content.view_url) %>

+<% form_for :repository, :url => {:action =>"save", :controller => "mezuro_plugin_repository"}, :method => :get do |f| %> + <%= render :partial => "form", :locals => {:f => f} %> +<% end %> -- libgit2 0.21.2