diff --git a/app/DataTables/Users/PermissionsDataTable.php b/app/DataTables/Users/PermissionsDataTable.php deleted file mode 100644 index 83a504b..0000000 --- a/app/DataTables/Users/PermissionsDataTable.php +++ /dev/null @@ -1,102 +0,0 @@ -eloquent($query) - ->filter(function ($query) { - if (request()->has('search')) { - $search = request()->get('search'); - $query->where('name', 'like', "%" . $search['value'] . "%"); - } - }) - ->rawColumns(['action','role']) - ->addIndexColumn() - ->addColumn('name', function (PermissionGroup $model) { - return $model->name; - }) - ->addColumn('role', function (PermissionGroup $model){ - $role = $model->roles($model); - return view('pages.users.permissions._checkbox', compact('role')); - }) - ->addColumn('action', function (PermissionGroup $model) { - return view('pages.users.permissions._action', compact('model')); - }); - } - - /** - * Get query source of dataTable. - * - * @param \App\Models\PermissionGroup $model - * @return \Illuminate\Database\Eloquent\Builder - */ - public function query(PermissionGroup $model) - { - return $model->newQuery(); - } - - /** - * Optional method if you want to use html builder. - * - * @return \Yajra\DataTables\Html\Builder - */ - public function html() - { - return $this->builder() - ->setTableId('user-permissions-table') - ->columns($this->getColumns()) - ->minifiedAjax() - ->orderBy(1,'asc') - ->stateSave(false) - ->responsive() - ->autoWidth(false) - ->parameters([ - 'scrollX' => true, - 'drawCallback' => 'function() { KTMenu.createInstances(); }', - ]) - ->addTableClass('align-middle table-row-dashed fs-6 gy-5'); - } - - /** - * Get columns. - * - * @return array - */ - protected function getColumns() - { - return [ - Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), - Column::make('name')->title('Name'), - Column::make('role')->title('Assign To'), - Column::computed('action') - ->exportable(false) - ->printable(false) - ->addClass('text-center') - ->responsivePriority(-1), - - ]; - } - - /** - * Get filename for export - * @return string - */ - protected function filename() : string - { - return 'Permissions_' . date('YmdHis'); - } - } diff --git a/app/DataTables/Users/RolesDataTable.php b/app/DataTables/Users/RolesDataTable.php deleted file mode 100644 index 3b6f6a5..0000000 --- a/app/DataTables/Users/RolesDataTable.php +++ /dev/null @@ -1,96 +0,0 @@ -eloquent($query) - ->rawColumns(['action']) - ->addIndexColumn() - ->filter(function ($query) { - if (request()->has('search')) { - $search = request()->get('search'); - $query->where('name', 'like', "%" . $search['value'] . "%"); - } - }) - ->addColumn('action', function (Role $model) { - return view('pages.users.roles._action', compact('model')); - }); - } - - /** - * Get query source of dataTable. - * - * @param \App\Models\Role $model - * @return \Illuminate\Database\Eloquent\Builder - */ - public function query(Role $model) - { - return $model->newQuery(); - } - - /** - * Optional method if you want to use html builder. - * - * @return \Yajra\DataTables\Html\Builder - */ - public function html() - { - return $this->builder() - ->setTableId('user-roles-table') - ->columns($this->getColumns()) - ->minifiedAjax() - ->orderBy(1,'asc') - ->stateSave(false) - ->responsive() - ->autoWidth(false) - ->parameters([ - 'scrollX' => true, - 'drawCallback' => 'function() { KTMenu.createInstances(); }', - ]) - ->addTableClass('align-middle table-row-dashed fs-6 gy-5'); - - } - - /** - * Get columns. - * - * @return array - */ - protected function getColumns() - { - return [ - Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), - Column::make('name'), - Column::computed('action') - ->exportable(false) - ->printable(false) - ->addClass('text-center') - ->responsivePriority(-1), - - ]; - } - - /** - * Get filename for export. - * - * @return string - */ - protected function filename() : string - { - return 'Roles_' . date('YmdHis'); - } -} diff --git a/app/DataTables/Users/UsersDataTable.php b/app/DataTables/Users/UsersDataTable.php deleted file mode 100644 index bc89c15..0000000 --- a/app/DataTables/Users/UsersDataTable.php +++ /dev/null @@ -1,97 +0,0 @@ -eloquent($query) - ->filter(function ($query) { - $search = request()->get('search'); - if ($search['value']!=="") { - $query->where('name', 'like', "%" . $search['value'] . "%") - ->orWhere('email', 'like', "%" . $search['value'] . "%"); - } - }) - ->rawColumns(['action']) - ->addIndexColumn() - ->addColumn('action', function (User $model) { - return view('pages.users.users._action', compact('model')); - }); - } - - /** - * Get query source of dataTable. - * - * @param \App\Models\User $model - * @return \Illuminate\Database\Eloquent\Builder - */ - public function query(User $model) - { - return $model->newQuery(); - } - - /** - * Optional method if you want to use html builder. - * - * @return \Yajra\DataTables\Html\Builder - */ - public function html() - { - return $this->builder() - ->setTableId('user-users-table') - ->columns($this->getColumns()) - ->minifiedAjax() - ->orderBy(1,'asc') - ->stateSave(false) - ->responsive() - ->autoWidth(false) - ->parameters([ - 'scrollX' => true, - 'drawCallback' => 'function() { KTMenu.createInstances(); }', - ]) - ->addTableClass('align-middle table-row-dashed fs-6 gy-5'); - } - - /** - * Get columns. - * - * @return array - */ - protected function getColumns() - { - return [ - Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), - Column::make('name')->title(__('Name')), - Column::make('email'), - Column::computed('action') - ->exportable(false) - ->printable(false) - ->addClass('text-center') - ->responsivePriority(-1), - ]; - } - - /** - * Get filename for export. - * - * @return string - */ - protected function filename() : string - { - return 'Users_' . date('YmdHis'); - } -} diff --git a/app/Http/Controllers/Auth/AuthApiController.php b/app/Http/Controllers/Auth/AuthApiController.php deleted file mode 100644 index 3c387be..0000000 --- a/app/Http/Controllers/Auth/AuthApiController.php +++ /dev/null @@ -1,60 +0,0 @@ -all(), [ - 'name' => 'required', - 'email' => 'required|email', - 'password' => 'required', - 'password_confirmation' => 'required|same:password', - ]); - - if ($validator->fails()) { - return $this->sendError('Validation Error.', $validator->errors()); - } - - $input = $request->all(); - $input['password'] = bcrypt($input['password']); - $user = User::create($input); - $success['token'] = $user->createToken('MyApp')->plainTextToken; - $success['name'] = $user->name; - - return $this->sendResponse($success, 'User register successfully.'); - } - - /** - * Login api - * - * @return \Illuminate\Http\Response - */ - public function login(Request $request) - : JsonResponse - { - if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) { - $user = Auth::user(); - $success['token'] = $user->createToken('MyApp')->plainTextToken; - $success['name'] = $user->name; - - return $this->sendResponse($success, 'User login successfully.'); - } else { - return $this->sendError('Unauthorised.', ['error' => 'Unauthorised']); - } - } - } diff --git a/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/app/Http/Controllers/Auth/AuthenticatedSessionController.php deleted file mode 100644 index 587495b..0000000 --- a/app/Http/Controllers/Auth/AuthenticatedSessionController.php +++ /dev/null @@ -1,58 +0,0 @@ -authenticate(); - - $request->session()->regenerate(); - - return redirect()->intended(RouteServiceProvider::HOME); - } - - /** - * Destroy an authenticated session. - * - * @param \Illuminate\Http\Request $request - * - * @return \Illuminate\Http\RedirectResponse - */ - public function destroy(Request $request) - { - Auth::guard('web')->logout(); - - $request->session()->invalidate(); - - $request->session()->regenerateToken(); - - return redirect('/'); - } -} diff --git a/app/Http/Controllers/Auth/ConfirmablePasswordController.php b/app/Http/Controllers/Auth/ConfirmablePasswordController.php deleted file mode 100644 index 525bea3..0000000 --- a/app/Http/Controllers/Auth/ConfirmablePasswordController.php +++ /dev/null @@ -1,44 +0,0 @@ -validate([ - 'email' => $request->user()->email, - 'password' => $request->password, - ])) { - throw ValidationException::withMessages([ - 'password' => __('auth.password'), - ]); - } - - $request->session()->put('auth.password_confirmed_at', time()); - - return redirect()->intended(RouteServiceProvider::HOME); - } -} diff --git a/app/Http/Controllers/Auth/EmailVerificationNotificationController.php b/app/Http/Controllers/Auth/EmailVerificationNotificationController.php deleted file mode 100644 index 3362dca..0000000 --- a/app/Http/Controllers/Auth/EmailVerificationNotificationController.php +++ /dev/null @@ -1,27 +0,0 @@ -user()->hasVerifiedEmail()) { - return redirect()->intended(RouteServiceProvider::HOME); - } - - $request->user()->sendEmailVerificationNotification(); - - return back()->with('status', 'verification-link-sent'); - } -} diff --git a/app/Http/Controllers/Auth/EmailVerificationPromptController.php b/app/Http/Controllers/Auth/EmailVerificationPromptController.php deleted file mode 100644 index 1f2efa3..0000000 --- a/app/Http/Controllers/Auth/EmailVerificationPromptController.php +++ /dev/null @@ -1,23 +0,0 @@ -user()->hasVerifiedEmail() - ? redirect()->intended(RouteServiceProvider::HOME) - : view('pages.auth.verify-email'); - } -} diff --git a/app/Http/Controllers/Auth/NewPasswordController.php b/app/Http/Controllers/Auth/NewPasswordController.php deleted file mode 100644 index 740ad50..0000000 --- a/app/Http/Controllers/Auth/NewPasswordController.php +++ /dev/null @@ -1,65 +0,0 @@ - $request]); - } - - /** - * Handle an incoming new password request. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\RedirectResponse - * - * @throws \Illuminate\Validation\ValidationException - */ - public function store(Request $request) - { - $request->validate([ - 'token' => ['required'], - 'email' => ['required', 'email'], - 'password' => ['required', 'confirmed', Rules\Password::defaults()], - ]); - - // Here we will attempt to reset the user's password. If it is successful we - // will update the password on an actual user model and persist it to the - // database. Otherwise we will parse the error and return the response. - $status = Password::reset( - $request->only('email', 'password', 'password_confirmation', 'token'), - function ($user) use ($request) { - $user->forceFill([ - 'password' => Hash::make($request->password), - 'remember_token' => Str::random(60), - ])->save(); - - event(new PasswordReset($user)); - } - ); - - // If the password was successfully reset, we will redirect the user back to - // the application's home authenticated view. If there is an error we can - // redirect them back to where they came from with their error message. - return $status == Password::PASSWORD_RESET - ? redirect()->route('login')->with('status', __($status)) - : back()->withInput($request->only('email')) - ->withErrors(['email' => __($status)]); - } -} diff --git a/app/Http/Controllers/Auth/PasswordResetLinkController.php b/app/Http/Controllers/Auth/PasswordResetLinkController.php deleted file mode 100644 index a4ab0ce..0000000 --- a/app/Http/Controllers/Auth/PasswordResetLinkController.php +++ /dev/null @@ -1,49 +0,0 @@ -validate([ - 'email' => ['required', 'email'], - ]); - - // We will send the password reset link to this user. Once we have attempted - // to send the link, we will examine the response then see the message we - // need to show to the user. Finally, we'll send out a proper response. - $status = Password::sendResetLink( - $request->only('email') - ); - - return $status == Password::RESET_LINK_SENT - ? back()->with('status', __($status)) - : back()->withInput($request->only('email')) - ->withErrors(['email' => __($status)]); - } -} diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php deleted file mode 100644 index 030fcb9..0000000 --- a/app/Http/Controllers/Auth/RegisteredUserController.php +++ /dev/null @@ -1,56 +0,0 @@ -validate([ - 'name' => ['required', 'string', 'max:255'], - 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - 'password' => ['required', 'confirmed', Rules\Password::defaults()], - ]); - - $user = User::create([ - 'name' => $request->name, - 'email' => $request->email, - 'password' => Hash::make($request->password), - ]); - - event(new Registered($user)); - - Auth::login($user); - - return redirect(RouteServiceProvider::HOME); - } -} diff --git a/app/Http/Controllers/Auth/VerifyEmailController.php b/app/Http/Controllers/Auth/VerifyEmailController.php deleted file mode 100644 index 6baa9aa..0000000 --- a/app/Http/Controllers/Auth/VerifyEmailController.php +++ /dev/null @@ -1,30 +0,0 @@ -user()->hasVerifiedEmail()) { - return redirect()->intended(RouteServiceProvider::HOME.'?verified=1'); - } - - if ($request->user()->markEmailAsVerified()) { - event(new Verified($request->user())); - } - - return redirect()->intended(RouteServiceProvider::HOME.'?verified=1'); - } -} diff --git a/app/Http/Controllers/Users/PermissionsController.php b/app/Http/Controllers/Users/PermissionsController.php deleted file mode 100644 index 7b5aea5..0000000 --- a/app/Http/Controllers/Users/PermissionsController.php +++ /dev/null @@ -1,205 +0,0 @@ -middleware(function ($request, $next) { - $this->user = Auth::guard('web')->user(); - return $next($request); - }); - } - - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index(PermissionsDataTable $dataTable) - { - /* if (is_null($this->user) || !$this->user->can('permission.read')) { - abort(403, 'Sorry !! You are Unauthorized to view any permission !'); - }*/ - return $dataTable->render('pages.users.permissions.index'); - } - - /** - * 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) - { - /*if (is_null($this->user) || !$this->user->can('permission.create')) { - abort(403, 'Sorry !! You are Unauthorized to create any permission !'); - }*/ - - // Validation Data - $validate = $request->validate([ - 'name' => 'required|max:100|unique:permission_groups' - ], [ - 'name.requried' => 'Please give a permission name' - ]); - - if($validate){ - try{ - // Process Data - $group = PermissionGroup::create(['name' => $request->name]); - - $group_name = strtolower($request->name); - $data = [ - $group_name.'.create', - $group_name.'.read', - $group_name.'.update', - $group_name.'.delete', - $group_name.'.authorize', - $group_name.'.report' - ]; - - foreach($data as $permission){ - - Permission::create([ - 'name' => $permission, - 'guard_name' => 'web', - 'permission_group_id' => $group->id - ]); - } - - echo json_encode(['status' => 'success', 'message' => 'Permission created successfully.']); - }catch(\Exception $e){ - echo json_encode(['status' => 'error', 'message' => 'Permission created failed.']); - } - } - - return false; - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function edit($id) - { - /*if (is_null($this->user) || !$this->user->can('permission.update')) { - abort(403, 'Sorry !! You are Unauthorized to edit any permission !'); - }*/ - - $permission = PermissionGroup::find($id); - echo json_encode($permission); - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response - */ - public function update(Request $request, $id) - { - /* if (is_null($this->user) || !$this->user->can('permission.update')) { - abort(403, 'Sorry !! You are Unauthorized to edit any permission !'); - }*/ - - // Validation Data - $validated = $request->validate([ - 'name' => 'required|max:100|unique:permission_groups,name,' . $id - ], [ - 'name.requried' => 'Please give a permission name' - ]); - - if ($validated) { - try { - // Process Data - $group = PermissionGroup::find($id); - $group->name = $request->name; - - if($group->save()){ - $group_name = strtolower($request->name); - $permissions = Permission::where('permission_group_id', $group->id)->get(); - - $data = [ - $group_name . '.create', - $group_name . '.read', - $group_name . '.update', - $group_name . '.delete', - $group_name . '.authorize', - $group_name . '.report' - ]; - - $i = 0; - foreach($permissions as $permission){ - $permission->name = $data[$i]; - $permission->save(); - - $i++; - } - } - - echo json_encode(['status' => 'success', 'message' => 'Permission updated successfully.']); - } catch (\Exception $e) { - echo json_encode(['status' => 'error', 'message' => 'Permission updated failed.']); - } - } - - return false; - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - /*if (is_null($this->user) || !$this->user->can('permission.delete')) { - abort(403, 'Sorry !! You are Unauthorized to delete any role !'); - }*/ - - - $permission = PermissionGroup::find($id); - if (!is_null($permission)) { - if($permission->delete()){ - Permission::where('permission_group_id',$id)->delete(); - } - } - - echo json_encode(['status' => 'success', 'message' => 'Permission deleted successfully.']); - } -} diff --git a/app/Http/Controllers/Users/RolesController.php b/app/Http/Controllers/Users/RolesController.php deleted file mode 100644 index e47a1cf..0000000 --- a/app/Http/Controllers/Users/RolesController.php +++ /dev/null @@ -1,190 +0,0 @@ -middleware(function ($request, $next) { - $this->user = Auth::guard('web')->user(); - return $next($request); - }); - } - - /** - * Display a listing of the resource. - * - * @return Response - */ - public function index(RolesDataTable $dataTable) - { - /*if (is_null($this->user) || !$this->user->can('role.read')) { - abort(403, 'Sorry !! You are Unauthorized to view any role !'); - }*/ - $permissiongroups = PermissionGroup::all(); - - return $dataTable->render('pages.users.roles.index', compact('permissiongroups')); - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - } - - /** - * Store a newly created resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function store(Request $request) - { - /*if (is_null($this->user) || !$this->user->can('role.create')) { - abort(403, 'Sorry !! You are Unauthorized to create any role !'); - }*/ - - // Validation Data - $validated = $request->validate([ - 'name' => 'required|max:100|unique:roles' - ], [ - 'name.requried' => 'Please give a role name' - ]); - - - if ($validated) { - try { - // Process Data - $role = Role::create(['name' => $request->name, 'guard_name' => 'web']); - - $permissions = $request->input('permissions'); - - if (!empty($permissions)) { - $role = Role::find($role->id); - $role->syncPermissions($permissions); - } - - echo json_encode(['status' => 'success', 'message' => 'Role Created Successfully']); - } catch (Exception $e) { - echo json_encode(['status' => 'error', 'message' => 'Role Created Failed']); - } - } - - return false; - } - - /** - * Display the specified resource. - * - * @param int $id - * - * @return Response - */ - public function show($id) - { - // - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * - * @return Response - */ - public function edit($id) - { - /* if (is_null($this->user) || !$this->user->can('role.update')) { - abort(403, 'Sorry !! You are Unauthorized to edit any role !'); - }*/ - - $role = Role::findById($id, 'web'); - $permissions = Permission::all(); - $permissiongroups = PermissionGroup::all(); - - $_array = [ - 'role' => $role, - 'permissions' => $permissions, - 'permissiongroups' => $permissiongroups - ]; - - return view('pages.users.roles.edit', $_array); - } - - /** - * Update the specified resource in storage. - * - * @param Request $request - * @param int $id - * - * @return Response - */ - public function update(Request $request, $id) - { - /* if (is_null($this->user) || !$this->user->can('role.update')) { - abort(403, 'Sorry !! You are Unauthorized to edit any role !'); - }*/ - - // Validation Data - $request->validate([ - 'name' => 'required|max:100|unique:roles,name,' . $id - ], [ - 'name.requried' => 'Please give a role name' - ]); - - $role = Role::findById($id, 'web'); - $permissions = $request->input('permissions'); - - $role->name = $request->name; - $role->save(); - - if (!empty($permissions)) { - $role->syncPermissions($permissions); - } - - session()->flash('success', 'Role has been updated !!'); - return redirect()->route('user.roles.index'); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * - * @return Response - */ - public function destroy($id) - { - /*if (is_null($this->user) || !$this->user->can('role.delete')) { - abort(403, 'Sorry !! You are Unauthorized to delete any role !'); - }*/ - - - $role = Role::findById($id, 'web'); - if (!is_null($role)) { - $role->delete(); - } - - session()->flash('success', 'Role has been deleted !!'); - return redirect()->route('user.roles.index'); - } -} diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php deleted file mode 100644 index 23f402b..0000000 --- a/app/Http/Controllers/Users/UsersController.php +++ /dev/null @@ -1,237 +0,0 @@ -middleware(function ($request, $next) { - $this->user = Auth::guard('web')->user(); - return $next($request); - }); - } - - /** - * Display a listing of the resource. - * - * @return Response - */ - - public function index(UsersDataTable $dataTable) - { - /*if (is_null($this->user) || !$this->user->can('user.read')) { - abort(403, 'Sorry !! You are Unauthorized to view any users !'); - }*/ - - addVendor('chained-select'); - - $directorat = Directorat::all(); - $roles = Role::all(); - return $dataTable->render('pages.users.users.index', compact('directorat', 'roles')); - } - - /** - * Show the form for creating a new resource. - * - * @return Response - */ - public function create() - { - /* if (is_null($this->user) || !$this->user->can('user.create')) { - abort(403, 'Sorry !! You are Unauthorized to create any users !'); - }*/ - - $roles = Role::all(); - return view('pages.users.create', compact('roles')); - } - - /** - * Store a newly created resource in storage. - * - * @param Request $request - * - * @return Response - */ - public function store(Request $request) - { - /* if (is_null($this->user) || !$this->user->can('user.create')) { - abort(403, 'Sorry !! You are Unauthorized to create any users !'); - }*/ - // Validation Data - $request->password = 'bagbag'; - - $validated = $request->validate([ - 'name' => 'required|max:50', - 'email' => 'required|max:100|email|unique:users' - ]); - - if ($validated) { - try { - // Create New User - $user = new User(); - $user->name = $request->name; - $user->email = $request->email; - $user->directorat_id = $request->directorat_id; - $user->sub_directorat_id = $request->sub_directorat_id; - $user->password = Hash::make($request->password); - - $user->save(); - - if ($request->roles) { - $user->assignRole($request->roles); - } - - echo json_encode([ - 'status' => 'success', - 'message' => 'User Created Successfully' - ]); - } catch (Exception $e) { - echo json_encode([ - 'status' => 'error', - 'message' => $e->getMessage() - ]); - } - } - - return false; - - } - - /** - * Display the specified resource. - * - * @param int $id - * - * @return Response - */ - public function show($id) - { - /*if (is_null($this->user) || !$this->user->can('user.read')) { - abort(403, 'Sorry !! You are Unauthorized to view any users !'); - }*/ - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * - * @return Response - */ - public function edit($id) - { - /*if (is_null($this->user) || !$this->user->can('user.update')) { - abort(403, 'Sorry !! You are Unauthorized to update any users !'); - }*/ - - $user = User::find($id); - $roles = $user->roles; - - echo json_encode([ - 'status' => 'success', - 'data' => $user, - 'roles' => $roles - ]); - } - - /** - * Update the specified resource in storage. - * - * @param Request $request - * @param int $id - * - * @return Response - */ - public function update(Request $request, $id) - { - /* if (is_null($this->user) || !$this->user->can('user.update')) { - abort(403, 'Sorry !! You are Unauthorized to update any users !'); - }*/ - - // Create New User - $user = User::find($id); - - // Validation Data - if ($request->password !== '') { - $validated = $request->validate([ - 'name' => 'required|max:50', - 'email' => 'required|max:100|email|unique:users,email,' . $id, - 'password' => 'nullable|min:6|confirmed' - ]); - } else { - $validated = $request->validate([ - 'name' => 'required|max:50', - 'email' => 'required|max:100|email|unique:users,email,' . $id - ]); - } - - if ($validated) { - try { - $user->name = $request->name; - $user->email = $request->email; - $user->directorat_id = $request->directorat_id; - $user->sub_directorat_id = $request->sub_directorat_id; - - if ($request->password) { - $user->password = Hash::make($request->password); - } - - $user->save(); - - $user->roles()->detach(); - if ($request->roles) { - $user->assignRole($request->roles); - } - - echo json_encode([ - 'status' => 'success', - 'message' => 'User Updated Successfully' - ]); - - } catch (Exception $e) { - echo json_encode([ - 'status' => 'error', - 'message' => $e->getMessage() - ]); - } - } - - return false; - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * - * @return Response - */ - public function destroy(User $user) - { - /*if (is_null($this->user) || !$this->user->can('user.delete')) { - abort(403, 'Sorry !! You are Unauthorized to delete any users !'); - }*/ - - $user->delete(); - - echo json_encode([ - 'status' => 'success', - 'message' => 'User Deleted Successfully' - ]); - } -} diff --git a/app/Http/Requests/Auth/LoginRequest.php b/app/Http/Requests/Auth/LoginRequest.php deleted file mode 100644 index e0c6f14..0000000 --- a/app/Http/Requests/Auth/LoginRequest.php +++ /dev/null @@ -1,93 +0,0 @@ - ['required', 'string', 'email'], - 'password' => ['required', 'string'], - ]; - } - - /** - * Attempt to authenticate the request's credentials. - * - * @return void - * - * @throws \Illuminate\Validation\ValidationException - */ - public function authenticate() - { - $this->ensureIsNotRateLimited(); - - if (! Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) { - RateLimiter::hit($this->throttleKey()); - - throw ValidationException::withMessages([ - 'email' => trans('auth.failed'), - ]); - } - - RateLimiter::clear($this->throttleKey()); - } - - /** - * Ensure the login request is not rate limited. - * - * @return void - * - * @throws \Illuminate\Validation\ValidationException - */ - public function ensureIsNotRateLimited() - { - if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) { - return; - } - - event(new Lockout($this)); - - $seconds = RateLimiter::availableIn($this->throttleKey()); - - throw ValidationException::withMessages([ - 'email' => trans('auth.throttle', [ - 'seconds' => $seconds, - 'minutes' => ceil($seconds / 60), - ]), - ]); - } - - /** - * Get the rate limiting throttle key for the request. - * - * @return string - */ - public function throttleKey() - { - return Str::transliterate(Str::lower($this->input('email')).'|'.$this->ip()); - } -} diff --git a/app/Models/Permission.php b/app/Models/Permission.php deleted file mode 100644 index 02aed77..0000000 --- a/app/Models/Permission.php +++ /dev/null @@ -1,23 +0,0 @@ -logAll() - ->useLogName('master data'); - } - - public function group() - { - return $this->hasOne(PermissionGroup::class); - } -} diff --git a/app/Models/PermissionGroup.php b/app/Models/PermissionGroup.php deleted file mode 100644 index d710e08..0000000 --- a/app/Models/PermissionGroup.php +++ /dev/null @@ -1,55 +0,0 @@ -logAll() - ->useLogName('master data'); - } - - public function permission(){ - return $this->hasMany(Permission::class); - } - - public function roles($group){ - $permission = Permission::where('permission_group_id', $group->id)->first(); - - $data = []; - - $roles = Role::all(); - - foreach($roles as $role){ - if($role->hasPermissionTo($permission->name)){ - array_push($data,$role); - } - } - - return $data; - } - - public static function getpermissionsByGroupId($id) - { - $permissions = DB::table('permissions') - ->select('name', 'id') - ->where('permission_group_id', $id) - ->get(); - return $permissions; - } - -} diff --git a/app/Models/User.php b/app/Models/User.php deleted file mode 100644 index 823f794..0000000 --- a/app/Models/User.php +++ /dev/null @@ -1,49 +0,0 @@ - - */ - protected $fillable = [ - 'name', - 'email', - 'password', - 'directorat_id', - 'sub_directorat_id', - ]; - - /** - * The attributes that should be hidden for serialization. - * - * @var array - */ - protected $hidden = [ - 'password', - 'remember_token', - ]; - - /** - * The attributes that should be cast. - * - * @var array - */ - protected $casts = [ - 'email_verified_at' => 'datetime', - ]; -} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 4379812..81ca767 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -1,28 +1,27 @@ - */ - protected $policies = [ - // 'App\Models\Model' => 'App\Policies\ModelPolicy', - ]; - - /** - * Register any authentication / authorization services. - * - * @return void - */ - public function boot() + class AuthServiceProvider extends ServiceProvider { - // + /** + * The model to policy mappings for the application. + * + * @var array + */ + protected $policies = [// 'App\Models\Model' => 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + // + } } -} diff --git a/composer.json b/composer.json index 31962fb..baae47a 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,10 @@ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", - "keywords": ["framework", "laravel"], + "keywords": [ + "framework", + "laravel" + ], "license": "MIT", "require": { "php": "^8.0.2", @@ -18,6 +21,8 @@ "laravel/tinker": "^2.7", "laravelcollective/html": "^6.4", "nwidart/laravel-modules": "^10.0", + "putrakuningan/cetaklabel-module": "dev-master", + "putrakuningan/logs-module": "^1.0", "spatie/laravel-activitylog": "^4.7", "spatie/laravel-permission": "^5.10", "wildside/userstamps": "^2.3", @@ -80,8 +85,19 @@ "prefer-stable": true, "repositories": [ { + "name": "putrakuningan/logs-module", "type": "vcs", - "url": "https://git.putrakuningan.com/putrakuningan/cetaklabel-module" + "url": "https://git.putrakuningan.com/putrakuningan/Logs" + }, + { + "name": "putrakuningan/cetaklabel-module", + "type": "vcs", + "url": "https://git.putrakuningan.com/putrakuningan/CetakLabel" + }, + { + "name": "putrakuningan/usermanager-module", + "type": "vcs", + "url": "https://git.putrakuningan.com/putrakuningan/UserManager" } ] } diff --git a/composer.lock b/composer.lock index e3e576f..eccdb1e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6e4b7a5d95ae071c96a379148defd16e", + "content-hash": "3331fe53e7be9dc11ac871275b11223c", "packages": [ { "name": "anlutro/l4-settings", @@ -691,16 +691,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.6.0", + "version": "7.6.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "733dd89533dd371a0987172727df15f500dab0ef" + "reference": "8444a2bacf1960bc6a2b62ed86b8e72e11eebe51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/733dd89533dd371a0987172727df15f500dab0ef", - "reference": "733dd89533dd371a0987172727df15f500dab0ef", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8444a2bacf1960bc6a2b62ed86b8e72e11eebe51", + "reference": "8444a2bacf1960bc6a2b62ed86b8e72e11eebe51", "shasum": "" }, "require": { @@ -796,7 +796,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.6.0" + "source": "https://github.com/guzzle/guzzle/tree/7.6.1" }, "funding": [ { @@ -812,7 +812,7 @@ "type": "tidelift" } ], - "time": "2023-05-14T11:23:39+00:00" + "time": "2023-05-15T20:43:01+00:00" }, { "name": "guzzlehttp/promises", @@ -4026,6 +4026,63 @@ }, "time": "2023-05-05T20:02:42+00:00" }, + { + "name": "putrakuningan/cetaklabel-module", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://git.putrakuningan.com/putrakuningan/CetakLabel", + "reference": "5db56258b31950f162a4ab1b5769932e3d258818" + }, + "default-branch": true, + "type": "laravel-module", + "extra": { + "laravel": { + "providers": [], + "aliases": [] + } + }, + "autoload": { + "psr-4": { + "Modules\\CetakLabel\\": "" + } + }, + "authors": [ + { + "name": "Daeng Deni Mardaeni", + "email": "ddeni05@gmail.com" + } + ], + "time": "2023-05-15T17:14:11+00:00" + }, + { + "name": "putrakuningan/logs-module", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://git.putrakuningan.com/putrakuningan/Logs", + "reference": "c3fcefb6b1cf3aeabe249391a70e58a3a5a38419" + }, + "type": "laravel-module", + "extra": { + "laravel": { + "providers": [], + "aliases": [] + } + }, + "autoload": { + "psr-4": { + "Modules\\CetakLabel\\": "" + } + }, + "authors": [ + { + "name": "Daeng Deni Mardaeni", + "email": "ddeni05@gmail.com" + } + ], + "time": "2023-05-15T17:16:12+00:00" + }, { "name": "ralouphie/getallheaders", "version": "3.0.3", @@ -10089,7 +10146,9 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "putrakuningan/cetaklabel-module": 20 + }, "prefer-stable": true, "prefer-lowest": false, "platform": { diff --git a/config/app.php b/config/app.php index 9d34f7a..001f9af 100644 --- a/config/app.php +++ b/config/app.php @@ -1,8 +1,8 @@ [ - /* - * Laravel Framework Service Providers... - */ - Illuminate\Auth\AuthServiceProvider::class, - Illuminate\Broadcasting\BroadcastServiceProvider::class, - Illuminate\Bus\BusServiceProvider::class, - Illuminate\Cache\CacheServiceProvider::class, - Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, - Illuminate\Cookie\CookieServiceProvider::class, - Illuminate\Database\DatabaseServiceProvider::class, - Illuminate\Encryption\EncryptionServiceProvider::class, - Illuminate\Filesystem\FilesystemServiceProvider::class, - Illuminate\Foundation\Providers\FoundationServiceProvider::class, - Illuminate\Hashing\HashServiceProvider::class, - Illuminate\Mail\MailServiceProvider::class, - Illuminate\Notifications\NotificationServiceProvider::class, - Illuminate\Pagination\PaginationServiceProvider::class, - Illuminate\Pipeline\PipelineServiceProvider::class, - Illuminate\Queue\QueueServiceProvider::class, - Illuminate\Redis\RedisServiceProvider::class, - Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, - Illuminate\Session\SessionServiceProvider::class, - Illuminate\Translation\TranslationServiceProvider::class, - Illuminate\Validation\ValidationServiceProvider::class, - Illuminate\View\ViewServiceProvider::class, - /* - * Package Service Providers... - */ + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + /* + * Package Service Providers... + */ - /* - * Application Service Providers... - */ - App\Providers\HelperServiceProvider::class, - App\Providers\AppServiceProvider::class, - App\Providers\AuthServiceProvider::class, - // App\Providers\BroadcastServiceProvider::class, - App\Providers\EventServiceProvider::class, - App\Providers\RouteServiceProvider::class, + /* + * Application Service Providers... + */ + App\Providers\HelperServiceProvider::class, + App\Providers\AppServiceProvider::class, + \App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, - Yajra\DataTables\DataTablesServiceProvider::class, - Jackiedo\LogReader\LogReaderServiceProvider::class, + Yajra\DataTables\DataTablesServiceProvider::class, + Jackiedo\LogReader\LogReaderServiceProvider::class, - Spatie\Permission\PermissionServiceProvider::class, + Spatie\Permission\PermissionServiceProvider::class, ], diff --git a/config/auth.php b/config/auth.php index d8c6cee..426ab95 100644 --- a/config/auth.php +++ b/config/auth.php @@ -61,8 +61,8 @@ return [ 'providers' => [ 'users' => [ - 'driver' => 'eloquent', - 'model' => App\Models\User::class, + 'driver' => 'eloquent', + 'model' => \Modules\UserManager\Entities\User::class, ], // 'users' => [ diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 41f8ae8..b52b528 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; /** - * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User> + * @extends \Illuminate\Database\Eloquent\Factories\Factory<\Modules\UserManager\Entities\User> */ class UserFactory extends Factory { diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php deleted file mode 100644 index 17b28da..0000000 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ /dev/null @@ -1,43 +0,0 @@ -id(); - $table->foreignIdFor('Modules\CetakLabel\Entities\Directorat', 'directorat_id')->nullable(); - $table->foreignIdFor('Modules\CetakLabel\Entities\SubDirectorat', 'sub_directorat_id')->nullable(); - $table->string('name'); - $table->string('email')->unique(); - $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); - $table->rememberToken(); - $table->timestamps(); - $table->softDeletes(); - - $table->unsignedBigInteger('created_by')->nullable(); - $table->unsignedBigInteger('updated_by')->nullable(); - $table->unsignedBigInteger('deleted_by')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('users'); - } -}; diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php deleted file mode 100644 index 3d3536e..0000000 --- a/database/migrations/2014_10_12_100000_create_password_resets_table.php +++ /dev/null @@ -1,37 +0,0 @@ -string('email')->index(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - $table->softDeletes(); - - $table->unsignedBigInteger('created_by')->nullable(); - $table->unsignedBigInteger('updated_by')->nullable(); - $table->unsignedBigInteger('deleted_by')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('password_resets'); - } -}; diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php deleted file mode 100644 index 579b7f6..0000000 --- a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php +++ /dev/null @@ -1,41 +0,0 @@ -id(); - $table->string('uuid')->unique(); - $table->text('connection'); - $table->text('queue'); - $table->longText('payload'); - $table->longText('exception'); - $table->timestamp('failed_at')->useCurrent(); - $table->softDeletes(); - - $table->unsignedBigInteger('created_by')->nullable(); - $table->unsignedBigInteger('updated_by')->nullable(); - $table->unsignedBigInteger('deleted_by')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('failed_jobs'); - } -}; diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php deleted file mode 100644 index b1259f9..0000000 --- a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php +++ /dev/null @@ -1,42 +0,0 @@ -id(); - $table->morphs('tokenable'); - $table->string('name'); - $table->string('token', 64)->unique(); - $table->text('abilities')->nullable(); - $table->timestamp('last_used_at')->nullable(); - $table->timestamp('expires_at')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->unsignedBigInteger('created_by')->nullable(); - $table->unsignedBigInteger('updated_by')->nullable(); - $table->unsignedBigInteger('deleted_by')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('personal_access_tokens'); - } -}; diff --git a/database/migrations/2023_04_15_221620_create_permission_tables.php b/database/migrations/2023_04_15_221620_create_permission_tables.php deleted file mode 100644 index 04c3278..0000000 --- a/database/migrations/2023_04_15_221620_create_permission_tables.php +++ /dev/null @@ -1,141 +0,0 @@ -bigIncrements('id'); // permission id - $table->string('name'); // For MySQL 8.0 use string('name', 125); - $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); - $table->timestamps(); - - $table->unique(['name', 'guard_name']); - }); - - Schema::create($tableNames['roles'], function (Blueprint $table) use ($teams, $columnNames) { - $table->bigIncrements('id'); // role id - if ($teams || config('permission.testing')) { // permission.testing is a fix for sqlite testing - $table->unsignedBigInteger($columnNames['team_foreign_key'])->nullable(); - $table->index($columnNames['team_foreign_key'], 'roles_team_foreign_key_index'); - } - $table->string('name'); // For MySQL 8.0 use string('name', 125); - $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); - $table->timestamps(); - if ($teams || config('permission.testing')) { - $table->unique([$columnNames['team_foreign_key'], 'name', 'guard_name']); - } else { - $table->unique(['name', 'guard_name']); - } - }); - - Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames, $teams) { - $table->unsignedBigInteger(PermissionRegistrar::$pivotPermission); - - $table->string('model_type'); - $table->unsignedBigInteger($columnNames['model_morph_key']); - $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index'); - - $table->foreign(PermissionRegistrar::$pivotPermission) - ->references('id') // permission id - ->on($tableNames['permissions']) - ->onDelete('cascade'); - if ($teams) { - $table->unsignedBigInteger($columnNames['team_foreign_key']); - $table->index($columnNames['team_foreign_key'], 'model_has_permissions_team_foreign_key_index'); - - $table->primary([$columnNames['team_foreign_key'], PermissionRegistrar::$pivotPermission, $columnNames['model_morph_key'], 'model_type'], - 'model_has_permissions_permission_model_type_primary'); - } else { - $table->primary([PermissionRegistrar::$pivotPermission, $columnNames['model_morph_key'], 'model_type'], - 'model_has_permissions_permission_model_type_primary'); - } - - }); - - Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames, $teams) { - $table->unsignedBigInteger(PermissionRegistrar::$pivotRole); - - $table->string('model_type'); - $table->unsignedBigInteger($columnNames['model_morph_key']); - $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index'); - - $table->foreign(PermissionRegistrar::$pivotRole) - ->references('id') // role id - ->on($tableNames['roles']) - ->onDelete('cascade'); - if ($teams) { - $table->unsignedBigInteger($columnNames['team_foreign_key']); - $table->index($columnNames['team_foreign_key'], 'model_has_roles_team_foreign_key_index'); - - $table->primary([$columnNames['team_foreign_key'], PermissionRegistrar::$pivotRole, $columnNames['model_morph_key'], 'model_type'], - 'model_has_roles_role_model_type_primary'); - } else { - $table->primary([PermissionRegistrar::$pivotRole, $columnNames['model_morph_key'], 'model_type'], - 'model_has_roles_role_model_type_primary'); - } - }); - - Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) { - $table->unsignedBigInteger(PermissionRegistrar::$pivotPermission); - $table->unsignedBigInteger(PermissionRegistrar::$pivotRole); - - $table->foreign(PermissionRegistrar::$pivotPermission) - ->references('id') // permission id - ->on($tableNames['permissions']) - ->onDelete('cascade'); - - $table->foreign(PermissionRegistrar::$pivotRole) - ->references('id') // role id - ->on($tableNames['roles']) - ->onDelete('cascade'); - - $table->primary([PermissionRegistrar::$pivotPermission, PermissionRegistrar::$pivotRole], 'role_has_permissions_permission_id_role_id_primary'); - }); - - app('cache') - ->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null) - ->forget(config('permission.cache.key')); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - $tableNames = config('permission.table_names'); - - if (empty($tableNames)) { - throw new \Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tables manually.'); - } - - Schema::drop($tableNames['role_has_permissions']); - Schema::drop($tableNames['model_has_roles']); - Schema::drop($tableNames['model_has_permissions']); - Schema::drop($tableNames['roles']); - Schema::drop($tableNames['permissions']); - } -} diff --git a/database/migrations/2023_04_15_225705_create_permission_groups_table.php b/database/migrations/2023_04_15_225705_create_permission_groups_table.php deleted file mode 100644 index 7842625..0000000 --- a/database/migrations/2023_04_15_225705_create_permission_groups_table.php +++ /dev/null @@ -1,38 +0,0 @@ -id(); - $table->string('name'); - $table->timestamps(); - $table->softDeletes(); - - $table->unsignedBigInteger('created_by')->nullable(); - $table->unsignedBigInteger('updated_by')->nullable(); - $table->unsignedBigInteger('deleted_by')->nullable(); - - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('permission_groups'); - } - }; diff --git a/database/migrations/2023_04_15_225909_update_permissions_table.php b/database/migrations/2023_04_15_225909_update_permissions_table.php deleted file mode 100644 index 7aad149..0000000 --- a/database/migrations/2023_04_15_225909_update_permissions_table.php +++ /dev/null @@ -1,28 +0,0 @@ -foreignIdFor(PermissionGroup::class); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropForeignKey('permission_group_id'); - Schema::dropColumn('permission_group_id'); - } -}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index b32f9fd..ac676c4 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,9 +3,10 @@ namespace Database\Seeders; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; - use Illuminate\Database\Seeder; + use Illuminate\Database\Seeder; + use Modules\UserManager\Database\Seeders\UsersSeeder; - class DatabaseSeeder extends Seeder + class DatabaseSeeder extends Seeder { /** * Seed the application's database. @@ -14,15 +15,6 @@ */ public function run() { - $this->call([ - UsersSeeder::class - ]); - // \App\Models\User::factory(10)->create(); - - // \App\Models\User::factory()->create([ - // 'name' => 'Test User', - // 'email' => 'test@example.com', - // ]); } } diff --git a/database/seeders/UsersSeeder.php b/database/seeders/UsersSeeder.php deleted file mode 100644 index 0a32345..0000000 --- a/database/seeders/UsersSeeder.php +++ /dev/null @@ -1,33 +0,0 @@ - $faker->name, - 'email' => 'demo@demo.com', - 'password' => Hash::make('demo'), - 'email_verified_at' => now(), - ]); - - $demoUser2 = User::create([ - 'name' => $faker->name, - 'email' => 'admin@demo.com', - 'password' => Hash::make('demo'), - 'email_verified_at' => now(), - ]); - } -} diff --git a/modules_statuses.json b/modules_statuses.json index 102d222..be476f9 100644 --- a/modules_statuses.json +++ b/modules_statuses.json @@ -1,3 +1,5 @@ { - "CetakLabel": true -} \ No newline at end of file + "CetakLabel": true, + "Logs": true, + "UserManager": true +} diff --git a/resources/views/pages/auth/forgot-password.blade.php b/resources/views/pages/auth/forgot-password.blade.php deleted file mode 100644 index be1adac..0000000 --- a/resources/views/pages/auth/forgot-password.blade.php +++ /dev/null @@ -1,41 +0,0 @@ - - - -
- @csrf - -
- -

- Forgot Password ? -

- - - -
- Enter your email to reset your password. -
- -
- - - -
- - - -
- - -
- - - Cancel -
- -
- - -
diff --git a/resources/views/pages/auth/login.blade.php b/resources/views/pages/auth/login.blade.php deleted file mode 100644 index 9561408..0000000 --- a/resources/views/pages/auth/login.blade.php +++ /dev/null @@ -1,102 +0,0 @@ - - - -
- @csrf - -
- -

- Sign In -

- - - -
- Your Social Campaigns -
- -
- - - - - - - -
- Or with email -
- - - -
- - - -
- - -
- - - -
- - - - - - - -
- -
- - - -
- Not a Member yet? - - - Sign up - -
- -
- - -
diff --git a/resources/views/pages/auth/register.blade.php b/resources/views/pages/auth/register.blade.php deleted file mode 100644 index 96283be..0000000 --- a/resources/views/pages/auth/register.blade.php +++ /dev/null @@ -1,142 +0,0 @@ - - - -
- @csrf - -
- -

- Sign Up -

- - - -
- Your Social Campaigns -
- -
- - - - - - - -
- Or with email -
- - - -
- - - -
- - -
- - - -
- - -
- -
- -
- - - - - - -
- - - -
-
-
-
-
-
- -
- - - -
- Use 8 or more characters with a mix of letters, numbers & symbols. -
- -
- - - -
- - - -
- - - -
- -
- - - -
- -
- - - -
- Already have an Account? - - - Sign in - -
- -
- - -
diff --git a/resources/views/pages/auth/reset-password.blade.php b/resources/views/pages/auth/reset-password.blade.php deleted file mode 100644 index 6b0d9b1..0000000 --- a/resources/views/pages/auth/reset-password.blade.php +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - -
- @csrf - - - - - -
- - - - - -
- - -
- - - - - -
- - -
- - - - - -
- -
- - {{ __('Reset Password') }} - -
-
-
-
diff --git a/resources/views/pages/masters/directorat/_action.blade.php b/resources/views/pages/masters/directorat/_action.blade.php deleted file mode 100644 index a763751..0000000 --- a/resources/views/pages/masters/directorat/_action.blade.php +++ /dev/null @@ -1,13 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp -
- - {!! getIcon("pencil", "fs-1 text-info","duotune") !!} - - - {!! Form::open(['method' => 'DELETE','route' => [$route[0].'.destroy', $model->id],'class'=>'']) !!} - {{ Form::button(getIcon("trash", "fs-1 text-danger","duotune"), ['type' => 'submit', 'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm'] ) }} - {!! Form::close() !!} -
diff --git a/resources/views/pages/masters/directorat/_form.blade.php b/resources/views/pages/masters/directorat/_form.blade.php deleted file mode 100644 index 98c7455..0000000 --- a/resources/views/pages/masters/directorat/_form.blade.php +++ /dev/null @@ -1,70 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - - diff --git a/resources/views/pages/masters/directorat/_table.blade.php b/resources/views/pages/masters/directorat/_table.blade.php deleted file mode 100644 index 0d3f296..0000000 --- a/resources/views/pages/masters/directorat/_table.blade.php +++ /dev/null @@ -1,116 +0,0 @@ - -{{ $dataTable->table() }} - - -{{-- Inject Scripts --}} -@section('scripts') - {{ $dataTable->scripts() }} -@endsection - -@push('customscript') - @php - $route = explode('.', Route::currentRouteName()); - @endphp - - -@endpush - -@section('styles') - -@endsection diff --git a/resources/views/pages/masters/directorat/index.blade.php b/resources/views/pages/masters/directorat/index.blade.php deleted file mode 100644 index f6d3589..0000000 --- a/resources/views/pages/masters/directorat/index.blade.php +++ /dev/null @@ -1,131 +0,0 @@ - - -
- -
-
-
- - - - - - - - - -
- - -
- - -
- -
- - - - - - - -
- - -
-
-
- @include('pages.masters.directorat._table') - @include('pages.masters.directorat._form') -
- -
- - @push('customscript') - - @endpush -
diff --git a/resources/views/pages/users/permissions/_action.blade.php b/resources/views/pages/users/permissions/_action.blade.php deleted file mode 100644 index 3ea2ecb..0000000 --- a/resources/views/pages/users/permissions/_action.blade.php +++ /dev/null @@ -1,13 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp -
- - {!! getIcon("pencil", "fs-1 text-info","duotune") !!} - - - {!! Form::open(['method' => 'DELETE','route' => [$route[0].'.'.$route[1].'.destroy', $model->id],'class'=>'']) !!} - {{ Form::button(getIcon("trash", "fs-1 text-danger","duotune"), ['type' => 'submit', 'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm'] ) }} - {!! Form::close() !!} -
diff --git a/resources/views/pages/users/permissions/_checkbox.blade.php b/resources/views/pages/users/permissions/_checkbox.blade.php deleted file mode 100644 index 04631f2..0000000 --- a/resources/views/pages/users/permissions/_checkbox.blade.php +++ /dev/null @@ -1,21 +0,0 @@ - - @php - $color = [ - 'badge-white', - 'badge-light-primary',# - 'badge-light-dark',# - 'badge-secondary', - 'badge-light-success',# - 'badge-light-info',# - 'badge-light-warning',# - 'badge-light-danger'# - ]; - - $i = 1; - - @endphp - @foreach($role as $row) - {{ $row->name }} - @php $i++ @endphp - @endforeach - diff --git a/resources/views/pages/users/permissions/_form.blade.php b/resources/views/pages/users/permissions/_form.blade.php deleted file mode 100644 index 7e532ab..0000000 --- a/resources/views/pages/users/permissions/_form.blade.php +++ /dev/null @@ -1,58 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - - diff --git a/resources/views/pages/users/permissions/_table.blade.php b/resources/views/pages/users/permissions/_table.blade.php deleted file mode 100644 index 1d8b2af..0000000 --- a/resources/views/pages/users/permissions/_table.blade.php +++ /dev/null @@ -1,116 +0,0 @@ - -{{ $dataTable->table() }} - - -{{-- Inject Scripts --}} -@section('scripts') - {{ $dataTable->scripts() }} -@endsection - -@push('customscript') - @php - $route = explode('.', Route::currentRouteName()); - @endphp - - -@endpush - -@section('styles') - -@endsection diff --git a/resources/views/pages/users/permissions/index.blade.php b/resources/views/pages/users/permissions/index.blade.php deleted file mode 100644 index 5bf8fdc..0000000 --- a/resources/views/pages/users/permissions/index.blade.php +++ /dev/null @@ -1,135 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - -
- -
-
-
- - - - - - - - - -
- - -
- - -
- -
- - - - - - - -
- - -
-
-
- @include('pages.users.permissions._table') - @include('pages.users.permissions._form') -
- -
- - @push('customscript') - - @endpush -
diff --git a/resources/views/pages/users/roles/_action.blade.php b/resources/views/pages/users/roles/_action.blade.php deleted file mode 100644 index 7c24f5b..0000000 --- a/resources/views/pages/users/roles/_action.blade.php +++ /dev/null @@ -1,13 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp -
- - {!! getIcon("pencil", "fs-1 text-info","duotune") !!} - - - {!! Form::open(['method' => 'DELETE','route' => [$route[0].'.'.$route[1].'.destroy', $model->id],'class'=>'']) !!} - {{ Form::button(getIcon("trash", "fs-1 text-danger","duotune"), ['type' => 'submit', 'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm'] ) }} - {!! Form::close() !!} -
diff --git a/resources/views/pages/users/roles/_editform.blade.php b/resources/views/pages/users/roles/_editform.blade.php deleted file mode 100644 index 6c382a9..0000000 --- a/resources/views/pages/users/roles/_editform.blade.php +++ /dev/null @@ -1,142 +0,0 @@ -
-@method('PUT') -{{ csrf_field() }} - -
- -
- - - - -
- -
- @error('name') -
{{ $message }}
- @enderror - -
- -
- - - - -
- - - - - - - - - - - @foreach($permissiongroups as $group) - - - - - - - - - - - @endforeach - - -
Administrator/Superuser Access - - - - -
{{ $group->name }} - -
- @foreach($group->getpermissionsByGroupId($group->id) as $permission) - - - - @endforeach -
- -
- -
- -
- -
- - -
- - Cancel - - -
- -
- -@push('customscript') - -@endpush - diff --git a/resources/views/pages/users/roles/_form.blade.php b/resources/views/pages/users/roles/_form.blade.php deleted file mode 100644 index 1271645..0000000 --- a/resources/views/pages/users/roles/_form.blade.php +++ /dev/null @@ -1,160 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - - - -@push('customscript') - -@endpush diff --git a/resources/views/pages/users/roles/_table.blade.php b/resources/views/pages/users/roles/_table.blade.php deleted file mode 100644 index 99766ac..0000000 --- a/resources/views/pages/users/roles/_table.blade.php +++ /dev/null @@ -1,99 +0,0 @@ - -{{ $dataTable->table() }} - - -{{-- Inject Scripts --}} -@section('scripts') - {{ $dataTable->scripts() }} -@endsection - -@push('customscript') - @php - $route = explode('.', Route::currentRouteName()); - @endphp - - -@endpush - -@section('styles') - -@endsection diff --git a/resources/views/pages/users/roles/edit.blade.php b/resources/views/pages/users/roles/edit.blade.php deleted file mode 100644 index da34bd9..0000000 --- a/resources/views/pages/users/roles/edit.blade.php +++ /dev/null @@ -1,16 +0,0 @@ - - -
- -
-

- Edit Role {{ $role->name }} -

-
-
- @include('pages.users.roles._editform') -
- -
- -
diff --git a/resources/views/pages/users/roles/index.blade.php b/resources/views/pages/users/roles/index.blade.php deleted file mode 100644 index 67ef860..0000000 --- a/resources/views/pages/users/roles/index.blade.php +++ /dev/null @@ -1,135 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - -
- -
-
-
- - - - - - - - - -
- - -
- - -
- -
- - - - - - - -
- - -
-
-
- @include('pages.users.roles._table') - @include('pages.users.roles._form') -
- -
- - @push('customscript') - - @endpush -
diff --git a/resources/views/pages/users/users/_action.blade.php b/resources/views/pages/users/users/_action.blade.php deleted file mode 100644 index dc1a612..0000000 --- a/resources/views/pages/users/users/_action.blade.php +++ /dev/null @@ -1,13 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp -
- - {!! getIcon("pencil", "fs-1 text-info","duotune") !!} - - - {!! Form::open(['method' => 'DELETE','route' => [$route[0].'.'.$route[1].'.destroy', $model->id],'class'=>'']) !!} - {{ Form::button(getIcon("trash", "fs-1 text-danger","duotune"), ['type' => 'submit', 'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm'] ) }} - {!! Form::close() !!} -
diff --git a/resources/views/pages/users/users/_form.blade.php b/resources/views/pages/users/users/_form.blade.php deleted file mode 100644 index 388e766..0000000 --- a/resources/views/pages/users/users/_form.blade.php +++ /dev/null @@ -1,142 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - - diff --git a/resources/views/pages/users/users/_table.blade.php b/resources/views/pages/users/users/_table.blade.php deleted file mode 100644 index 62ff3fb..0000000 --- a/resources/views/pages/users/users/_table.blade.php +++ /dev/null @@ -1,127 +0,0 @@ - -{{ $dataTable->table() }} - - -{{-- Inject Scripts --}} -@section('scripts') - {{ $dataTable->scripts() }} -@endsection - -@push('customscript') - @php - $route = explode('.', Route::currentRouteName()); - @endphp - - -@endpush - -@section('styles') - -@endsection diff --git a/resources/views/pages/users/users/index.blade.php b/resources/views/pages/users/users/index.blade.php deleted file mode 100644 index c8bb85e..0000000 --- a/resources/views/pages/users/users/index.blade.php +++ /dev/null @@ -1,141 +0,0 @@ -@php - $route = explode('.', Route::currentRouteName()); -@endphp - - - -
- -
-
-
- - - - - - - - - -
- - -
- - -
- -
- - - - - - - -
- - -
-
-
- @include('pages.users.users._table') - @include('pages.users.users._form') -
- -
- - @push('customscript') - - @endpush -
diff --git a/routes/api.php b/routes/api.php index cf61d40..06b05d2 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,20 +1,20 @@ group(function () { - Route::get('register', [RegisteredUserController::class, 'create']) - ->name('register'); - - Route::post('register', [RegisteredUserController::class, 'store']); - - Route::get('login', [AuthenticatedSessionController::class, 'create']) - ->name('login'); - - Route::post('login', [AuthenticatedSessionController::class, 'store']); - - Route::get('forgot-password', [PasswordResetLinkController::class, 'create']) - ->name('password.request'); - - Route::post('forgot-password', [PasswordResetLinkController::class, 'store']) - ->name('password.email'); - - Route::get('reset-password/{token}', [NewPasswordController::class, 'create']) - ->name('password.reset'); - - Route::post('reset-password', [NewPasswordController::class, 'store']) - ->name('password.update'); -}); - -Route::middleware('auth')->group(function () { - Route::get('verify-email', [EmailVerificationPromptController::class, '__invoke']) - ->name('verification.notice'); - - Route::get('verify-email/{id}/{hash}', [VerifyEmailController::class, '__invoke']) - ->middleware(['signed', 'throttle:6,1']) - ->name('verification.verify'); - - Route::post('email/verification-notification', [EmailVerificationNotificationController::class, 'store']) - ->middleware('throttle:6,1') - ->name('verification.send'); - - Route::get('confirm-password', [ConfirmablePasswordController::class, 'show']) - ->name('password.confirm'); - - Route::post('confirm-password', [ConfirmablePasswordController::class, 'store']); - - Route::get('logout', [AuthenticatedSessionController::class, 'destroy']) - ->name('logout'); -}); diff --git a/routes/web.php b/routes/web.php index 02b8f32..152488f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,6 @@ ['auth', 'verified']], function () { Route::get('/', [DashboardController::class, 'index'])->middleware(['auth', 'verified']); Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); - - // Master Data Cetak Label - - Route::prefix('master')->name('master.')->group(function(){ - - }); - - // Users Management - Route::prefix('user')->name('user.')->group(function(){ - Route::resource('roles', RolesController::class); - Route::resource('permissions', PermissionsController::class); - Route::resource('users', UsersController::class); - }); }); - - - Route::get('/error', function () { abort(500); }); - -require __DIR__.'/auth.php'; diff --git a/tests/Feature/Auth/AuthenticationTest.php b/tests/Feature/Auth/AuthenticationTest.php index 075a4c2..e2c0197 100644 --- a/tests/Feature/Auth/AuthenticationTest.php +++ b/tests/Feature/Auth/AuthenticationTest.php @@ -2,9 +2,9 @@ namespace Tests\Feature\Auth; -use App\Models\User; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Testing\RefreshDatabase; +use Modules\UserManager\Entities\User; use Tests\TestCase; class AuthenticationTest extends TestCase diff --git a/tests/Feature/Auth/EmailVerificationTest.php b/tests/Feature/Auth/EmailVerificationTest.php index e61810e..f66bf3a 100644 --- a/tests/Feature/Auth/EmailVerificationTest.php +++ b/tests/Feature/Auth/EmailVerificationTest.php @@ -2,12 +2,12 @@ namespace Tests\Feature\Auth; -use App\Models\User; use App\Providers\RouteServiceProvider; use Illuminate\Auth\Events\Verified; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\URL; +use Modules\UserManager\Entities\User; use Tests\TestCase; class EmailVerificationTest extends TestCase diff --git a/tests/Feature/Auth/PasswordConfirmationTest.php b/tests/Feature/Auth/PasswordConfirmationTest.php index d2072ff..f29b0a1 100644 --- a/tests/Feature/Auth/PasswordConfirmationTest.php +++ b/tests/Feature/Auth/PasswordConfirmationTest.php @@ -2,8 +2,8 @@ namespace Tests\Feature\Auth; -use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; +use Modules\UserManager\Entities\User; use Tests\TestCase; class PasswordConfirmationTest extends TestCase diff --git a/tests/Feature/Auth/PasswordResetTest.php b/tests/Feature/Auth/PasswordResetTest.php index b2cd77a..cc6e189 100644 --- a/tests/Feature/Auth/PasswordResetTest.php +++ b/tests/Feature/Auth/PasswordResetTest.php @@ -2,10 +2,10 @@ namespace Tests\Feature\Auth; -use App\Models\User; use Illuminate\Auth\Notifications\ResetPassword; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Notification; +use Modules\UserManager\Entities\User; use Tests\TestCase; class PasswordResetTest extends TestCase