From c5cda879cf63c8ab79a2c819f1ee49298014c15c Mon Sep 17 00:00:00 2001 From: Ibrahim Khalil Date: Sat, 18 Nov 2023 14:04:25 +0600 Subject: [PATCH] u 18nov2023 --- .../Controllers/Backend/UserController.php | 78 +- app/Http/Middleware/checkRole.php | 2 +- .../Requests/Backend/User/AddNewRequest.php | 32 + .../Requests/Backend/User/UpdateRequest.php | 32 + public/uploads/users/1501700288480.jpg | Bin 0 -> 18184 bytes resources/views/backend/dashboard.blade.php | 2 - resources/views/backend/layouts/app.blade.php | 768 +++++++++--------- resources/views/backend/user/create.blade.php | 143 ++++ resources/views/backend/user/edit.blade.php | 149 ++++ resources/views/backend/user/index.blade.php | 170 ++++ routes/web.php | 2 +- 11 files changed, 986 insertions(+), 392 deletions(-) create mode 100644 app/Http/Requests/Backend/User/AddNewRequest.php create mode 100644 app/Http/Requests/Backend/User/UpdateRequest.php create mode 100644 public/uploads/users/1501700288480.jpg create mode 100644 resources/views/backend/user/create.blade.php create mode 100644 resources/views/backend/user/edit.blade.php create mode 100644 resources/views/backend/user/index.blade.php diff --git a/app/Http/Controllers/Backend/UserController.php b/app/Http/Controllers/Backend/UserController.php index 42a5a64..279c6d8 100644 --- a/app/Http/Controllers/Backend/UserController.php +++ b/app/Http/Controllers/Backend/UserController.php @@ -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'); + } } /** diff --git a/app/Http/Middleware/checkRole.php b/app/Http/Middleware/checkRole.php index 98d43e7..0476131 100644 --- a/app/Http/Middleware/checkRole.php +++ b/app/Http/Middleware/checkRole.php @@ -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") { diff --git a/app/Http/Requests/Backend/User/AddNewRequest.php b/app/Http/Requests/Backend/User/AddNewRequest.php new file mode 100644 index 0000000..56bda9b --- /dev/null +++ b/app/Http/Requests/Backend/User/AddNewRequest.php @@ -0,0 +1,32 @@ +|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' + ]; + } +} diff --git a/app/Http/Requests/Backend/User/UpdateRequest.php b/app/Http/Requests/Backend/User/UpdateRequest.php new file mode 100644 index 0000000..a3c6097 --- /dev/null +++ b/app/Http/Requests/Backend/User/UpdateRequest.php @@ -0,0 +1,32 @@ +|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, + ]; + } +} diff --git a/public/uploads/users/1501700288480.jpg b/public/uploads/users/1501700288480.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e88773396c1548ed2287955c0d7b942391608d67 GIT binary patch literal 18184 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 @@ -530,7 +529,6 @@ class="la la-trash-o"> - diff --git a/resources/views/backend/layouts/app.blade.php b/resources/views/backend/layouts/app.blade.php index fcad749..0f6f66a 100644 --- a/resources/views/backend/layouts/app.blade.php +++ b/resources/views/backend/layouts/app.blade.php @@ -1,7 +1,7 @@ - + @@ -15,6 +15,8 @@ + @stack('styles') + @@ -23,426 +25,430 @@ +
- - - - - -
-
- +
+
+ +
-
- - @yield('content') + @yield('content') - - @@ -456,6 +462,8 @@ class="ti-arrow-right"> + @stack('scripts') + diff --git a/resources/views/backend/user/create.blade.php b/resources/views/backend/user/create.blade.php new file mode 100644 index 0000000..6229e06 --- /dev/null +++ b/resources/views/backend/user/create.blade.php @@ -0,0 +1,143 @@ +@extends('backend.layouts.app') +@section('title', 'Add User') + +@section('content') + + +
+ +
+ +
+
+
+

Add User

