Class: Crm::EmployeeGoalPresenter

Inherits:
BasePresenter show all
Defined in:
app/presenters/crm/employee_goal_presenter.rb

Instance Attribute Summary

Attributes inherited from BasePresenter

#current_account, #options, #url_helper

Instance Method Summary collapse

Methods inherited from BasePresenter

#initialize

Methods inherited from BasePresenter

#can?, #capture, #concat, #content_tag, #fa_icon, #h, #initialize, #link_to, #number_to_currency, #present, presents, #r, #safe_present, #simple_format, #u

Constructor Details

This class inherits a constructor from Crm::BasePresenter

Instance Method Details



63
64
65
66
# File 'app/presenters/crm/employee_goal_presenter.rb', line 63

def delete_link
  return unless can?(:destroy, r)
  link_to(fa_icon('trash'), r, data: { turbo_method: :delete, turbo_confirm: "Are you sure want to delete this review?" })
end

#departmentObject



44
45
46
# File 'app/presenters/crm/employee_goal_presenter.rb', line 44

def department
  r.employee_review&.employee_record.department
end

#display_nameObject



68
69
70
# File 'app/presenters/crm/employee_goal_presenter.rb', line 68

def display_name
  fa_icon('info-circle', text: r.name, title: r.description)
end

#due_dateObject



34
35
36
# File 'app/presenters/crm/employee_goal_presenter.rb', line 34

def due_date
  h.render_date(r.due_date)
end


4
5
6
7
8
9
# File 'app/presenters/crm/employee_goal_presenter.rb', line 4

def edit_link
  return unless can?(:update, r)
  link_to(fa_icon('pen-square', text: 'Edit/Review'),
            h.edit_employee_goal_path(r),
            class: "btn btn-#{r.defined? ? 'info' : 'default'}")
end

#employeeObject



48
49
50
# File 'app/presenters/crm/employee_goal_presenter.rb', line 48

def employee
  r.employee_review&.employee_record.party
end


52
53
54
55
# File 'app/presenters/crm/employee_goal_presenter.rb', line 52

def employee_goal_link
  return r.name unless h.can?(:read, r)
  link_to r.name, h.employee_goal_path(r)
end

#employee_goal_state_label(options = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/presenters/crm/employee_goal_presenter.rb', line 11

def employee_goal_state_label(options={})
  case r.state.to_sym
  when :reached
    css_class = 'bg-success'
  when :missed
    css_class = 'bg-danger'
  when :cancelled
    css_class = 'badge-default'
  end
  css_class ||= 'bg-info'

  options[:style] ||= 'font-size: 1em'
  (:span, r.human_state_name.titleize, class: "badge #{css_class}", **options)
end


38
39
40
41
42
# File 'app/presenters/crm/employee_goal_presenter.rb', line 38

def employee_link
  return unless employee
  return employee.full_name unless h.can?(:read, employee)
  link_to employee.full_name, h.employee_path(employee)
end


57
58
59
60
61
# File 'app/presenters/crm/employee_goal_presenter.rb', line 57

def employee_review_link
  return unless r.employee_review
  return unless h.can?(:read, r.employee_review)
  link_to r.employee_review.review_name, h.employee_review_path(r.employee_review)
end

#reward_infoObject



26
27
28
29
30
31
32
# File 'app/presenters/crm/employee_goal_presenter.rb', line 26

def reward_info
  capture do
    concat number_to_currency(r.earned_reward || 0.0)
    concat " / "
    concat number_to_currency(r.potential_reward || 0.0)
  end
end