/home/awneajlw/.trash/app.2/Http/Controllers/SubAdmin/SubUserController.php
<?php
namespace App\Http\Controllers\SubAdmin;
use Carbon\Carbon;
use App\Models\User;
use Illuminate\Http\Request;
use Yajra\DataTables\DataTables;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class SubUserController extends Controller
{
public function index()
{
$user = Auth::user();
$users = User::where('branch_id',$user->branch_id)->where('role_id',3)->count();
return view('admin.subAdmin.user',compact('users'));
}
// yajra pagination
public function getUsers(Request $request)
{
if ($request->ajax()) {
$user = Auth::user();
$fromDate = $request->input('from_date');
$toDate = $request->input('to_date');
if($fromDate == null && $toDate == null){
$data = User::where('branch_id',$user->branch_id)->where('role_id',3)->with('branch')->get();
}
else{
//Date Filter
$data = User::where('branch_id',$user->branch_id)->where('role_id',3)->with('branch')->whereBetween('created_at', [$fromDate, $toDate])->get();
}
return Datatables::of($data)
->addIndexColumn()
->addColumn('action', function ($row) {
$btn = '<button class="btn btn-sm btn-info ml-2 my-3 edit" value="' . $row->id . '" type="button"><i class="fa fa-edit"></i></button>';
$btn = $btn . '<a class="btn btn-sm btn-danger ml-2 my-3" href="'.url('/sub-user-delete/'.$row->id).'" role="button"><i class="fa fa-trash"></i></a>';
return $btn;
})
->addColumn('created', function ($row) {
$created_at = $row->created_at;
$formatted_date = Carbon::parse($created_at)->format('Y-m-d H:i:s');
return $formatted_date;
})
->rawColumns(['action', 'created'])
->make(true);
}
}
public function addUser(Request $req){
$user = Auth::user();
$password = $req->user_password;
$hashedPassword = Hash::make($password);
User::insert([
'name' => $req->user_name,
'email' => $req->user_email,
'password' => $hashedPassword,
'branch_id' => $user->branch_id,
'status' => $req->user_status,
'role_id' => 3,
'created_at' => now(),
]);
return redirect()->back();
}
// edit
public function editUser($id){
$user = User::find($id);
return response()->json([
'user'=>$user,
]);
}
// update user
public function updateUser(Request $req){
$user = User::find($req->userId);
$user->name = $req->name;
$user->email = $req->email;
$user->status = $req->status;
$user->role_id = 3;
$user->branch_id = Auth::User()->branch_id;
if($req->password != null){
$password = $req->password;
$hashedPassword = Hash::make($password);
$user->password= $hashedPassword;
}
$user->update();
return redirect()->back();
}
// delete user
public function deleteUser($id){
$user=User::find($id);
if ($user) {
$user->delete();
}
session()->flash('message', 'User deleted successfully!');
return redirect()->back();
}
}