Module: LeadTaskRedirection

Extended by:
ActiveSupport::Concern
Included in:
Tasks::Leads::CiteKeyController, Tasks::Leads::NewLeadController, Tasks::Leads::PrintController, Tasks::Leads::ShowController
Defined in:
app/controllers/concerns/lead_task_redirection.rb

Instance Method Summary collapse

Instance Method Details

#lead_for_redirectObject (private)



26
27
28
29
30
31
# File 'app/controllers/concerns/lead_task_redirection.rb', line 26

def lead_for_redirect
  return @lead if defined?(@lead) && @lead
  return nil if params[:lead_id].blank?

  Lead.where(project_id: sessions_current_project_id).find_by(id: params[:lead_id])
end

#redirect_if_not_virtualObject (protected)

Redirect non-virtual leads to the new_lead task. The cite_key task only edits simple keys.



17
18
19
20
21
22
# File 'app/controllers/concerns/lead_task_redirection.rb', line 17

def redirect_if_not_virtual
  lead = lead_for_redirect
  return unless lead && !lead.is_virtual

  redirect_to new_lead_task_path(lead_id: lead.id)
end

#redirect_if_virtualObject (protected)

Redirect virtual (simple) leads to the cite_key task. Task controllers structured around dichotomous couplets don't handle virtual leads.



8
9
10
11
12
13
# File 'app/controllers/concerns/lead_task_redirection.rb', line 8

def redirect_if_virtual
  lead = lead_for_redirect
  return unless lead&.is_virtual

  redirect_to cite_key_task_path(lead_id: lead.id)
end