Class: HrLite::RegularizationRequestsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- HrLite::RegularizationRequestsController
- Defined in:
- app/controllers/hr_lite/regularization_requests_controller.rb
Overview
Employee-side regularization tickets: propose punch times for a day you forgot to check in/out. Scoping to hr_current_user IS the authorization.
Instance Method Summary collapse
Instance Method Details
#cancel ⇒ Object
22 23 24 25 26 27 28 |
# File 'app/controllers/hr_lite/regularization_requests_controller.rb', line 22 def cancel request = RegularizationRequest.where(user_id: hr_current_user.id).find(params[:id]) request.cancel!(actor: hr_current_user) redirect_to regularization_requests_path, notice: "Ticket cancelled." rescue ActiveRecord::RecordInvalid redirect_to regularization_requests_path, alert: "Only pending tickets can be cancelled." end |
#create ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'app/controllers/hr_lite/regularization_requests_controller.rb', line 13 def create @request = RegularizationRequest.new(request_params.merge(user_id: hr_current_user.id)) if @request.save redirect_to regularization_requests_path, notice: "Ticket raised — an admin will review it." else render :new, status: :unprocessable_entity end end |
#index ⇒ Object
5 6 7 |
# File 'app/controllers/hr_lite/regularization_requests_controller.rb', line 5 def index @requests = paginate(RegularizationRequest.where(user_id: hr_current_user.id).recent_first) end |
#new ⇒ Object
9 10 11 |
# File 'app/controllers/hr_lite/regularization_requests_controller.rb', line 9 def new @request = RegularizationRequest.new(date: parse_date_param(params[:date])) end |