diff --git a/plugins/virtuoso/controllers/virtuoso_plugin_admin_controller.rb b/plugins/virtuoso/controllers/virtuoso_plugin_admin_controller.rb index d5edf08..af973af 100644 --- a/plugins/virtuoso/controllers/virtuoso_plugin_admin_controller.rb +++ b/plugins/virtuoso/controllers/virtuoso_plugin_admin_controller.rb @@ -15,7 +15,7 @@ class VirtuosoPluginAdminController < AdminController def force_harvest harvest = VirtuosoPlugin::DspaceHarvest.new(environment) - harvest.start + harvest.start(params[:from_start]) session[:notice] = _('Harvest started') redirect_to :action => :index end diff --git a/plugins/virtuoso/lib/virtuoso_plugin/dspace_harvest.rb b/plugins/virtuoso/lib/virtuoso_plugin/dspace_harvest.rb index 28b8f1f..70ddf92 100644 --- a/plugins/virtuoso/lib/virtuoso_plugin/dspace_harvest.rb +++ b/plugins/virtuoso/lib/virtuoso_plugin/dspace_harvest.rb @@ -49,8 +49,13 @@ class VirtuosoPlugin::DspaceHarvest puts "ending harvest #{harvest_time}" end - def start + def start(from_start = false) if find_job.empty? + if from_start + settings.last_harvest = nil + settings.save! + end + job = VirtuosoPlugin::DspaceHarvest::Job.new(@environment.id) Delayed::Job.enqueue(job) end diff --git a/plugins/virtuoso/test/functional/virtuoso_plugin_admin_controller_test.rb b/plugins/virtuoso/test/functional/virtuoso_plugin_admin_controller_test.rb index e86a04d..ffd78d2 100644 --- a/plugins/virtuoso/test/functional/virtuoso_plugin_admin_controller_test.rb +++ b/plugins/virtuoso/test/functional/virtuoso_plugin_admin_controller_test.rb @@ -35,4 +35,11 @@ class VirtuosoPluginAdminControllerTest < ActionController::TestCase assert harvest.find_job.present? end + should 'force harvest from start' do + get :force_harvest, :from_start => true + harvest = VirtuosoPlugin::DspaceHarvest.new(environment) + assert harvest.find_job.present? + assert_equal nil, harvest.settings.last_harvest + end + end diff --git a/plugins/virtuoso/views/virtuoso_plugin_admin/index.html.erb b/plugins/virtuoso/views/virtuoso_plugin_admin/index.html.erb index ddc86e9..6bc8e70 100644 --- a/plugins/virtuoso/views/virtuoso_plugin_admin/index.html.erb +++ b/plugins/virtuoso/views/virtuoso_plugin_admin/index.html.erb @@ -29,6 +29,7 @@ <%= _('Running...') %> <% else %> <%= button :next, _('Force harvest'), :action => :force_harvest %> + <%= button :next, _('Force harvest from start'), :action => :force_harvest, :from_start => true %> <% end %> -- libgit2 0.21.2