Files
sx-fc/app/controllers/settings/employees_controller.rb
2020-01-27 18:17:13 +06:30

84 lines
2.2 KiB
Ruby
Executable File

class Settings::EmployeesController < ApplicationController
load_and_authorize_resource
before_action :set_employee, only: [:show, :edit, :update, :destroy, :change_auth_token]
# GET /employees
# GET /employees.json
def index
if current_user.role == "supervisor"
@employees = Employee.where("role in ('cashier', 'waiter')")
else
@employees = Employee.all
end
end
# GET /employees/1
# GET /employees/1.json
def show
end
# GET /employees/new
def new
@employee = Employee.new
end
# GET /employees/1/edit
def edit
end
# POST /employees
# POST /employees.json
def create
@employee = Employee.new(employee_params)
respond_to do |format|
if @employee.save
format.html { redirect_to settings_employees_path, notice: 'Employee was successfully created.' }
else
format.html { render :new }
end
end
end
def change_app_token
@employee.app_token = @employee.generate_app_token
@employee.save
flash[:notice] = 'Auth Token was successfully updated.'
redirect_to settings_employee_url(@employee)
end
# PATCH/PUT /employees/1
# PATCH/PUT /employees/1.json
def update
respond_to do |format|
if @employee.update(employee_params)
format.html { redirect_to settings_employee_path(@employee), notice: 'Employee was successfully updated.' }
else
format.html { render :edit }
end
end
end
# DELETE /employees/1
# DELETE /employees/1.json
def destroy
@employee.destroy
flash[:notice] = 'Employee was successfully destroyed.'
render :json => {:status=> "Success", :url => settings_employees_url }.to_json
# respond_to do |format|
# format.html { redirect_to settings_employees_url, notice: 'Employee was successfully destroyed.' }
# end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_employee
@employee = Employee.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def employee_params
params.require(:employee).permit(:name, :role, :is_active, :emp_id, :password,:order_queue_station_id, :image_path, :app_id, :app_token)
end
end