Commit 04c8caad148e09886086ab06830dd75a1da21e71

Authored by Diego Camarinha
2 parents 520d772c 22869bdf

Merge pull request #140 from mezuro/processing_reload_fix

Processing reload fix
app/controllers/repositories_controller.rb
@@ -71,9 +71,7 @@ class RepositoriesController < ApplicationController @@ -71,9 +71,7 @@ class RepositoriesController < ApplicationController
71 end 71 end
72 72
73 respond_to do |format| 73 respond_to do |format|
74 - if @processing.nil?  
75 - format.js { render action: 'unprocessed' }  
76 - elsif @processing.state == 'READY' 74 + if @processing.state == 'READY'
77 format.js { render action: 'load_ready_processing' } 75 format.js { render action: 'load_ready_processing' }
78 elsif @processing.state == 'ERROR' 76 elsif @processing.state == 'ERROR'
79 format.js { render action: 'load_error' } 77 format.js { render action: 'load_error' }
app/views/repositories/reload_processing.js.erb
1 -$('div#processing_information').html('<%= escape_javascript(render partial: "processing_information") %>');  
2 -repository = new Module.Repository(<%= @repository.project_id %>, <%= @repository.id %>)  
3 -repository.schedule_poll_state('<%= @processing.state %>')  
4 \ No newline at end of file 1 \ No newline at end of file
  2 +// This if prevents it from updating the repository's state after the user leaves its page
  3 +if(document.URL == '<%= project_repository_url(@repository.project_id, @repository) %>'){
  4 + $('div#processing_information').html('<%= escape_javascript(render partial: "processing_information") %>');
  5 + repository = new Module.Repository(<%= @repository.project_id %>, <%= @repository.id %>)
  6 + repository.schedule_poll_state('<%= @processing.state %>')
  7 +}
app/views/repositories/unprocessed.js.erb
@@ -1,3 +0,0 @@ @@ -1,3 +0,0 @@
1 -$('div#processing_information').html('<%= escape_javascript(render partial: "unstarted_processing") %>');  
2 -repository = new Module.Repository(<%= @repository.project_id %>, <%= @repository.id %>)  
3 -repository.schedule_poll_state('')  
4 \ No newline at end of file 0 \ No newline at end of file
spec/controllers/repositories_controller_spec.rb
@@ -246,18 +246,6 @@ describe RepositoriesController, :type =&gt; :controller do @@ -246,18 +246,6 @@ describe RepositoriesController, :type =&gt; :controller do
246 describe 'state' do 246 describe 'state' do
247 let(:repository) { FactoryGirl.build(:repository) } 247 let(:repository) { FactoryGirl.build(:repository) }
248 248
249 - context 'with no processing at all' do  
250 - before :each do  
251 - repository.expects(:last_processing).returns(nil)  
252 - Repository.expects(:find).at_least_once.with(repository.id).returns(repository)  
253 -  
254 - xhr :get, :state, {project_id: project.id.to_s, id: repository.id, last_state: ''}  
255 - end  
256 -  
257 - it { is_expected.to respond_with(:success) }  
258 - it { is_expected.to render_template(:unprocessed) }  
259 - end  
260 -  
261 context 'with a READY state' do 249 context 'with a READY state' do
262 let(:ready_processing) { FactoryGirl.build(:processing) } 250 let(:ready_processing) { FactoryGirl.build(:processing) }
263 251