Class: HrLite::Admin::HrRequestsController

Inherits:
BaseController show all
Defined in:
app/controllers/hr_lite/admin/hr_requests_controller.rb

Overview

The desk itself.

Instance Method Summary collapse

Instance Method Details

#assignObject



18
19
20
21
22
23
# File 'app/controllers/hr_lite/admin/hr_requests_controller.rb', line 18

def assign
  request = HrRequest.find(params[:id])
  assignee = HrLite.user_klass.find(params[:assignee_id])
  request.assign!(actor: hr_current_user, assignee: assignee)
  redirect_to admin_hr_request_path(request), notice: "Assigned to #{HrLite.display_name(assignee)}."
end

#indexObject



8
9
10
11
12
# File 'app/controllers/hr_lite/admin/hr_requests_controller.rb', line 8

def index
  @status = params[:status].presence_in(HrRequest::STATUSES) || "open"
  @requests = paginate(HrRequest.where(status: @status).includes(:user, :assigned_to)
                                .recent_first)
end

#resolveObject



25
26
27
28
29
30
31
# File 'app/controllers/hr_lite/admin/hr_requests_controller.rb', line 25

def resolve
  request = HrRequest.find(params[:id])
  request.resolve!(actor: hr_current_user, resolution: params[:resolution].to_s.strip)
  redirect_to admin_hr_requests_path, notice: "Answered."
rescue ArgumentError
  redirect_to admin_hr_request_path(request), alert: "Write an answer before resolving."
end

#showObject



14
15
16
# File 'app/controllers/hr_lite/admin/hr_requests_controller.rb', line 14

def show
  @request = HrRequest.find(params[:id])
end