diff options
author | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-02-26 09:55:43 +0100 |
---|---|---|
committer | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-03-19 21:23:03 +0100 |
commit | 212e83bab3f1f9055f1321c3e934b4f4659250bf (patch) | |
tree | f3b67cf54ba43ca7d008c470beadfd12df3cfbb2 /app/models | |
parent | 3f22a92f4a561543c2249786b695d0c65120455b (diff) | |
download | gitlab-ce-212e83bab3f1f9055f1321c3e934b4f4659250bf.tar.gz |
Soft delete issuables
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/concerns/internal_id.rb | 7 | ||||
-rw-r--r-- | app/models/issue.rb | 2 | ||||
-rw-r--r-- | app/models/merge_request.rb | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/app/models/concerns/internal_id.rb b/app/models/concerns/internal_id.rb index 821ed54fb98..6fc12202dde 100644 --- a/app/models/concerns/internal_id.rb +++ b/app/models/concerns/internal_id.rb @@ -7,7 +7,12 @@ module InternalId end def set_iid - max_iid = project.send(self.class.name.tableize).maximum(:iid) + max_iid = case self.class + when Issue, MergeRequest + project.send(self.class.name.tableize).with_deleted.maximum(:iid) + else + project.send(self.class.name.tableize).maximum(:iid) + end self.iid = max_iid.to_i + 1 end diff --git a/app/models/issue.rb b/app/models/issue.rb index 5347d4fa1be..4bd91d57ffc 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -54,6 +54,8 @@ class Issue < ActiveRecord::Base state :closed end + acts_as_paranoid + def hook_attrs attributes end diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index a015a9ef394..5488aa685f1 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -142,6 +142,8 @@ class MergeRequest < ActiveRecord::Base scope :join_project, -> { joins(:target_project) } scope :references_project, -> { references(:target_project) } + acts_as_paranoid + def self.reference_prefix '!' end |