Sha256: 3006aabb4665cf68c78aa99e5805297073a0b5cd2f42cfcc7ddc0bed2cd37393

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

module Org
  class Me::JobTransfersController < Admin::JobTransfersController
    include Org::Layout::Me
    before_action :set_job_transfer, only: [:show, :edit, :update, :destroy]

    def index
      @job_transfers = current_user.job_transfers.page(params[:page])
    end

    def new
      @job_transfer = current_user.job_transfers.build
    end

    def create
      @job_transfer = current_user.job_transfers.build(job_transfer_params)
      @job_transfer.to_department_id = @job_transfer.department_ancestors&.values.to_a.compact.last

      if @job_transfer.save
        redirect_to my_job_transfers_url
      else
        render :new
      end
    end

    def show
    end

    def edit
    end

    def update
      @job_transfer.assign_attributes(job_transfer_params)
      @job_transfer.to_department_id = @job_transfer.department_ancestors&.values.to_a.compact.last

      if @job_transfer.save
        render 'update'
      else
        render :edit, locals: { model: @job_transfer }, status: :unprocessable_entity
      end
    end

    def destroy
      @job_transfer.destroy
    end

    private
    def set_job_transfer
      @job_transfer = JobTransfer.find(params[:id])
    end

    def job_transfer_params
      params.fetch(:job_transfer, {}).permit(
        :to_office_id,
        :to_department_id,
        :department_ancestors,
        :transfer_on,
        :reason_note
      )
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_org-0.0.1 app/controllers/org/me/job_transfers_controller.rb