mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-24 01:11:12 +00:00
Unarchive link not working for subprojects of closed projects (#24595).
git-svn-id: http://svn.redmine.org/redmine/trunk@16071 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
9b08365ea5
commit
e0912b99f5
@ -350,6 +350,10 @@ class Project < ActiveRecord::Base
|
||||
self.status == STATUS_ACTIVE
|
||||
end
|
||||
|
||||
def closed?
|
||||
self.status == STATUS_CLOSED
|
||||
end
|
||||
|
||||
def archived?
|
||||
self.status == STATUS_ARCHIVED
|
||||
end
|
||||
@ -377,8 +381,12 @@ class Project < ActiveRecord::Base
|
||||
# Unarchives the project
|
||||
# All its ancestors must be active
|
||||
def unarchive
|
||||
return false if ancestors.detect {|a| !a.active?}
|
||||
update_attribute :status, STATUS_ACTIVE
|
||||
return false if ancestors.detect {|a| a.archived?}
|
||||
new_status = STATUS_ACTIVE
|
||||
if parent
|
||||
new_status = parent.status
|
||||
end
|
||||
update_attribute :status, new_status
|
||||
end
|
||||
|
||||
def close
|
||||
|
||||
@ -205,6 +205,18 @@ class ProjectTest < ActiveSupport::TestCase
|
||||
assert @ecookbook_sub1.unarchive
|
||||
end
|
||||
|
||||
def test_unarchive_a_child_of_a_closed_project_should_set_status_to_closed
|
||||
Project.find(1).close
|
||||
child = Project.find(3)
|
||||
assert_equal Project::STATUS_CLOSED, child.status
|
||||
|
||||
child.archive
|
||||
assert_equal Project::STATUS_ARCHIVED, child.status
|
||||
|
||||
child.unarchive
|
||||
assert_equal Project::STATUS_CLOSED, child.status
|
||||
end
|
||||
|
||||
def test_destroy
|
||||
# 2 active members
|
||||
assert_equal 2, @ecookbook.members.size
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user