Class: HrLite::Admin::AssetsController
- Inherits:
-
BaseController
- Object
- HrLite::ApplicationController
- BaseController
- HrLite::Admin::AssetsController
- Defined in:
- app/controllers/hr_lite/admin/assets_controller.rb
Overview
Who has the laptop.
Instance Method Summary collapse
Instance Method Details
#assign ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'app/controllers/hr_lite/admin/assets_controller.rb', line 26 def assign asset = Asset.find(params[:id]) user = HrLite.user_klass.find(params[:user_id]) asset.assign_to!(user, actor: hr_current_user) redirect_to admin_assets_path, notice: "#{asset.name} given to #{HrLite.display_name(user)}." rescue ActiveRecord::RecordInvalid redirect_to admin_assets_path, alert: "#{asset.name} is already with somebody." end |
#create ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'app/controllers/hr_lite/admin/assets_controller.rb', line 17 def create @asset = Asset.new(asset_params) if @asset.save redirect_to admin_assets_path, notice: "#{@asset.name} added." else render :new, status: :unprocessable_entity end end |
#index ⇒ Object
8 9 10 11 |
# File 'app/controllers/hr_lite/admin/assets_controller.rb', line 8 def index @assets = paginate(Asset.order(:status, :name).includes(asset_assignments: :user)) @outstanding = AssetAssignment.live.includes(:asset, :user) end |
#new ⇒ Object
13 14 15 |
# File 'app/controllers/hr_lite/admin/assets_controller.rb', line 13 def new @asset = Asset.new end |
#take_back ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'app/controllers/hr_lite/admin/assets_controller.rb', line 35 def take_back asset = Asset.find(params[:id]) asset.return!(actor: hr_current_user, condition: params[:condition_note], status: params[:status].presence_in(Asset::STATUSES) || "available") redirect_to admin_assets_path, notice: "#{asset.name} taken back." rescue ActiveRecord::RecordInvalid redirect_to admin_assets_path, alert: "#{asset.name} is not with anybody." end |