|  |  |  | @ -670,7 +670,51 @@ update | 
			
		
	
		
			
				
					|  |  |  |  |     graph.burn | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |    | 
			
		
	
		
			
				
					|  |  |  |  |   # 用户最近六个月的提交次数 | 
			
		
	
		
			
				
					|  |  |  |  |   def author_commits_six_month(repository) | 
			
		
	
		
			
				
					|  |  |  |  |     @date_to = Date.today | 
			
		
	
		
			
				
					|  |  |  |  |     @date_from = @date_to << 6 | 
			
		
	
		
			
				
					|  |  |  |  |     @date_from = Date.civil(@date_from.year, @date_from.month, 1) | 
			
		
	
		
			
				
					|  |  |  |  |     commits_by_author = Changeset.count(:all, :group => :committer, | 
			
		
	
		
			
				
					|  |  |  |  |                                         :conditions => ["#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to]) | 
			
		
	
		
			
				
					|  |  |  |  |     commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(40) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     changes_by_author = Change.count(:all, :group => :committer, :include => :changeset, | 
			
		
	
		
			
				
					|  |  |  |  |                                      :conditions => ["#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to]) | 
			
		
	
		
			
				
					|  |  |  |  |     h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     fields = commits_by_author.collect {|r| r.first} | 
			
		
	
		
			
				
					|  |  |  |  |     commits_data = commits_by_author.collect {|r| r.last} | 
			
		
	
		
			
				
					|  |  |  |  |     changes_data = commits_by_author.collect {|r| h[r.first] || 0} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     fields = fields + [""]*(10 - fields.length) if fields.length<10 | 
			
		
	
		
			
				
					|  |  |  |  |     commits_data = commits_data + [0]*(10 - commits_data.length) if commits_data.length<10 | 
			
		
	
		
			
				
					|  |  |  |  |     changes_data = changes_data + [0]*(10 - changes_data.length) if changes_data.length<10 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     # Remove email adress in usernames | 
			
		
	
		
			
				
					|  |  |  |  |     fields = fields.collect {|c| c.gsub(%r{<.+@.+>}, '') } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     graph = SVG::Graph::BarHorizontal.new( | 
			
		
	
		
			
				
					|  |  |  |  |         :height => 400, | 
			
		
	
		
			
				
					|  |  |  |  |         :width => 600, | 
			
		
	
		
			
				
					|  |  |  |  |         :fields => fields, | 
			
		
	
		
			
				
					|  |  |  |  |         :stack => :side, | 
			
		
	
		
			
				
					|  |  |  |  |         :scale_integers => true, | 
			
		
	
		
			
				
					|  |  |  |  |         :show_data_values => true, | 
			
		
	
		
			
				
					|  |  |  |  |         :rotate_y_labels => false, | 
			
		
	
		
			
				
					|  |  |  |  |         :graph_title => l(:label_author_commits_six_month), | 
			
		
	
		
			
				
					|  |  |  |  |         :show_graph_title => true | 
			
		
	
		
			
				
					|  |  |  |  |     ) | 
			
		
	
		
			
				
					|  |  |  |  |     graph.add_data( | 
			
		
	
		
			
				
					|  |  |  |  |         :data => commits_data, | 
			
		
	
		
			
				
					|  |  |  |  |         :title => l(:label_revision_plural) | 
			
		
	
		
			
				
					|  |  |  |  |     ) | 
			
		
	
		
			
				
					|  |  |  |  |     # graph.add_data( | 
			
		
	
		
			
				
					|  |  |  |  |     #     :data => changes_data, | 
			
		
	
		
			
				
					|  |  |  |  |     #     :title => l(:label_change_plural) | 
			
		
	
		
			
				
					|  |  |  |  |     # ) | 
			
		
	
		
			
				
					|  |  |  |  |     graph.burn | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def check_hidden_repo | 
			
		
	
	
		
			
				
					|  |  |  | 
 |