Fixed: Pound (#) followed by number with leading zero (0) removes leading zero when rendered in wiki (#4872).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3451 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
6f930e9be6
commit
d18fba4ffe
|
@ -511,17 +511,17 @@ module ApplicationHelper
|
||||||
# Forum messages:
|
# Forum messages:
|
||||||
# message#1218 -> Link to message with id 1218
|
# message#1218 -> Link to message with id 1218
|
||||||
text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export|message|project)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|,|\s|<|$)}) do |m|
|
text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export|message|project)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|,|\s|<|$)}) do |m|
|
||||||
leading, esc, prefix, sep, oid = $1, $2, $3, $5 || $7, $6 || $8
|
leading, esc, prefix, sep, identifier = $1, $2, $3, $5 || $7, $6 || $8
|
||||||
link = nil
|
link = nil
|
||||||
if esc.nil?
|
if esc.nil?
|
||||||
if prefix.nil? && sep == 'r'
|
if prefix.nil? && sep == 'r'
|
||||||
if project && (changeset = project.changesets.find_by_revision(oid))
|
if project && (changeset = project.changesets.find_by_revision(identifier))
|
||||||
link = link_to("r#{oid}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => oid},
|
link = link_to("r#{identifier}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => changeset.revision},
|
||||||
:class => 'changeset',
|
:class => 'changeset',
|
||||||
:title => truncate_single_line(changeset.comments, :length => 100))
|
:title => truncate_single_line(changeset.comments, :length => 100))
|
||||||
end
|
end
|
||||||
elsif sep == '#'
|
elsif sep == '#'
|
||||||
oid = oid.to_i
|
oid = identifier.to_i
|
||||||
case prefix
|
case prefix
|
||||||
when nil
|
when nil
|
||||||
if issue = Issue.visible.find_by_id(oid, :include => :status)
|
if issue = Issue.visible.find_by_id(oid, :include => :status)
|
||||||
|
@ -557,7 +557,7 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
elsif sep == ':'
|
elsif sep == ':'
|
||||||
# removes the double quotes if any
|
# removes the double quotes if any
|
||||||
name = oid.gsub(%r{^"(.*)"$}, "\\1")
|
name = identifier.gsub(%r{^"(.*)"$}, "\\1")
|
||||||
case prefix
|
case prefix
|
||||||
when 'document'
|
when 'document'
|
||||||
if project && document = project.documents.find_by_title(name)
|
if project && document = project.documents.find_by_title(name)
|
||||||
|
@ -599,7 +599,7 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
leading + (link || "#{prefix}#{sep}#{oid}")
|
leading + (link || "#{prefix}#{sep}#{identifier}")
|
||||||
end
|
end
|
||||||
|
|
||||||
text
|
text
|
||||||
|
|
|
@ -200,6 +200,8 @@ RAW
|
||||||
'!version:1.0' => 'version:1.0',
|
'!version:1.0' => 'version:1.0',
|
||||||
'!version:"1.0"' => 'version:"1.0"',
|
'!version:"1.0"' => 'version:"1.0"',
|
||||||
'!source:/some/file' => 'source:/some/file',
|
'!source:/some/file' => 'source:/some/file',
|
||||||
|
# not found
|
||||||
|
'#0123456789' => '#0123456789',
|
||||||
# invalid expressions
|
# invalid expressions
|
||||||
'source:' => 'source:',
|
'source:' => 'source:',
|
||||||
# url hash
|
# url hash
|
||||||
|
|
Loading…
Reference in New Issue