Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers\Admin;
- use App\User;
- use Facades\App\Helpers\Json;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- class UserController extends Controller
- {
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index(Request $request)
- {
- $orderby = [
- ["DisplayName" => "Name (A => Z)","sortfield" => "name", "sortorder" => "asc" ],
- ["DisplayName" => "Name (Z => A)","sortfield" => "name", "sortorder" => "desc" ],
- ["DisplayName" => "Email (A => Z)","sortfield" => "email", "sortorder" => "asc" ],
- ["DisplayName" => "Email (Z => A)","sortfield" => "name", "sortorder" => "desc" ],
- ["DisplayName" => "Not Active","sortfield" => "active", "sortorder" => "asc" ],
- ["DisplayName" => "Admin","sortfield" => "admin", "sortorder" => "desc" ]
- ];
- $artist_title = '%' . $request->input('artist') . '%';
- $users = User::orderBy($orderby[$request->sort] ["sortfield"] ?? "name",$orderby[$request->sort] ["sortorder"] ?? "asc")
- ->where(function ($query) use ($artist_title) {
- $query->where('name', 'like', $artist_title);
- })
- ->orwhere(function ($query) use ($artist_title) {
- $query->where('email', 'like', $artist_title);
- })
- ->paginate(12);
- $result = compact('users','orderby');
- Json::dump($result);
- return view('admin.users.index', $result);
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function create()
- {
- //
- }
- /**
- * Store a newly created resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- */
- public function store(Request $request)
- {
- //
- }
- /**
- * Display the specified resource.
- *
- * @param \App\User $user
- * @return \Illuminate\Http\Response
- */
- public function show(User $user)
- {
- //
- }
- /**
- * Show the form for editing the specified resource.
- *
- * @param \App\User $user
- * @return \Illuminate\Http\Response
- */
- public function edit(User $user)
- {
- $currentuser = auth()->user();
- if($user->id == $currentuser->id ){
- session()->flash('danger', "The user <b>$user->name</b> can not been editted. You can't edit the currently logged in user");
- return redirect('admin/users');
- }else{
- $result = compact('user');
- Json::dump($result);
- return view('admin.users.edit', $result);
- }
- }
- /**
- * Update the specified resource in storage.
- *
- * @param \Illuminate\Http\Request $request
- * @param \App\User $user
- * @return \Illuminate\Http\Response
- */
- public function update(Request $request, User $user)
- {
- $currentuser = auth()->user();
- $this->validate($request,[
- 'name' => 'required|min:3|',
- 'email' => 'required|email|unique:users,email,' . $user->id
- ]);
- if($user->id == $currentuser->id ){
- session()->flash('danger', "The user <b>$user->name</b> can not been editted. You can't edit the currently logged in user");
- return redirect('admin/users');
- }else{
- $user->name = $request->name;
- $user->email = $request->email;
- $user->active = $request->active ?? '0';
- $user->admin = $request->admin ?? '0';
- $user->save();
- session()->flash('success', 'user: ' . "<b>$user->name</b>" . ' has been updated');
- return redirect('admin/users');
- }
- }
- /**
- * Remove the specified resource from storage.
- *
- * @param \App\User $user
- * @return \Illuminate\Http\Response
- */
- public function destroy(User $user)
- {
- $currentuser = auth()->user();
- if($user->id == $currentuser->id ){
- session()->flash('danger', "The user <b>$user->name</b> can not been deleted. You can't delete the currently logged in user");
- return redirect('admin/users');
- }else{
- $user->delete();
- session()->flash('success', "The user <b>$user->name</b> has been deleted");
- return redirect('admin/users');
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement