summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-12-12 11:32:16 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-12-12 11:32:16 +0200
commit405694a5d683d9a784d1c07d3d65713a0c898908 (patch)
treeaf337ecae9f63b844b9075214c6e4debf9a76078
parent7bb2a536a02454bef0f5b9c6def342992128da36 (diff)
downloadgitlab-ce-405694a5d683d9a784d1c07d3d65713a0c898908.tar.gz
do not remove merge requests when fork project destroyed
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/models/project.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 48fa2f66170..39f0d71b337 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -55,11 +55,15 @@ class Project < ActiveRecord::Base
has_one :forked_project_link, dependent: :destroy, foreign_key: "forked_to_project_id"
has_one :forked_from_project, through: :forked_project_link
- has_many :services, dependent: :destroy
- has_many :events, dependent: :destroy
+ # Merge Requests for target project should be removed with it
has_many :merge_requests, dependent: :destroy, foreign_key: "target_project_id"
- has_many :fork_merge_requests,dependent: :destroy, foreign_key: "source_project_id", class_name: MergeRequest
+
+ # Merge requests from source project should be kept when source project was removed
+ has_many :fork_merge_requests, foreign_key: "source_project_id", class_name: MergeRequest
+
has_many :issues, -> { order "state DESC, created_at DESC" }, dependent: :destroy
+ has_many :services, dependent: :destroy
+ has_many :events, dependent: :destroy
has_many :milestones, dependent: :destroy
has_many :notes, dependent: :destroy
has_many :snippets, dependent: :destroy, class_name: "ProjectSnippet"