File "JobsController.php"
Full Path: /home/isoftco/public_html/hrm/app/Http/Controllers/Admin/JobsController.php
File size: 3.35 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\Job\DeleteRequest;
use App\Http\Requests\Admin\Job\EditRequest;
use App\Http\Requests\Admin\Job\StoreRequest;
use App\Http\Requests\Admin\Job\UpdateRequest;
use App\Models\Job;
use App\Models\Designation;
use App\Models\JobApplication;
use Illuminate\Support\Facades\View;
use Yajra\DataTables\Facades\DataTables;
class JobsController extends AdminBaseController
{
public function __construct()
{
parent::__construct();
$this->pageTitle = trans('pages.jobs.indexTitle');
$this->jobsOpen = 'active';
$this->jobsPostedActive = 'active';
$this->designation = Designation::select('designation')->get()->toJson();
$this->designation = str_replace('"designation"', "designation", $this->designation);
}
public function index()
{
return View::make('admin.jobs.index', $this->data);
}
// Datatable ajax request
public function ajax_jobs()
{
$result = Job::select('id', 'position', 'posted_date', 'last_date', 'close_date', 'status', 'created_at')
->get();
return DataTables::of($result)
->editColumn('status', function ($row) {
$color = ['active' => 'success', 'inactive' => 'danger'];
return "<span class='label label-{$color[$row->status]}'>" . trans("core." . $row->status) . "</span>";
})->addColumn('edit', function ($row) {
return '
<a class="btn purple btn-sm margin-bottom-5" onclick="loadView(\'' . route("admin.jobs.edit", $row->id) . '\')" ><i class="fa fa-edit"></i> ' . trans("core.btnViewEdit") . ' </a>
<a href="javascript:;" onclick="del(\'' . $row->id . '\');return false;" class="btn red btn-sm margin-bottom-5">
<i class="fa fa-trash"></i> ' . trans("core.btnDelete") . ' </a>';
})
->rawColumns(['status', 'edit'])
->make();
}
public function create()
{
$this->pageTitle = trans('pages.jobs.createTitle');
return View::make('admin.jobs.create', $this->data);
}
public function store(StoreRequest $request)
{
Job::create($request->toArray());
return Reply::redirect(route('admin.jobs.index'),'messages.addSuccess');
}
public function show($id)
{
$this->pageTitle = trans('pages.jobs.showTitle');
//Check employee Company
$check = Job::company($this->company_id)->find($id);
if ($check == null) {
return View::make('admin.errors.noaccess', $this->data);
}
$job = Job::findOrFail($id);
return View::make('admin.jobs.show', compact('job'));
}
public function edit(EditRequest $request,$id)
{
$this->pageTitle = trans('pages.jobs.editTitle');
$this->job = Job::find($id);
return View::make('admin.jobs.edit', $this->data);
}
public function update(UpdateRequest $request, $id)
{
$job = Job::findOrFail($id);
$job->update($request->toArray());
return Reply::success('messages.updateSuccess');
}
public function destroy(DeleteRequest $request, $id)
{
Job::destroy($id);
return Reply::success('messages.jobDeleteMessage');
}
}