Blame view
app/Http/Controllers/Admin/Ad_EmployersController.php
6.31 KB
bb2fb443d Архитектурное доп... |
1 2 3 4 5 6 |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Ad_employer; |
b52b1df0d Опция поднятия ва... |
7 |
use App\Models\Employer; |
be3039cb9 Правки по работод... |
8 |
use App\Models\Job_title; |
bb2fb443d Архитектурное доп... |
9 |
use App\Models\User; |
b52b1df0d Опция поднятия ва... |
10 |
use Carbon\Carbon; |
bb2fb443d Архитектурное доп... |
11 12 |
use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; |
be3039cb9 Правки по работод... |
13 |
use Illuminate\Support\Facades\Validator; |
bb2fb443d Архитектурное доп... |
14 15 16 17 18 19 20 21 22 23 24 |
class Ad_EmployersController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { $title = 'Админка - Вакансии работодателей'; |
b52b1df0d Опция поднятия ва... |
25 26 27 28 29 30 31 32 |
if ($request->ajax()) { $params = $request->all(); foreach ($params['data'] as $item) { $emp = Ad_employer::find($item); $emp->updated_at = Carbon::now(); $emp->save(); } } |
bb2fb443d Архитектурное доп... |
33 |
|
9b4580039 Медиа сущность, д... |
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
$select_job = Job_title::query()->active()->get(); $all_ad = Ad_employer::with('employer')->with('jobs') ->where('is_remove', '0')->get()->count(); $ad_employers = Ad_employer::where('is_remove', '0'); $find_job = ""; if (isset($request->category_job)) { if ($request->category_job != 'Все вакансии') { $find_job = $request->category_job; $ad_employers = $ad_employers->WhereHas('jobs', function($query) use ($find_job){ return $query->where('name', 'LIKE', '%'.$find_job.'%'); }); } } else { $ad_employers = $ad_employers->with('jobs'); } $find_key = ""; if (isset($request->find)) { $find_key = $request->find; $ad_employers = $ad_employers->whereHas('employer', function($query) use($find_key) { $query->Where('name_company', 'LIKE', "%$find_key%"); $query->orWhere('name', 'LIKE', "%$find_key%"); }); } else { $ad_employers = $ad_employers->with('employer'); } $ad_employers = $ad_employers->OrderBy('updated_at', 'desc')->paginate(15); |
bb2fb443d Архитектурное доп... |
65 |
|
b52b1df0d Опция поднятия ва... |
66 67 68 |
if ($request->ajax()) { return view('admin.ad_employers.index_ajax', compact('ad_employers', 'params')); } else { |
9b4580039 Медиа сущность, д... |
69 70 71 72 73 74 |
return view('admin.ad_employers.index', compact('ad_employers', 'title', 'all_ad', 'find_job', 'find_key', 'select_job')); |
b52b1df0d Опция поднятия ва... |
75 |
} |
bb2fb443d Архитектурное доп... |
76 77 78 |
} /** |
eb8596db6 Правки вакансии, ... |
79 |
* Show the form for creating a new resource |
bb2fb443d Архитектурное доп... |
80 81 82 83 |
* @return \Illuminate\Http\Response */ public function create() { |
eb8596db6 Правки вакансии, ... |
84 85 |
$job_titles = Job_title::query()->active()->get(); return view('admin.ad_employers.add', compact('job_titles')); |
bb2fb443d Архитектурное доп... |
86 87 88 89 90 91 92 93 94 95 |
} /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { |
eb8596db6 Правки вакансии, ... |
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
$params = $request->all(); unset($params->position_work); $rules = [ 'name' => 'required|min:3', ]; $messages = [ 'required' => 'Укажите обязательное поле', ]; $validator = Validator::make($params, $rules, $messages); if ($validator->fails()) { return redirect()->route('admin.add-ad-employers') ->withErrors($validator); } else { $ad_employer = new Ad_employer(); $params['employer_id'] = 1; $data_ad = $ad_employer->create($params); $data_ad->jobs()->sync($request->position_work); //$ad_employer->jobs()->sync($request->position_work); return redirect()->route('admin.ad-employers') ->with('success', 'Данные были успешно сохранены'); } return redirect()->route('admin.ad-employers'); |
bb2fb443d Архитектурное доп... |
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
} /** * Display the specified resource. * * @param \App\Models\Ad_employer $ad_employer * @return \Illuminate\Http\Response */ public function show(Ad_employer $ad_employer) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Ad_employer $ad_employer * @return \Illuminate\Http\Response */ public function edit(Ad_employer $ad_employer) { |
be3039cb9 Правки по работод... |
142 143 144 145 146 147 148 149 |
$sel = Array(); $job_titles = Job_title::active()->get(); foreach ($ad_employer->jobs as $j) { $sel[] = $j->id; } return view('admin.ad_employers.edit', compact('ad_employer', 'job_titles', 'sel')); |
bb2fb443d Архитектурное доп... |
150 151 152 153 154 155 156 157 158 159 160 |
} /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Ad_employer $ad_employer * @return \Illuminate\Http\Response */ public function update(Request $request, Ad_employer $ad_employer) { |
be3039cb9 Правки по работод... |
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
$params = $request->all(); unset($params->position_work); $rules = [ 'name' => 'required|min:3', ]; $messages = [ 'required' => 'Укажите обязательное поле', ]; $validator = Validator::make($params, $rules, $messages); if ($validator->fails()) { return redirect()->route('admin.edit-ad-employers', ['ad_employer' => $ad_employer->id]) ->withErrors($validator); } else { $ad_employer->update($params); $ad_employer->jobs()->sync($request->position_work); return redirect()->route('admin.ad-employers') ->with('success', 'Данные были успешно сохранены'); } return redirect()->route('admin.ad-employers'); |
bb2fb443d Архитектурное доп... |
182 183 184 185 186 187 188 189 190 191 |
} /** * Remove the specified resource from storage. * * @param \App\Models\Ad_employer $ad_employer * @return \Illuminate\Http\Response */ public function destroy(Ad_employer $ad_employer) { |
eb8596db6 Правки вакансии, ... |
192 193 194 195 |
$ad_employer->is_remove = 1; $ad_employer->save(); return redirect()->route('admin.ad-employers'); |
bb2fb443d Архитектурное доп... |
196 197 |
} } |