Skip to content
Snippets Groups Projects

Sync requirement and requirement issues state

All threads resolved!
Compare and Show latest version
11 files
+ 191
26
Compare changes
  • Side-by-side
  • Inline
Files
11
@@ -20,9 +20,11 @@ def execute(issue, commit: nil, notifications: true, system_note: true, skip_aut
def close_issue(issue, closed_via: nil, notifications: true, system_note: true)
if issue.is_a?(ExternalIssue)
close_external_issue(issue, closed_via)
return issue
end
if issues_enabled?(issue) && issue.close(current_user)
if issues_enabled?(issue) && perform_close(issue)
event_service.close_issue(issue, current_user)
create_note(issue, closed_via) if system_note
@@ -49,16 +51,18 @@ def close_issue(issue, closed_via: nil, notifications: true, system_note: true)
private
# Overriden on EE
def perform_close(issue)
issue.close(current_user)
end
# Overriden on EE
def issues_enabled?(issue)
# In order to sync requirements and requirements issues
# we need to be able to close issues even if issues feature is disabled.
# For more information check: https://gitlab.com/gitlab-org/gitlab/-/issues/337190
project.issues_enabled? || issue.requirement.present?
project.issues_enabled?
end
# Overriden on EE
def can_close?(issue, skip_auth: false)
return true if skip_auth
can?(current_user, :update_issue, issue) || issue.is_a?(ExternalIssue)
end
Loading