+
+
+
+ +
+
+ +
+
+
+
+
Basic Info
+
+
+
+ @csrf +
+
+
+ + +
+ @if($errors->has('userName_en')) + {{ $errors->first('userName_en') }} + @endif +
+
+
+ + +
+
+
+
+ + +
+ @if($errors->has('contactNumber_en')) + {{ $errors->first('contactNumber_en') }} + @endif +
+
+
+ + +
+
+
+
+ + +
+ @if($errors->has('emailAddress')) + {{ $errors->first('emailAddress') }} + @endif +
+
+
+ + +
+ @if($errors->has('roleId')) + {{ $errors->first('roleId') }} + @endif +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+
+ + +
+ @if($errors->has('password')) + {{ $errors->first('password') }} + @endif +
+
+ + +
+
+
+
+
+
+
+ +
+
+ + +@endsection \ No newline at end of file diff --git a/resources/views/backend/user/edit.blade.php b/resources/views/backend/user/edit.blade.php new file mode 100644 index 0000000..95bb4f4 --- /dev/null +++ b/resources/views/backend/user/edit.blade.php @@ -0,0 +1,149 @@ +@extends('backend.layouts.app') +@section('title', 'Edit User') + +@section('content') + + +
+ +
+ +
+
+
+

Add User

+
+
+
+ +
+
+ +
+
+
+
+
Basic Info
+
+
+
+ @csrf + @method('PATCH') + +
+
+
+ + +
+ @if($errors->has('userName_en')) + {{ $errors->first('userName_en') }} + @endif +
+
+
+ + +
+
+
+
+ + +
+ @if($errors->has('contactNumber_en')) + {{ $errors->first('contactNumber_en') }} + @endif +
+
+
+ + +
+
+
+
+ + +
+ @if($errors->has('emailAddress')) + {{ $errors->first('emailAddress') }} + @endif +
+
+
+ + +
+ @if($errors->has('roleId')) + {{ $errors->first('roleId') }} + @endif +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+
+ + +
+ @if($errors->has('password')) + {{ $errors->first('password') }} + @endif +
+
+ + +
+
+
+
+
+
+
+ +
+
+ + +@endsection \ No newline at end of file diff --git a/resources/views/backend/user/index.blade.php b/resources/views/backend/user/index.blade.php new file mode 100644 index 0000000..7d0ba6a --- /dev/null +++ b/resources/views/backend/user/index.blade.php @@ -0,0 +1,170 @@ +@extends('backend.layouts.app') +@section('title', 'User List') + +@push('styles') + + + +@endpush +@section('content') + + +
+ +
+ +
+
+
+

User List

+
+
+
+ +
+
+ +
+ +
+
+
+
+
+

All Students List

+ + Add new +
+
+
+ + + + + + + + + + + + + + @forelse ($data as $d) + + + + + + + + + + @empty + + + + @endforelse + +
{{__('#')}}{{__('Name')}}{{__('Email')}}{{__('Contact')}}{{__('Role')}}{{__('Status')}}{{__('Action')}}
{{$d->name_en}}{{$d->email}}{{$d->contact_en}}{{$d->role?->type}}@if($d->status==1){{__('Active')}} @else{{__('Inactive')}} @endif + + + +
No User Found
+
+
+
+
+
+
+ @forelse ($data as $d) +
+
+
+ +
+
+
+
+ +
+

{{$d->name_en}}

+

{{$d->role?->type}}

+
    +
  • + #Sl.{{$d->id}} +
  • +
  • + Phone No. + :{{$d->contact_en}} +
  • +
  • + Email:{{$d->email}} +
  • +
  • + Created At. + :{{$d->created_at}} +
  • +
+ Read More +
+
+
+
+ @empty +
+
+
+
+

User Not Found

+
+
+
+
+ @endforelse +
+
+
+
+
+ +
+
+ + +@endsection + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index e02b023..4e32794 100644 --- a/routes/web.php +++ b/routes/web.php @@ -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); });