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 71 end
72 72  
73 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 75 format.js { render action: 'load_ready_processing' }
78 76 elsif @processing.state == 'ERROR'
79 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 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   -$('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 0 \ No newline at end of file
spec/controllers/repositories_controller_spec.rb
... ... @@ -246,18 +246,6 @@ describe RepositoriesController, :type =&gt; :controller do
246 246 describe 'state' do
247 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 249 context 'with a READY state' do
262 250 let(:ready_processing) { FactoryGirl.build(:processing) }
263 251  
... ...