File "AdminUsersController.php"

Full Path: /home/isoftco/public_html/hrm/app/Http/Controllers/Admin/AdminUsersController.php
File size: 3.51 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers\Admin;

use App\Classes\Reply;
use App\Http\Controllers\AdminBaseController;
use App\Http\Requests\Admin\User\DeleteRequest;
use App\Http\Requests\Admin\User\EditRequest;
use App\Http\Requests\Admin\User\StoreRequest;
use App\Http\Requests\Admin\User\UpdateRequest;
use App\Models\Admin;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\View;

use Yajra\DataTables\Facades\DataTables;

class AdminUsersController extends AdminBaseController
{

    public function __construct()
    {
        parent::__construct();
        $this->pageTitle = trans("core.admins");
        $this->csettingOpen = 'active';
        $this->adminUserActive = 'active';
    }

    public function index()
    {
        return View::make('admin.adminusers.index', $this->data);
    }

    public function ajax_admin_users()
    {
        $result = Admin::select('id', 'name', 'email', 'created_at')
            ->where('admins.company_id', admin()->company_id)
            ->where('manager', 0)
            ->get();

        return DataTables::of($result)->editColumn('created_at', function ($row) {
            return $row->created_at->format('d-M-Y');
        })->addColumn('edit', function ($row) {
            if ($row->id == admin()->id) {
                $string = '<a class="btn purple btn-sm margin-bottom-10"  href="javascript:;" onclick="showEdit(' . $row->id . ');return false;" >
										          <i class="fa fa-edit"></i> ' . trans('core.edit') . '</a>';
            } else {
                $string = '<a class="btn purple btn-sm margin-bottom-10"  href="javascript:;" onclick="showEdit(' . $row->id . ');return false;" ><i class="fa fa-edit"></i> ' . trans('core.edit') . '</a>
			                                         <a style="width: 75px;" href="javascript:;" onclick="del(' . $row->id . ');return false;" class="btn red btn-sm margin-bottom-10">
			                                         <i class="fa fa-trash"></i> ' . trans('core.btnDelete') . '</a>';
            }

            return $string;
        })->editColumn('name', function ($row) {

            return $row->decryptToCollection()->name;
        })->editColumn('email', function ($row) {

            return $row->decryptToCollection()->email;
        })
            ->rawColumns(['edit'])
            ->make();
    }

    public function create()
    {
        return View::make('admin.adminusers/create');
    }

    /**
     * @param StoreRequest $request
     * @return array
     */
    public function store(StoreRequest $request)
    {
        $data = $request->all();
        $company = \admin()->company;

        $data['password'] = Hash::make($data['password']);
        $data['company_id'] = $company->company_id;

        Admin::create($data);

        return Reply::success('messages.adminAddMessage');
    }


    public function edit(EditRequest $request, $id)
    {
        $admin = Admin::find($id);
        return View::make('admin.adminusers.edit', compact('admin'));
    }


    public function update(UpdateRequest $request, $id)
    {
        $admin = Admin::findOrFail($id);
        $data = $request->all();

        if ($data['password'] != '') {
            $data['password'] = Hash::make($data['password']);
        } else {
            unset($data['password']);
        }

        $admin->update($data);
        return Reply::success('messages.adminUpdateMessage');


    }


    public function destroy(DeleteRequest $request, $id)
    {

        Admin::destroy($id);

        return Reply::success('messages.adminDeleteMessage');
    }

}