Project

General

Profile

Patch #39993 ยป optimize_issues_controller_show.patch

Go MAEDA, 2023-12-31 03:47

View differences:

app/controllers/issues_controller.rb
93 93
  end
94 94

  
95 95
  def show
96
    @journals = @issue.visible_journals_with_index
97
    @has_changesets = @issue.changesets.visible.preload(:repository, :user).exists? unless api_request?
98
    @relations =
99
      @issue.relations.
100
        select do |r|
101
          r.other_issue(@issue) && r.other_issue(@issue).visible?
102
        end
103
    @journals.reverse! if User.current.wants_comments_in_reverse_order?
96
    if !api_request? || include_in_api_response?('journals')
97
      @journals = @issue.visible_journals_with_index
98
      @journals.reverse! if User.current.wants_comments_in_reverse_order?
99
    end
100
    if !api_request? || include_in_api_response?('relations')
101
      @relations = @issue.relations.select {|r| r.other_issue(@issue)&.visible?}
102
    end
103
    if !api_request? || include_in_api_response?('allowed_statuses')
104
      @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
105
    end
104 106

  
105 107
    if User.current.allowed_to?(:view_time_entries, @project)
106 108
      Issue.load_visible_spent_hours([@issue])
......
109 111

  
110 112
    respond_to do |format|
111 113
      format.html do
112
        @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
113 114
        @priorities = IssuePriority.active
114 115
        @time_entry = TimeEntry.new(:issue => @issue, :project => @issue.project)
115 116
        @time_entries = @issue.time_entries.visible.preload(:activity, :user)
116 117
        @relation = IssueRelation.new
118
        @has_changesets = @issue.changesets.visible.preload(:repository, :user).exists?
117 119
        retrieve_previous_and_next_issue_ids
118 120
        render :template => 'issues/show'
119 121
      end
120 122
      format.api do
121
        @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
122 123
        if include_in_api_response?('changesets')
123 124
          @changesets = @issue.changesets.visible.preload(:repository, :user).to_a
124 125
          @changesets.reverse! if User.current.wants_comments_in_reverse_order?
    (1-1/1)