Blame view
app/Http/Controllers/Admin/WorkersController.php
4.68 KB
8de035475 Создание: Структу... |
1 2 3 4 5 |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; |
32cbe7736 Обновление блейдо... |
6 7 |
use App\Models\Company; use App\Models\Job_title; |
e688e0d8a Статистика работн... |
8 |
use App\Models\Static_worker; |
8de035475 Создание: Структу... |
9 |
use App\Models\User; |
c84db5243 Форма редактирова... |
10 |
use App\Models\Worker; |
8de035475 Создание: Структу... |
11 |
use Illuminate\Http\Request; |
32cbe7736 Обновление блейдо... |
12 13 |
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; |
8de035475 Создание: Структу... |
14 15 16 17 18 19 20 21 22 |
class WorkersController extends Controller { public function index(Request $request) { if ($request->ajax()) { $user = User::find($request->id); $request->offsetUnset('id'); $user->update($request->all()); } |
93a3f79f0 Поисковый движок ... |
23 24 25 26 27 28 29 30 31 32 33 34 |
$users = User::where('is_worker', '1'); $find_key = ""; if (isset($request->find)) { $find_key = $request->find; $users = $users->where(function($query) use($find_key) { $query->Where('name_man', 'LIKE', "%$find_key%") ->orWhere('email', 'LIKE', "%$find_key%") ->orWhere('telephone', 'LIKE', "%$find_key%"); }); } $users = $users->paginate(15); |
8de035475 Создание: Структу... |
35 36 37 38 |
if ($request->ajax()) { return view('admin.worker.index_ajax', compact('users')); } else { |
93a3f79f0 Поисковый движок ... |
39 |
return view('admin.worker.index', compact('users', 'find_key')); |
8de035475 Создание: Структу... |
40 41 |
} } |
c84db5243 Форма редактирова... |
42 |
|
32cbe7736 Обновление блейдо... |
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
public function form_edit_worker(Worker $worker) { $job_titles = Job_title::query()->active()->orderBy('name')->get(); $time_end_anketa = 'Бессрочно'; if (!empty($worker->updated_at)) { $long_days = Company::find(1)->time_resume; $time_end_anketa = date("d.m.Y H:i:s", strtotime($worker->updated_at . "+$long_days days")); } return view('admin.worker.edit', compact('worker', 'job_titles', 'time_end_anketa')); } public function form_update_worker(Request $request, Worker $worker) { $params = $request->all(); $rules = [ 'email' => 'email|string|max:255', //'photo' => 'mimes:jpeg,jpg,png|max:15000', ]; $messages = [ 'required' => 'Укажите обязательное поле «:attribute»', 'confirmed' => 'Пароли не совпадают', 'email' => 'Введите корректный email', 'min' => [ 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' ], 'max' => [ 'string' => 'Поле «:attribute» должно быть не больше :max символов', 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' ], ]; $validator = Validator::make($params, $rules, $messages); if ($validator->fails()) { return back()->withErrors($validator)->withInput(); } else { $user_id = $worker->user_id; if ($request->has('photo')) { if (!empty($worker->photo)) { Storage::delete($worker->photo); } if (!empty($request->photo)) $params['photo'] = $request->file('photo')->store("workers/$user_id", 'public'); } $worker->update($params); return redirect()->route('admin.workers'); } |
c84db5243 Форма редактирова... |
94 |
} |
bb2fb443d Архитектурное доп... |
95 96 |
// кабинет - статистика работников |
e688e0d8a Статистика работн... |
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
public function static_workers(Request $request) { $stat = Static_worker::with('users'); //->join('users', 'users.id', '=', 'static_workers.user_id'); $users = User::query()->active()->OrderBy('id')->get(); $periods = Static_worker::query()->distinct('year_month')->select('year_month')->get(); if ($request->ajax()) { if (isset($request->user_id)) if (!$request->user_id == "0") $stat = $stat->Where('user_id', '=', $request->user_id); if (isset($request->year_month)) { if (!$request->year_month == "0") $stat = $stat->Where('year_month', '=', $request->year_month); } } $stat = $stat->OrderByDesc('year_month'); //->OrderBy('users.name'); //OrderBy('users.name')-> /*$stat->implode() loadMissing(['users' => function (Builder $query) { $query->orderBy('name', 'asc'); }]);*/ $stat = $stat->paginate(15); if ($request->ajax()) return view('admin.static.index_workers_ajax', compact('stat')); else return view('admin.static.index_workers', compact('stat', 'users', 'periods')); |
bb2fb443d Архитектурное доп... |
125 |
} |
8de035475 Создание: Структу... |
126 |
} |