Change link_to_if_authorized to allow url paths. (Fixes #6195)
Both url paths (/issues/1234) and params hashes (:controller => 'issues') are now supported by link_to_if_authorized. The authorize_for method requires a controller/action pair so urls need to be parsed against the routes to find their controller/action. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4064 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -30,6 +30,35 @@ class ApplicationHelperTest < ActionView::TestCase
|
||||
def setup
|
||||
super
|
||||
end
|
||||
|
||||
context "#link_to_if_authorized" do
|
||||
context "authorized user" do
|
||||
should "be tested"
|
||||
end
|
||||
|
||||
context "unauthorized user" do
|
||||
should "be tested"
|
||||
end
|
||||
|
||||
should "allow using the :controller and :action for the target link" do
|
||||
User.current = User.find_by_login('admin')
|
||||
|
||||
@project = Issue.first.project # Used by helper
|
||||
response = link_to_if_authorized("By controller/action",
|
||||
{:controller => 'issues', :action => 'edit', :id => Issue.first.id})
|
||||
assert_match /href/, response
|
||||
end
|
||||
|
||||
should "allow using the url for the target link" do
|
||||
User.current = User.find_by_login('admin')
|
||||
|
||||
@project = Issue.first.project # Used by helper
|
||||
response = link_to_if_authorized("By url",
|
||||
new_issue_move_path(:id => Issue.first.id))
|
||||
assert_match /href/, response
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def test_auto_links
|
||||
to_test = {
|
||||
|
||||
Reference in New Issue
Block a user