u 18nov2023
Cette révision appartient à :
Parent
35c30daf2c
révision
c5cda879cf
@ -4,6 +4,12 @@
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\User;
|
||||
use App\Models\Role;
|
||||
use App\Http\Requests\Backend\User\AddNewRequest;
|
||||
use App\Http\Requests\Backend\User\UpdateRequest;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
@ -12,7 +18,8 @@ class UserController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
$data = User::paginate(10);
|
||||
return view('backend.user.index', compact('data'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -20,15 +27,41 @@ public function index()
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
$role = Role::get();
|
||||
return view('backend.user.create', compact('role'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
public function store(AddNewRequest $request)
|
||||
{
|
||||
//
|
||||
try {
|
||||
$data = new User();
|
||||
$data->name_en = $request->userName_en;
|
||||
$data->name_bn = $request->userName_bn;
|
||||
$data->email = $request->emailAddress;
|
||||
$data->contact_en = $request->contactNumber_en;
|
||||
$data->contact_bn = $request->contactNumber_bn;
|
||||
$data->role_id = $request->roleId;
|
||||
$data->language = 'en';
|
||||
$data->full_access = $request->fullAccess;
|
||||
$data->status = $request->status;
|
||||
$data->password = Hash::make($request->password);
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
$imageName = rand(111, 999) . time() . '.' . $request->image->extension();
|
||||
$request->image->move(public_path('uploads/users'), $imageName);
|
||||
$data->image = $imageName;
|
||||
}
|
||||
if ($data->save())
|
||||
return redirect()->route('user.index')->with('success', 'Data SAVED');
|
||||
else
|
||||
return redirect()->back()->withInput()->with('error', 'Please Try again');
|
||||
} catch (Exception $e) {
|
||||
dd($e);
|
||||
return redirect()->back()->withInput()->with('error', 'Please try again');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -42,17 +75,46 @@ public function show(string $id)
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(string $id)
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
$role=Role::get();
|
||||
$user=User::findOrFail(encryptor('decrypt',$id));
|
||||
return view('backend.user.edit',compact('role','user'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, string $id)
|
||||
public function update(UpdateRequest $request, $id)
|
||||
{
|
||||
//
|
||||
try {
|
||||
$data = User::findOrFail(encryptor('decrypt',$id));
|
||||
$data->name_en = $request->userName_en;
|
||||
$data->name_bn = $request->userName_bn;
|
||||
$data->email = $request->emailAddress;
|
||||
$data->contact_en = $request->contactNumber_en;
|
||||
$data->contact_bn = $request->contactNumber_bn;
|
||||
$data->role_id = $request->roleId;
|
||||
$data->language = 'en';
|
||||
$data->full_access = $request->fullAccess;
|
||||
$data->status = $request->status;
|
||||
|
||||
if($request->password)
|
||||
$data->password = Hash::make($request->password);
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
$imageName = rand(111, 999) . time() . '.' . $request->image->extension();
|
||||
$request->image->move(public_path('uploads/users'), $imageName);
|
||||
$data->image = $imageName;
|
||||
}
|
||||
if ($data->save())
|
||||
return redirect()->route('user.index')->with('success', 'Data SAVED');
|
||||
else
|
||||
return redirect()->back()->withInput()->with('error', 'Please Try again');
|
||||
} catch (Exception $e) {
|
||||
dd($e);
|
||||
return redirect()->back()->withInput()->with('error', 'Please try again');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -20,7 +20,7 @@ public function handle(Request $request, Closure $next): Response
|
||||
if (!Session::has('userId') || Session::has('userId') == null) {
|
||||
return redirect()->route('logOut');
|
||||
} else {
|
||||
$user = User::findorFail(currentUserId());
|
||||
$user = User::find(currentUserId());
|
||||
if (!$user) {
|
||||
return redirecty()->route('logOut');
|
||||
} else if ($user->full_access == "1") {
|
||||
|
||||
32
app/Http/Requests/Backend/User/AddNewRequest.php
Fichier normal
32
app/Http/Requests/Backend/User/AddNewRequest.php
Fichier normal
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Backend\User;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class AddNewRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'userName_en' => 'required|max:255',
|
||||
'roleId' => 'required|max:2',
|
||||
'contactNumber_en' => 'required|unique:users,contact_en',
|
||||
'emailAddress' => 'required|unique:users,email',
|
||||
'password' => 'required'
|
||||
];
|
||||
}
|
||||
}
|
||||
32
app/Http/Requests/Backend/User/UpdateRequest.php
Fichier normal
32
app/Http/Requests/Backend/User/UpdateRequest.php
Fichier normal
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Backend\User;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(Request $r): array
|
||||
{
|
||||
$id = encryptor('decrypt', $r->uptoken);
|
||||
return [
|
||||
'userName_en' => 'required',
|
||||
'contactNumber_en' => 'required|unique:users,contact_en,' . $id,
|
||||
'emailAddress' => 'required|unique:users,email,' . $id,
|
||||
];
|
||||
}
|
||||
}
|
||||
BIN
public/uploads/users/1501700288480.jpg
Fichier normal
BIN
public/uploads/users/1501700288480.jpg
Fichier normal
Fichier binaire non affiché.
|
Après Largeur: | Hauteur: | Taille: 18 KiB |
@ -2,7 +2,6 @@
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
<div id="main-wrapper">
|
||||
<!--**********************************
|
||||
Content body start
|
||||
***********************************-->
|
||||
@ -530,7 +529,6 @@ class="la la-trash-o"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--**********************************
|
||||
Content body end
|
||||
***********************************-->
|
||||
|
||||
@ -15,6 +15,8 @@
|
||||
<link rel="stylesheet" href="{{asset('public/css/style.css')}}">
|
||||
<link rel="stylesheet" href="{{asset('public/css/skin-2.css')}}">
|
||||
|
||||
@stack('styles')
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -23,7 +25,7 @@
|
||||
<!--**********************************
|
||||
Main wrapper start
|
||||
***********************************-->
|
||||
|
||||
<div id="main-wrapper">
|
||||
|
||||
<!--**********************************
|
||||
Nav header start
|
||||
@ -59,7 +61,8 @@
|
||||
</span>
|
||||
<div class="dropdown-menu p-0 m-0">
|
||||
<form>
|
||||
<input class="form-control" type="search" placeholder="Search" aria-label="Search">
|
||||
<input class="form-control" type="search" placeholder="Search"
|
||||
aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -162,7 +165,8 @@ class="ti-arrow-right"></i></a>
|
||||
<a href="{{route('logOut')}}" class="dropdown-item ai-icon">
|
||||
<svg id="icon-logout" xmlns="http://www.w3.org/2000/svg" width="18" height="18"
|
||||
viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round" class="feather feather-log-out">
|
||||
stroke-linecap="round" stroke-linejoin="round"
|
||||
class="feather feather-log-out">
|
||||
<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path>
|
||||
<polyline points="16 17 21 12 16 7"></polyline>
|
||||
<line x1="21" y1="12" x2="9" y2="12"></line>
|
||||
@ -443,6 +447,8 @@ class="ti-arrow-right"></i></a>
|
||||
<!--**********************************
|
||||
Support ticket button end
|
||||
***********************************-->
|
||||
|
||||
</div>
|
||||
<!--**********************************
|
||||
Main wrapper end
|
||||
***********************************-->
|
||||
@ -456,6 +462,8 @@ class="ti-arrow-right"></i></a>
|
||||
<script src="{{asset('public/js/custom.min.js')}}"></script>
|
||||
<script src="{{asset('public/js/dlabnav-init.js')}}"></script>
|
||||
|
||||
@stack('scripts')
|
||||
|
||||
<!-- Chart ChartJS plugin files -->
|
||||
<script src="{{asset('public/vendor/chart.js/Chart.bundle.min.js')}}"></script>
|
||||
|
||||
|
||||
143
resources/views/backend/user/create.blade.php
Fichier normal
143
resources/views/backend/user/create.blade.php
Fichier normal
@ -0,0 +1,143 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'Add User')
|
||||
|
||||
@section('content')
|
||||
|
||||
<!--**********************************
|
||||
Content body start
|
||||
***********************************-->
|
||||
<div class="content-body">
|
||||
<!-- row -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row page-titles mx-0">
|
||||
<div class="col-sm-6 p-md-0">
|
||||
<div class="welcome-text">
|
||||
<h4>Add User</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">User</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">Add User</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-xxl-12 col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title">Basic Info</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{route('user.store')}}" method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Name</label>
|
||||
<input type="text" class="form-control" name="userName_en" value="{{old('userName_en')}}">
|
||||
</div>
|
||||
@if($errors->has('userName_en'))
|
||||
<span class="text-danger"> {{ $errors->first('userName_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">নাম (বাংলায়)</label>
|
||||
<input type="text" class="form-control" name="userName_bn" value="{{old('userName_bn')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Phone Number</label>
|
||||
<input type="tel" class="form-control" name="contactNumber_en" value="{{old('contactNumber_en')}}">
|
||||
</div>
|
||||
@if($errors->has('contactNumber_en'))
|
||||
<span class="text-danger"> {{ $errors->first('contactNumber_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">ফোন নাম্বার (বাংলায়)</label>
|
||||
<input type="tel" class="form-control" name="contactNumber_bn" value="{{old('contactNumber_bn')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Email</label>
|
||||
<input type="email" class="form-control" name="emailAddress" value="{{old('emailAddress')}}">
|
||||
</div>
|
||||
@if($errors->has('emailAddress'))
|
||||
<span class="text-danger"> {{ $errors->first('emailAddress') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Role</label>
|
||||
<select class="form-control" name="roleId">
|
||||
@forelse ($role as $r)
|
||||
<option value="{{$r->id}} {{old('roleId')==$r->id?selected:''}}">
|
||||
{{$r->type}}</option>
|
||||
@empty
|
||||
<option value="">No Role Found</option>
|
||||
@endforelse
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('roleId'))
|
||||
<span class="text-danger"> {{ $errors->first('roleId') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Full Access</label>
|
||||
<select class="form-control" name="fullAccess">
|
||||
<option value="0" @if(old('fullAccess')==0) selected @endif>No</option>
|
||||
<option value="1" @if(old('fullAccess')==1) selected @endif>Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Status</label>
|
||||
<select class="form-control" name="status">
|
||||
<option value="1" @if(old('status')==1) selected @endif>Active</option>
|
||||
<option value="0" @if(old('status')==0) selected @endif>Inactive</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<label class="form-label">Image</label>
|
||||
<div class="form-group fallback w-100">
|
||||
<input type="file" class="dropify" data-default-file="" name="image">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Password</label>
|
||||
<input type="password" class="form-control" name="password">
|
||||
</div>
|
||||
@if($errors->has('password'))
|
||||
<span class="text-danger"> {{ $errors->first('password') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" class="btn btn-light">Cencel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--**********************************
|
||||
Content body end
|
||||
***********************************-->
|
||||
|
||||
@endsection
|
||||
149
resources/views/backend/user/edit.blade.php
Fichier normal
149
resources/views/backend/user/edit.blade.php
Fichier normal
@ -0,0 +1,149 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'Edit User')
|
||||
|
||||
@section('content')
|
||||
|
||||
<!--**********************************
|
||||
Content body start
|
||||
***********************************-->
|
||||
<div class="content-body">
|
||||
<!-- row -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row page-titles mx-0">
|
||||
<div class="col-sm-6 p-md-0">
|
||||
<div class="welcome-text">
|
||||
<h4>Add User</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">User</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit User</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12 col-xxl-12 col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title">Basic Info</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{route('user.update', encryptor('encrypt', $user->id))}}" method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@method('PATCH')
|
||||
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$user->id)}}">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Name</label>
|
||||
<input type="text" class="form-control" name="userName_en"
|
||||
value="{{old('userName_en', $user->name_en)}}">
|
||||
</div>
|
||||
@if($errors->has('userName_en'))
|
||||
<span class="text-danger"> {{ $errors->first('userName_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">নাম (বাংলায়)</label>
|
||||
<input type="text" class="form-control" name="userName_bn"
|
||||
value="{{old('userName_bn', $user->name_bn)}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Phone Number</label>
|
||||
<input type="tel" class="form-control" name="contactNumber_en"
|
||||
value="{{old('contactNumber_en', $user->contact_en)}}">
|
||||
</div>
|
||||
@if($errors->has('contactNumber_en'))
|
||||
<span class="text-danger"> {{ $errors->first('contactNumber_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">ফোন নাম্বার (বাংলায়)</label>
|
||||
<input type="tel" class="form-control" name="contactNumber_bn"
|
||||
value="{{old('contactNumber_bn', $user->contact_bn)}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Email</label>
|
||||
<input type="email" class="form-control" name="emailAddress" value="{{old('emailAddress', $user->email)}}">
|
||||
</div>
|
||||
@if($errors->has('emailAddress'))
|
||||
<span class="text-danger"> {{ $errors->first('emailAddress') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Role</label>
|
||||
<select class="form-control" name="roleId">
|
||||
@forelse ($role as $r)
|
||||
<option value="{{$r->id}} {{old('roleId', $user->role_id)==$r->id?'selected':''}}">
|
||||
{{$r->type}}</option>
|
||||
@empty
|
||||
<option value="">No Role Found</option>
|
||||
@endforelse
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('roleId'))
|
||||
<span class="text-danger"> {{ $errors->first('roleId') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Full Access</label>
|
||||
<select class="form-control" name="fullAccess">
|
||||
<option value="0" @if(old('fullAccess', $user->full_access)==0) selected @endif>No</option>
|
||||
<option value="1" @if(old('fullAccess', $user->full_access)==1) selected @endif>Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Status</label>
|
||||
<select class="form-control" name="status">
|
||||
<option value="1" @if(old('status', $user->status)==1) selected @endif>Active</option>
|
||||
<option value="0" @if(old('status', $user->status)==0) selected @endif>Inactive</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<label class="form-label">Image</label>
|
||||
<div class="form-group fallback w-100">
|
||||
<input type="file" class="dropify" data-default-file="" name="image">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Password</label>
|
||||
<input type="password" class="form-control" name="password">
|
||||
</div>
|
||||
@if($errors->has('password'))
|
||||
<span class="text-danger"> {{ $errors->first('password') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" class="btn btn-light">Cencel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--**********************************
|
||||
Content body end
|
||||
***********************************-->
|
||||
|
||||
@endsection
|
||||
170
resources/views/backend/user/index.blade.php
Fichier normal
170
resources/views/backend/user/index.blade.php
Fichier normal
@ -0,0 +1,170 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'User List')
|
||||
|
||||
@push('styles')
|
||||
<!-- Datatable -->
|
||||
<link href="{{asset('public/vendor/datatables/css/jquery.dataTables.min.css')}}" rel="stylesheet">
|
||||
<link rel="{{asset('public/stylesheet" href="css/style.css')}}">
|
||||
@endpush
|
||||
@section('content')
|
||||
|
||||
<!--**********************************
|
||||
Content body start
|
||||
***********************************-->
|
||||
<div class="content-body">
|
||||
<!-- row -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row page-titles mx-0">
|
||||
<div class="col-sm-6 p-md-0">
|
||||
<div class="welcome-text">
|
||||
<h4>User List</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">Users</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">All User</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="nav nav-pills mb-3">
|
||||
<li class="nav-item"><a href="#list-view" data-toggle="tab"
|
||||
class="nav-link btn-primary mr-1 show active">List View</a></li>
|
||||
<li class="nav-item"><a href="#grid-view" data-toggle="tab" class="nav-link btn-primary">Grid
|
||||
View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<div class="row tab-content">
|
||||
<div id="list-view" class="tab-pane fade active show col-lg-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">All Students List </h4>
|
||||
<a href="add-student.html" class="btn btn-primary">+ Add new</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table id="example3" class="display" style="min-width: 845px">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('#')}}</th>
|
||||
<th>{{__('Name')}}</th>
|
||||
<th>{{__('Email')}}</th>
|
||||
<th>{{__('Contact')}}</th>
|
||||
<th>{{__('Role')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('Action')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($data as $d)
|
||||
<tr>
|
||||
<td><img class="rounded-circle" width="35" height="35"
|
||||
src="{{asset('public/uploads/users/'.$d->image)}}" alt=""></td>
|
||||
<td><strong>{{$d->name_en}}</strong></td>
|
||||
<td>{{$d->email}}</td>
|
||||
<td>{{$d->contact_en}}</td>
|
||||
<td>{{$d->role?->type}}</td>
|
||||
<td>@if($d->status==1){{__('Active')}} @else{{__('Inactive')}} @endif
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{route('user.edit', encryptor('encrypt',$d->id))}}" class="btn btn-sm btn-primary"><i
|
||||
class="la la-pencil"></i></a>
|
||||
<a href="javascript:void(0);" class="btn btn-sm btn-danger"><i
|
||||
class="la la-trash-o"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<th colspan="7" class="text-center">No User Found</th>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="grid-view" class="tab-pane fade col-lg-12">
|
||||
<div class="row">
|
||||
@forelse ($data as $d)
|
||||
<div class="col-lg-4 col-md-6 col-sm-6 col-12">
|
||||
<div class="card card-profile">
|
||||
<div class="card-header justify-content-end pb-0">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-link" type="button" data-toggle="dropdown">
|
||||
<span class="dropdown-dots fs--1"></span>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-right border py-0">
|
||||
<div class="py-2">
|
||||
<a class="dropdown-item" href="javascript:void(0);">Edit</a>
|
||||
<a class="dropdown-item text-danger"
|
||||
href="javascript:void(0);">Delete</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-2">
|
||||
<div class="text-center">
|
||||
<div class="profile-photo">
|
||||
<img src="{{asset('public/uploads/users/'.$d->image)}}" width="100" height="100" class="rounded-circle" alt="">
|
||||
</div>
|
||||
<h3 class="mt-4 mb-1">{{$d->name_en}}</h3>
|
||||
<p class="text-muted">{{$d->role?->type}}</p>
|
||||
<ul class="list-group mb-3 list-group-flush">
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span>#Sl.</span><strong>{{$d->id}}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Phone No.
|
||||
:</span><strong>{{$d->contact_en}}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Email:</span><strong>{{$d->email}}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Created At.
|
||||
:</span><strong>{{$d->created_at}}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="btn btn-outline-primary btn-rounded mt-3 px-4"
|
||||
href="about-student.html">Read More</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@empty
|
||||
<div class="col-lg-4 col-md-6 col-sm-6 col-12">
|
||||
<div class="card card-profile">
|
||||
<div class="card-body pt-2">
|
||||
<div class="text-center">
|
||||
<p class="mt-3 px-4">User Not Found</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforelse
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--**********************************
|
||||
Content body end
|
||||
***********************************-->
|
||||
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<!-- Datatable -->
|
||||
<script src="{{asset('public/vendor/datatables/js/jquery.dataTables.min.js')}}"></script>
|
||||
<script src="{{asset('public/js/plugins-init/datatables.init.js')}}"></script>
|
||||
@endpush
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
Route::middleware(['checkrole'])->group(function () {
|
||||
Route::get('/dashboard', [dashboard::class, 'index'])->name('dashboard');
|
||||
Route::resource('/user', user::class)->except(['update', 'store']);
|
||||
Route::resource('/user', user::class);
|
||||
});
|
||||
|
||||
|
||||
|
||||
Chargement…
Référencer dans un nouveau ticket
Block a user