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 0000000..e887733 Binary files /dev/null and b/public/uploads/users/1501700288480.jpg differ diff --git a/resources/views/backend/dashboard.blade.php b/resources/views/backend/dashboard.blade.php index 0130e6b..b2abd92 100644 --- a/resources/views/backend/dashboard.blade.php +++ b/resources/views/backend/dashboard.blade.php @@ -2,7 +2,6 @@ @section('title', 'Dashboard') @section('content') -