X-Git-Url: https://git.mdrn.pl/redakcja_redmine.git/blobdiff_plain/2119dcd48d7637772372f542358259b0cc384e35..HEAD:/app/controllers/publications_controller.rb diff --git a/app/controllers/publications_controller.rb b/app/controllers/publications_controller.rb index 6c1e734..c7a1194 100644 --- a/app/controllers/publications_controller.rb +++ b/app/controllers/publications_controller.rb @@ -13,34 +13,29 @@ class PublicationsController < ApplicationController end def refresh - @match_status = [] - regexp = Regexp.new(Setting.plugin_redmine_publications[:pattern]) - Publication.delete_all() - repos = Repository.all - if repos - repos.each do |repo| - repo_status = [] - if repo.entries - repo.entries.each do |entry| - match = entry.path.match(regexp) + repo = Repository.find(:first, :conditions => ['project_id = ?', Setting.plugin_redmine_publications[:project]] ) + + Rails.logger.info('[INFO] Importing changes from ' << repo.url) + Rails.logger.info('[INFO] Change list: ' << repo.changes.find(:all).inspect ) + + @repo_status = [] + repo.changes.find(:all).each do |change| + Rails.logger.info('[INFO] Importing change ' << change.path) + match = change.path.match(regexp) if match - Publication.find_or_create_by_name(:name => match[1], - :source_file => entry.path, :repository_id => repo.id) - repo_status += [{:path => entry.path, :match => match[1], :matched => true}] + Publication.find_or_create_by_name(:name => match[1], + :source_file => change.path, :repository_id => repo.id) + @repo_status += [{:path => change.path, :match => match[1], :matched => true}] else - repo_status += [{:path => entry.path, :match =>nil, :matched => false}] + @repo_status += [{:path => change.path, :match => nil, :matched => false}] end - end - @match_status += [{:repo => repo, :status => repo_status}] - end end respond_to do |format| - format.html - format.xml { render :xml => @match_status} - format.json { render :json => @match_status } - end + format.html + format.xml { render :xml => @repo_status} + format.json { render :json => @repo_status } end end @@ -52,7 +47,7 @@ class PublicationsController < ApplicationController @issues = Issue.all(:joins => joins, :conditions => conditions) respond_to do |fmt| - fmt.json { render :json => @issues, :callback => params[:callback] } + fmt.json { render :json => @issues, :callback => params[:callback] } end end