summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhaseeb <haseebeqx@yahoo.com>2018-02-09 23:53:55 +0530
committerhaseeb <haseebeqx@yahoo.com>2018-02-28 19:25:24 +0530
commitf211e47eb20959fdebc5ae0aabf66267ea521ee7 (patch)
treec2c7a6c69ae5f52aa404764e139fd27d943e085c
parent56af0631c6c6d838301ac068f2e79b8f4de9fda7 (diff)
downloadgitlab-ce-f211e47eb20959fdebc5ae0aabf66267ea521ee7.tar.gz
closed by field added
-rw-r--r--app/models/issue.rb1
-rw-r--r--app/services/issues/close_service.rb1
-rw-r--r--db/migrate/20180209165249_add_closed_by_to_issues.rb13
-rw-r--r--lib/api/entities.rb1
4 files changed, 16 insertions, 0 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index c81f7e52bb1..8e51448770d 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -23,6 +23,7 @@ class Issue < ActiveRecord::Base
belongs_to :project
belongs_to :moved_to, class_name: 'Issue'
+ belongs_to :closed_by, class_name: 'User'
has_many :events, as: :target, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
diff --git a/app/services/issues/close_service.rb b/app/services/issues/close_service.rb
index 0c5cf2c62ad..fee5bc38f7b 100644
--- a/app/services/issues/close_service.rb
+++ b/app/services/issues/close_service.rb
@@ -23,6 +23,7 @@ module Issues
end
if project.issues_enabled? && issue.close
+ issue.update(closed_by: current_user)
event_service.close_issue(issue, current_user)
create_note(issue, commit) if system_note
notification_service.close_issue(issue, current_user) if notifications
diff --git a/db/migrate/20180209165249_add_closed_by_to_issues.rb b/db/migrate/20180209165249_add_closed_by_to_issues.rb
new file mode 100644
index 00000000000..043e3ef8688
--- /dev/null
+++ b/db/migrate/20180209165249_add_closed_by_to_issues.rb
@@ -0,0 +1,13 @@
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class AddClosedByToIssues < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ # Set this constant to true if this migration requires downtime.
+ DOWNTIME = false
+
+ def change
+ add_column :issues, :closed_by_id, :integer
+ end
+end
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 167878ba600..b12de6d6e39 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -390,6 +390,7 @@ module API
class IssueBasic < ProjectEntity
expose :closed_at
+ expose :closed_by, using: Entities::UserBasic
expose :labels do |issue, options|
# Avoids an N+1 query since labels are preloaded
issue.labels.map(&:title).sort