summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorAshley Dumaine <adumaine@datto.com>2017-08-28 17:38:06 -0400
committerSean McGivern <sean@gitlab.com>2017-09-06 10:07:46 +0100
commitef4b3a39bc705dfa47762868ea064d2dbadc16e6 (patch)
tree62d4c53338eb976f1b854ecbe97e21b01bf894c9 /app
parent446c7fc6f190ac8b8bb879a2a5be37c95fafdd13 (diff)
downloadgitlab-ce-ef4b3a39bc705dfa47762868ea064d2dbadc16e6.tar.gz
Add functionality to collapse outdated diff comments regardless of discussion resolution
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects_controller.rb1
-rw-r--r--app/models/diff_discussion.rb8
-rw-r--r--app/models/project.rb1
-rw-r--r--app/views/projects/_merge_request_merge_settings.html.haml4
4 files changed, 14 insertions, 0 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index ed17b3b4689..3cc61b5e682 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -323,6 +323,7 @@ class ProjectsController < Projects::ApplicationController
:build_allow_git_fetch,
:build_coverage_regex,
:build_timeout_in_minutes,
+ :collapse_outdated_diff_comments,
:container_registry_enabled,
:default_branch,
:description,
diff --git a/app/models/diff_discussion.rb b/app/models/diff_discussion.rb
index 07c4846e2ac..2b41de9cbcf 100644
--- a/app/models/diff_discussion.rb
+++ b/app/models/diff_discussion.rb
@@ -18,6 +18,14 @@ class DiffDiscussion < Discussion
false
end
+ def collapsed?
+ resolved? || (project.collapse_outdated_diff_comments && !active?)
+ end
+
+ def expanded?
+ !collapsed?
+ end
+
def merge_request_version_params
return unless for_merge_request?
return {} if active?
diff --git a/app/models/project.rb b/app/models/project.rb
index 3d89dabd96f..3b822f39fc0 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -37,6 +37,7 @@ class Project < ActiveRecord::Base
default_value_for :archived, false
default_value_for :visibility_level, gitlab_config_features.visibility_level
+ default_value_for :collapse_outdated_diff_comments, false
default_value_for :container_registry_enabled, gitlab_config_features.container_registry
default_value_for(:repository_storage) { current_application_settings.pick_repository_storage }
default_value_for(:shared_runners_enabled) { current_application_settings.shared_runners_enabled }
diff --git a/app/views/projects/_merge_request_merge_settings.html.haml b/app/views/projects/_merge_request_merge_settings.html.haml
index 61420fd0fb6..d040e8da65b 100644
--- a/app/views/projects/_merge_request_merge_settings.html.haml
+++ b/app/views/projects/_merge_request_merge_settings.html.haml
@@ -17,3 +17,7 @@
= form.label :printing_merge_request_link_enabled do
= form.check_box :printing_merge_request_link_enabled
%strong Show link to create/view merge request when pushing from the command line
+ .checkbox
+ = form.label :collapse_outdated_diff_comments do
+ = form.check_box :collapse_outdated_diff_comments
+ %strong Collapse outdated diffs regardless of discussion resolution