Project

General

Profile

Patch #40854 ยป optimize-issue-blocked-duplicates.patch

Go MAEDA, 2024-06-18 11:58

View differences:

app/models/issue.rb
1018 1018

  
1019 1019
  # Returns true if this issue is blocked by another issue that is still open
1020 1020
  def blocked?
1021
    !relations_to.detect {|ir| ir.relation_type == 'blocks' && !ir.issue_from.closed?}.nil?
1021
    return false if relations.empty?
1022

  
1023
    relations_to.where(relation_type: IssueRelation::TYPE_BLOCKS).any? {|ir| !ir.issue_to.closed?}
1022 1024
  end
1023 1025

  
1024 1026
  # Returns true if this issue can be closed and if not, returns false and populates the reason
......
1348 1350

  
1349 1351
  # Returns an array of issues that duplicate this one
1350 1352
  def duplicates
1351
    relations_to.select {|r| r.relation_type == IssueRelation::TYPE_DUPLICATES}.collect {|r| r.issue_from}
1353
    return [] if relations.empty?
1354

  
1355
    relations_to.where(relation_type: IssueRelation::TYPE_DUPLICATES).collect(&:issue_from)
1352 1356
  end
1353 1357

  
1354 1358
  # Returns the due date or the target due date if any
    (1-1/1)