Файловый менеджер - Редактировать - /home/kckglobal/public_html/portal/Modules/UniversalBundle/Modules/Recruit/Http/Controllers/SkillController.php
Назад
<?php namespace Modules\Recruit\Http\Controllers; use App\Helper\Reply; use Illuminate\Http\Request; use Illuminate\Contracts\Support\Renderable; use Modules\Recruit\DataTables\SkillDataTable; use App\Http\Controllers\AccountBaseController; use Modules\Recruit\Entities\RecruitSetting; use Modules\Recruit\Entities\RecruitSkill; use Modules\Recruit\Http\Requests\Skill\StoreJobSkill; use Modules\Recruit\Http\Requests\Skill\StoreSkill; use Modules\Recruit\Http\Requests\Skill\UpdateJobSkill; use Modules\Recruit\Http\Requests\Skill\UpdateSkill; class SkillController extends AccountBaseController { /** * Display a listing of the resource. * @return Renderable */ public function __construct() { parent::__construct(); $this->pageTitle = __('recruit::app.menu.skill'); $this->middleware(function ($request, $next) { abort_403(!in_array(RecruitSetting::MODULE_NAME, $this->user->modules)); return $next($request); }); } public function index(SkillDataTable $dataTable) { $permission = user()->permission('manage_skill'); abort_403(!in_array($permission, ['all'])); return $dataTable->render('recruit::skills.index', $this->data); } /** * Show the form for creating a new resource. * @return Renderable */ public function create() { $this->pageTitle = __('app.add') . ' ' . __('app.skills'); $permission = user()->permission('manage_skill'); abort_403(!in_array($permission, ['all'])); if (request()->ajax()) { $html = view('recruit::skills.ajax.create', $this->data)->render(); return Reply::dataOnly(['status' => 'success', 'html' => $html, 'title' => $this->pageTitle]); } $this->view = 'recruit::skills.ajax.create'; return view('recruit::skills.create', $this->data); } /** * Store a newly created resource in storage. * @param Request $request * @return Renderable */ public function store(StoreSkill $request) { $allSkills = RecruitSkill::where('company_id', '=', company()->id)->pluck('name')->toArray(); if (array_intersect($allSkills, $request->names) != null){ $this->validate($request, [ 'names.*' => 'unique:recruit_skills,name' ]); } else{ $skills = $request->names; if (count($skills) > 1) { $unique = array_unique($skills); $duplicates = array_diff_assoc($skills, $unique); if (!empty($duplicates)) { return Reply::error(__('recruit::modules.message.skillSame')); } } foreach ($skills as $skill) { if (!is_null($skill)) { RecruitSkill::create(['name' => $skill]); } } return Reply::successWithData(__('recruit::modules.message.skillAdded'), ['redirectUrl' => route('job-skills.index')]); } } /** * Show the form for editing the specified resource. * @param int $id * @return Renderable */ public function edit($id) { $this->skills = RecruitSkill::findOrFail($id); $this->permission = user()->permission('manage_skill'); abort_403(!($this->permission == 'all')); if (request()->ajax()) { $html = view('recruit::skills.ajax.edit', $this->data)->render(); return Reply::dataOnly(['status' => 'success', 'html' => $html, 'title' => $this->pageTitle]); } $this->view = 'recruit::skills.ajax.edit'; return view('recruit::skills.create', $this->data); } /** * Update the specified resource in storage. * @param Request $request * @param int $id * @return Renderable */ public function update(UpdateSkill $request, $id) { $skills = RecruitSkill::findOrFail($id); $allSkills = RecruitSkill::where('company_id', '=', company()->id)->get(); foreach ($allSkills as $skill) { if ($skill->name === $request->name) { return Reply::error(__('recruit::modules.message.alreadyExist')); } else { $skills->name = $request->name; $skills->save(); } } return Reply::successWithData(__('recruit::modules.message.updateSuccess'), ['redirectUrl' => route('job-skills.index')]); } /** * Remove the specified resource from storage. * @param int $id * @return Renderable */ public function destroy($id) { RecruitSkill::destroy($id); $this->permission = user()->permission('manage_skill'); abort_403(!($this->permission == 'all')); return Reply::successWithData(__('recruit::modules.message.deleteSuccess'), ['redirectUrl' => route('job-skills.index')]); } public function applyQuickAction(Request $request) { if ($request->action_type === 'delete') { $this->deleteRecords($request); return Reply::success(__('recruit::modules.message.deleteSuccess')); } return Reply::error(__('messages.selectAction')); } protected function deleteRecords($request) { abort_403(user()->permission('manage_skill') != 'all'); RecruitSkill::whereIn('id', explode(',', $request->row_ids))->delete(); } public function addSkill(Request $request) { $this->permission = user()->permission('manage_skill'); abort_403(!($this->permission == 'all')); $this->selectedSkills = $request->skill; $this->skills = RecruitSkill::all(); return view('recruit::jobs.skills.create', $this->data); } public function storeSkill(StoreJobSkill $request) { $group = new RecruitSkill(); $group->name = $request->names; $group->save(); if ($request->selectedSkills != '') { $selectedSkills = $request->selectedSkills . ',' . $group->id; $selectedSkills = explode(',', $selectedSkills); } else { $selectedSkills = [$group->id]; } $skills = RecruitSkill::all(); $options = ''; foreach ($skills as $skill) { $checkSelected = ''; if (in_array($skill->id, $selectedSkills)) { $checkSelected = 'selected'; } $options .= '<option ' . $checkSelected . ' data-content="<span class=\'badge badge-pill badge-light border\'><div class=\'d-inline-block mr-1\'></div> ' . $skill->name . ' </span>" value="' . $skill->id . '"> ' . $skill->name . '</option>'; } return Reply::successWithData(__('recruit::modules.message.skillAdded'), ['data' => $options]); } public function updateSkill(UpdateJobSkill $request, $id) { $group = RecruitSkill::findOrFail($id); $group->name = strip_tags($request->name); $group->save(); if ($request->selectedSkills != '') { $selectedSkills = $request->selectedSkills . ',' . $group->id; $selectedSkills = explode(',', $selectedSkills); } else { $selectedSkills = [$group->id]; } $skills = RecruitSkill::all(); $options = ''; foreach ($skills as $skill) { $checkSelected = ''; if (in_array($skill->id, $selectedSkills)) { $checkSelected = 'selected'; } $options .= '<option ' . $checkSelected . ' data-content="<span class=\'badge badge-pill badge-light border\'><div class=\'d-inline-block mr-1\'></div> ' . $skill->name . ' </span>" value="' . $skill->id . '"> ' . $skill->name . '</option>'; } return Reply::successWithData(__('messages.updateSuccess'), ['data' => $options]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка