]> source.dussan.org Git - redmine.git/commitdiff
Accept issue id with leading sharp when adding a related issue.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Nov 2013 11:09:50 +0000 (11:09 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Nov 2013 11:09:50 +0000 (11:09 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@12250 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/repositories_controller.rb
test/functional/repositories_controller_test.rb

index 2db9c3f92f022fd80775b8794038a18b46f712b1..ad0ff7f130b3f1ff198fd893798ead3b7aa2f5fc 100644 (file)
@@ -229,7 +229,8 @@ class RepositoriesController < ApplicationController
   # Adds a related issue to a changeset
   # POST /projects/:project_id/repository/(:repository_id/)revisions/:rev/issues
   def add_related_issue
-    @issue = @changeset.find_referenced_issue_by_id(params[:issue_id])
+    issue_id = params[:issue_id].to_s.sub(/^#/,'')
+    @issue = @changeset.find_referenced_issue_by_id(issue_id)
     if @issue && (!@issue.visible? || @changeset.issues.include?(@issue))
       @issue = nil
     end
index ec1847fcd170ba3c0b32c8834337f4ae2de2a632..18558cde1309e5ca221958a5b9f8d6fd261bbff8 100644 (file)
@@ -199,6 +199,14 @@ class RepositoriesControllerTest < ActionController::TestCase
     assert_include 'Feature request #2', response.body
   end
 
+  def test_add_related_issue_should_accept_issue_id_with_sharp
+    @request.session[:user_id] = 2
+    assert_difference 'Changeset.find(103).issues.size' do
+      xhr :post, :add_related_issue, :id => 1, :rev => 4, :issue_id => "#2", :format => 'js'
+    end
+    assert_equal [2], Changeset.find(103).issue_ids
+  end
+
   def test_add_related_issue_with_invalid_issue_id
     @request.session[:user_id] = 2
     assert_no_difference 'Changeset.find(103).issues.size' do