##// END OF EJS Templates
Edit/delete links displayed on issue even if project is closed (#23969)....
Jean-Philippe Lang -
r15497:d4f57cc2fa82
parent child
Show More
@@ -1436,6 +1436,11 class Issue < ActiveRecord::Base
1436 private
1436 private
1437
1437
1438 def user_tracker_permission?(user, permission)
1438 def user_tracker_permission?(user, permission)
1439 if project && !project.active?
1440 perm = Redmine::AccessControl.permission(permission)
1441 return false unless perm && perm.read?
1442 end
1443
1439 if user.admin?
1444 if user.admin?
1440 true
1445 true
1441 else
1446 else
@@ -1679,6 +1679,25 class IssuesControllerTest < Redmine::ControllerTest
1679 assert_response 404
1679 assert_response 404
1680 end
1680 end
1681
1681
1682 def test_show_on_active_project_should_display_edit_links
1683 @request.session[:user_id] = 1
1684
1685 get :show, :id => 1
1686 assert_response :success
1687 assert_select 'a', :text => 'Edit'
1688 assert_select 'a', :text => 'Delete'
1689 end
1690
1691 def test_show_on_closed_project_should_not_display_edit_links
1692 Issue.find(1).project.close
1693 @request.session[:user_id] = 1
1694
1695 get :show, :id => 1
1696 assert_response :success
1697 assert_select 'a', :text => 'Edit', :count => 0
1698 assert_select 'a', :text => 'Delete', :count => 0
1699 end
1700
1682 def test_get_new
1701 def test_get_new
1683 @request.session[:user_id] = 2
1702 @request.session[:user_id] = 2
1684 get :new, :project_id => 1, :tracker_id => 1
1703 get :new, :project_id => 1, :tracker_id => 1
@@ -519,6 +519,22 class IssueTest < ActiveSupport::TestCase
519 assert_equal [issue], Issue.assigned_to(user).to_a
519 assert_equal [issue], Issue.assigned_to(user).to_a
520 end
520 end
521
521
522 def test_issue_should_be_readonly_on_closed_project
523 issue = Issue.find(1)
524 user = User.find(1)
525
526 assert_equal true, issue.visible?(user)
527 assert_equal true, issue.editable?(user)
528 assert_equal true, issue.deletable?(user)
529
530 issue.project.close
531 issue.reload
532
533 assert_equal true, issue.visible?(user)
534 assert_equal false, issue.editable?(user)
535 assert_equal false, issue.deletable?(user)
536 end
537
522 def test_errors_full_messages_should_include_custom_fields_errors
538 def test_errors_full_messages_should_include_custom_fields_errors
523 field = IssueCustomField.find_by_name('Database')
539 field = IssueCustomField.find_by_name('Database')
524
540
General Comments 0
You need to be logged in to leave comments. Login now