mirror of
				https://github.com/redmine/redmine.git
				synced 2025-10-31 02:15:52 +01:00 
			
		
		
		
	* Referencing issues in commit messages: enter * in 'Referencing keywords' to link any issue id without using keywords.
* Updated Polish translation (Mariusz Olejnik). git-svn-id: http://redmine.rubyforge.org/svn/trunk@918 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
		| @@ -231,7 +231,7 @@ module ApplicationHelper | |||||||
|     # example: |     # example: | ||||||
|     #   #52 -> <a href="/issues/show/52">#52</a> |     #   #52 -> <a href="/issues/show/52">#52</a> | ||||||
|     #   r52 -> <a href="/repositories/revision/6?rev=52">r52</a> (project.id is 6) |     #   r52 -> <a href="/repositories/revision/6?rev=52">r52</a> (project.id is 6) | ||||||
|     text = text.gsub(%r{([\s,-^])(#|r)(\d+)(?=[[:punct:]]|\s|<|$)}) do |m| |     text = text.gsub(%r{([\s\(,-^])(#|r)(\d+)(?=[[:punct:]]|\s|<|$)}) do |m| | ||||||
|       leading, otype, oid = $1, $2, $3 |       leading, otype, oid = $1, $2, $3 | ||||||
|       link = nil |       link = nil | ||||||
|       if otype == 'r' |       if otype == 'r' | ||||||
|   | |||||||
| @@ -63,6 +63,14 @@ class Changeset < ActiveRecord::Base | |||||||
|     return if kw_regexp.blank? |     return if kw_regexp.blank? | ||||||
|      |      | ||||||
|     referenced_issues = [] |     referenced_issues = [] | ||||||
|  |      | ||||||
|  |     if ref_keywords.delete('*') | ||||||
|  |       # find any issue ID in the comments | ||||||
|  |       target_issue_ids = [] | ||||||
|  |       comments.scan(%r{([\s\(,-^])#(\d+)(?=[[:punct:]]|\s|<|$)}).each { |m| target_issue_ids << m[1] } | ||||||
|  |       referenced_issues += repository.project.issues.find_all_by_id(target_issue_ids) | ||||||
|  |     end | ||||||
|  |      | ||||||
|     comments.scan(Regexp.new("(#{kw_regexp})[\s:]+(([\s,;&]*#?\\d+)+)", Regexp::IGNORECASE)).each do |match| |     comments.scan(Regexp.new("(#{kw_regexp})[\s:]+(([\s,;&]*#?\\d+)+)", Regexp::IGNORECASE)).each do |match| | ||||||
|       action = match[0] |       action = match[0] | ||||||
|       target_issue_ids = match[1].scan(/\d+/) |       target_issue_ids = match[1].scan(/\d+/) | ||||||
| @@ -80,6 +88,7 @@ class Changeset < ActiveRecord::Base | |||||||
|       end |       end | ||||||
|       referenced_issues += target_issues |       referenced_issues += target_issues | ||||||
|     end |     end | ||||||
|  |      | ||||||
|     self.issues = referenced_issues.uniq |     self.issues = referenced_issues.uniq | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								lang/pl.yml
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								lang/pl.yml
									
									
									
									
									
								
							| @@ -261,11 +261,11 @@ label_attachment_delete: Skasuj plik | |||||||
| label_attachment_plural: Pliki | label_attachment_plural: Pliki | ||||||
| label_report: Raport | label_report: Raport | ||||||
| label_report_plural: Raporty | label_report_plural: Raporty | ||||||
| label_news: Nowość | label_news: Wiadomość | ||||||
| label_news_new: Dodaj nowość | label_news_new: Dodaj wiadomość | ||||||
| label_news_plural: Nowości | label_news_plural: Wiadomości | ||||||
| label_news_latest: Ostatnie nowości | label_news_latest: Ostatnie wiadomości | ||||||
| label_news_view_all: Pokaż wszystkie nowości | label_news_view_all: Pokaż wszystkie wiadomości | ||||||
| label_change_log: Lista zmian | label_change_log: Lista zmian | ||||||
| label_settings: Ustawienia | label_settings: Ustawienia | ||||||
| label_overview: Przegląd | label_overview: Przegląd | ||||||
| @@ -334,7 +334,7 @@ label_latest_revision: Ostatnia zmiana | |||||||
| label_latest_revision_plural: Ostatnie zmiany | label_latest_revision_plural: Ostatnie zmiany | ||||||
| label_view_revisions: Pokaż zmiany | label_view_revisions: Pokaż zmiany | ||||||
| label_max_size: Maksymalny rozmiar | label_max_size: Maksymalny rozmiar | ||||||
| label_on: 'włączone' | label_on: 'z' | ||||||
| label_sort_highest: Przesuń na górę | label_sort_highest: Przesuń na górę | ||||||
| label_sort_higher: Do góry | label_sort_higher: Do góry | ||||||
| label_sort_lower: Do dołu | label_sort_lower: Do dołu | ||||||
| @@ -544,4 +544,4 @@ mail_body_account_activation_request: 'Zarejestrowano nowego użytkownika: (%s). | |||||||
| label_registration_automatic_activation: automatyczna aktywacja kont | label_registration_automatic_activation: automatyczna aktywacja kont | ||||||
| label_registration_manual_activation: manualna aktywacja kont | label_registration_manual_activation: manualna aktywacja kont | ||||||
| notice_account_pending: "Twoje konto zostało utworzone i oczekuje na zatwierdzenie administratora." | notice_account_pending: "Twoje konto zostało utworzone i oczekuje na zatwierdzenie administratora." | ||||||
| field_time_zone: Time zone | field_time_zone: Strefa czasowa | ||||||
|   | |||||||
							
								
								
									
										42
									
								
								test/unit/changeset_test.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								test/unit/changeset_test.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | # redMine - project management software | ||||||
|  | # Copyright (C) 2006-2007  Jean-Philippe Lang | ||||||
|  | # | ||||||
|  | # This program is free software; you can redistribute it and/or | ||||||
|  | # modify it under the terms of the GNU General Public License | ||||||
|  | # as published by the Free Software Foundation; either version 2 | ||||||
|  | # of the License, or (at your option) any later version. | ||||||
|  | #  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | #  | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program; if not, write to the Free Software | ||||||
|  | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | ||||||
|  |  | ||||||
|  | require File.dirname(__FILE__) + '/../test_helper' | ||||||
|  |  | ||||||
|  | class ChangesetTest < Test::Unit::TestCase | ||||||
|  |   fixtures :projects, :repositories, :issues, :issue_statuses, :changesets, :changes, :issue_categories, :enumerations, :custom_fields, :custom_values, :users, :members, :trackers | ||||||
|  |  | ||||||
|  |   def setup | ||||||
|  |   end | ||||||
|  |    | ||||||
|  |   def test_ref_keywords_any | ||||||
|  |     Setting.commit_fix_status_id = IssueStatus.find(:first, :conditions => ["is_closed = ?", true]).id | ||||||
|  |     Setting.commit_fix_done_ratio = '90' | ||||||
|  |     Setting.commit_ref_keywords = '*' | ||||||
|  |     Setting.commit_fix_keywords = 'fixes , closes' | ||||||
|  |      | ||||||
|  |     c = Changeset.new(:repository => Project.find(1).repository, | ||||||
|  |                       :committed_on => Time.now, | ||||||
|  |                       :comments => 'New commit (#2). Fixes #1') | ||||||
|  |     c.scan_comment_for_issue_ids | ||||||
|  |      | ||||||
|  |     assert_equal [1, 2], c.issue_ids.sort | ||||||
|  |     fixed = Issue.find(1) | ||||||
|  |     assert fixed.closed? | ||||||
|  |     assert_equal 90, fixed.done_ratio | ||||||
|  |   end | ||||||
|  | end | ||||||
| @@ -68,7 +68,7 @@ class RepositoryTest < Test::Unit::TestCase | |||||||
|     COMMENT |     COMMENT | ||||||
|     changeset = Changeset.new( |     changeset = Changeset.new( | ||||||
|       :comments => comment, :commit_date => Time.now, :revision => 0, :scmid => 'f39b7922fb3c', |       :comments => comment, :commit_date => Time.now, :revision => 0, :scmid => 'f39b7922fb3c', | ||||||
|       :committer => 'foo <foo@example.com>', :committed_on => Time.now, :repository_id => repository ) |       :committer => 'foo <foo@example.com>', :committed_on => Time.now, :repository => repository ) | ||||||
|     assert( changeset.save ) |     assert( changeset.save ) | ||||||
|     assert_not_equal( comment, changeset.comments ) |     assert_not_equal( comment, changeset.comments ) | ||||||
|     assert_equal( 'This is a loooooooooooooooooooooooooooong comment', changeset.comments ) |     assert_equal( 'This is a loooooooooooooooooooooooooooong comment', changeset.comments ) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user