Class: ProjectPreticketsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/project_pretickets_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#after_sign_in_path_for, #api_authenticate!, #current_project, #expire_revision!, #followed_projects, #no_cache, #read_revision, #require_login, #return_or_cache_revision!, #revision, #save_current_project, #set_current_project, #unfurling?

Methods included from UrlHelper

#edit_release_path, #edit_release_url, #feature_path, #github_commit_range_url, #github_commit_url, #github_project_url, #github_url?, #goldmine_case_number_url, #link_to_project_feature, #new_release_url, #release_path, #release_url, #releases_path

Instance Method Details

#showObject



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/project_pretickets_controller.rb', line 6

def show
  @problems = @project.error_tracker.open_problems(comments: true).sort_by(&:last_notice_at).reverse
  antecedents = @problems.map(&:err_ids).flatten.map { |id| "'Errbit:#{id}'" }
  tickets = antecedents.any? ? @project.tickets.where("antecedents && ARRAY[#{antecedents.join(",")}]") : []
  tickets.each do |ticket|
    ticket.antecedents.each do |antecedent|
      next unless antecedent.kind == "Errbit"
      err_id = antecedent.id.to_i
      problem = @problems.detect { |problem| problem.err_ids.member?(err_id) }
      problem.ticket = ticket if problem
    end
  end
end