diff --git a/README.md b/README.md index 120b337..4314745 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,10 @@ ], ``` -#### 2. If ***NOT*** installed, let's requiere jetstream and install livewire +#### 2. If ***NOT*** installed, let's requiere jetstream and install inertia ``` composer require laravel/jetstream -php artisan jetstream:install livewire +php artisan jetstream:install inertia --teams ``` #### 3. Require the package @@ -49,6 +49,7 @@ If not, install these seeds manually ``` php artisan db:seed --class="Anibalealvarezs\Projectbuilder\Database\Seeders\PbSpatieSeeder" php artisan db:seed --class="Anibalealvarezs\Projectbuilder\Database\Seeders\PbUsersSeeder" +php artisan db:seed --class="Anibalealvarezs\Projectbuilder\Database\Seeders\PbTeamSeeder" php artisan db:seed --class="Anibalealvarezs\Projectbuilder\Database\Seeders\PbLoggerSeeder" php artisan db:seed --class="Anibalealvarezs\Projectbuilder\Database\Seeders\PbConfigSeeder" ``` @@ -85,4 +86,4 @@ php artisan optimize ### Developing Suite -Clone the BuilderDev repository in order to continue this package developing \ No newline at end of file +Clone the BuilderDev repository in order to continue this package developing diff --git a/composer.json b/composer.json index 3d7690d..ead2087 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ ], "homepage": "https://anibalalvarez.com", "license": "MIT", - "version" : "1.0.17", + "version" : "1.1.0", "type" : "package", "authors": [ { @@ -20,12 +20,16 @@ } ], "require": { - "php" : "^7.3", - "laravel/framework": "^8.0", - "laravel/jetstream": "^1.6", + "php": "^7.3|^8.0", + "fideloper/proxy": "^4.4", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "inertiajs/inertia-laravel": "^0.3.5", + "laravel/framework": "^8.12", + "laravel/jetstream": "^2.2", "laravel/sanctum": "^2.6", - "laravel/tinker": "^2.0", - "livewire/livewire": "^2.0", + "laravel/tinker": "^2.5", + "tightenco/ziggy": "^1.0", "spatie/laravel-permission": "^3.17", "spatie/laravel-translatable": "^4.6" }, @@ -53,4 +57,4 @@ }, "minimum-stability": "dev", "prefer-stable": true -} \ No newline at end of file +} diff --git a/src/Controllers/Calculator/PbCalculatorController.php b/src/Controllers/Calculator/PbCalculatorController.php deleted file mode 100644 index c872d54..0000000 --- a/src/Controllers/Calculator/PbCalculatorController.php +++ /dev/null @@ -1,21 +0,0 @@ -middleware(['auth', 'isAdmin']); //isAdmin middleware lets only users with a //specific permission permission to access these resources - } -} +middleware(['auth', 'isAdmin']); //isAdmin middleware lets only users with a //specific permission permission to access these resources + } +} diff --git a/src/Controllers/Permission/PbRoleController.php b/src/Controllers/Permission/PbRoleController.php index bec2d18..e432f9c 100644 --- a/src/Controllers/Permission/PbRoleController.php +++ b/src/Controllers/Permission/PbRoleController.php @@ -1,24 +1,24 @@ -middleware(['auth', 'isAdmin']);//isAdmin middleware lets only users with a //specific permission permission to access these resources - } -} +middleware(['auth', 'isAdmin']);//isAdmin middleware lets only users with a //specific permission permission to access these resources + } +} diff --git a/src/Controllers/User/PbUserController.php b/src/Controllers/User/PbUserController.php index e5cc363..41eff4d 100644 --- a/src/Controllers/User/PbUserController.php +++ b/src/Controllers/User/PbUserController.php @@ -11,10 +11,6 @@ use Auth; use DB; -//Importing laravel-permission models -use Spatie\Permission\Models\Role; -use Spatie\Permission\Models\Permission; - //Enables us to output flash messaging use Session; @@ -27,7 +23,10 @@ class PbUserController extends Controller */ public function index() { - // + $users = PbUser::latest()->paginate(5); + + return view('builder::modules.users.index', compact('users')) + ->with('i', (request()->input('page', 1) - 1) * 5); } /** @@ -37,7 +36,7 @@ public function index() */ public function create() { - // + return view('builder::modules.users.create'); } /** @@ -48,7 +47,16 @@ public function create() */ public function store(Request $request) { - // + $request->validate([ + 'name' => 'required', + 'email' => 'required', + 'password' => 'required' + ]); + + PbUser::create($request->all()); + + return redirect()->route('builder::modules.users.index') + ->with('success', 'User created successfully.'); } /** @@ -57,9 +65,9 @@ public function store(Request $request) * @param int $id * @return \Illuminate\Http\Response */ - public function show($id) + public function show($user) { - // + return view('builder::modules.users.show', compact('user')); } /** @@ -68,9 +76,9 @@ public function show($id) * @param int $id * @return \Illuminate\Http\Response */ - public function edit($id) + public function edit($user) { - // + return view('builder::modules.users.edit', compact('user')); } /** @@ -80,9 +88,17 @@ public function edit($id) * @param int $id * @return \Illuminate\Http\Response */ - public function update(Request $request, $id) + public function update(Request $request, $user) { - // + $request->validate([ + 'name' => 'required', + 'email' => 'required', + 'password' => 'required' + ]); + $user->update($request->all()); + + return redirect()->route('builder::modules.users.index') + ->with('success', 'User updated successfully'); } /** @@ -91,8 +107,11 @@ public function update(Request $request, $id) * @param int $id * @return \Illuminate\Http\Response */ - public function destroy($id) + public function destroy($user) { - // + $user->delete(); + + return redirect()->route('builder::modules.users.index') + ->with('success', 'User deleted successfully'); } } diff --git a/src/Database/Seeders/PbConfigSeeder.php b/src/Database/Seeders/PbConfigSeeder.php index 71b7764..ed3134f 100644 --- a/src/Database/Seeders/PbConfigSeeder.php +++ b/src/Database/Seeders/PbConfigSeeder.php @@ -2,7 +2,7 @@ namespace Anibalealvarezs\Projectbuilder\Database\Seeders; -use Anibalealvarezs\Projectbuilder\Models\PbConfig; +use Anibalealvarezs\Projectbuilder\Models\PbConfig as Config; use Illuminate\Database\Seeder; class PbConfigSeeder extends Seeder @@ -15,7 +15,7 @@ class PbConfigSeeder extends Seeder public function run() { // Default Config - PbConfig::create(['key' => '_APP_NAME_', 'value' => 'Builder']); - PbConfig::create(['key' => '_FORCE_HTTPS_', 'value' => false]); + Config::create(['key' => '_APP_NAME_', 'value' => 'Builder']); + Config::create(['key' => '_FORCE_HTTPS_', 'value' => false]); } } diff --git a/src/Database/Seeders/PbTeamSeeder.php b/src/Database/Seeders/PbTeamSeeder.php new file mode 100644 index 0000000..11a53f4 --- /dev/null +++ b/src/Database/Seeders/PbTeamSeeder.php @@ -0,0 +1,34 @@ +name = 'SuperAdmin'; + $team->personal_team = 1; + $team->user_id = 1; + $team->save(); + + // Admin + $team = new Team(); + $team->name = 'Admin'; + $team->personal_team = 1; + $team->user_id = 1; + $team->save(); + } +} diff --git a/src/Database/Seeders/PbUsersSeeder.php b/src/Database/Seeders/PbUsersSeeder.php index db51495..1f552c5 100644 --- a/src/Database/Seeders/PbUsersSeeder.php +++ b/src/Database/Seeders/PbUsersSeeder.php @@ -4,6 +4,7 @@ use Illuminate\Database\Seeder; use Anibalealvarezs\Projectbuilder\Models\PbUser as User; +use Illuminate\Support\Facades\Config; use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Permission; use Illuminate\Support\Facades\Hash; @@ -22,18 +23,20 @@ public function run() { // anibalealvarezs $user = new User(); - $user->password = Hash::make('NoEntiendo2321'); + $user->password = Hash::make('NoEntiendo2321', Config::get('hashing.'.Config::get('hashing.driver'))); $user->email = 'anibalealvarezs@gmail.com'; $user->name = 'Aníbal Álvarez'; + $user->current_team_id = 1; $user->save(); // SuperAdmin $user->assignRole('super-admin'); // client $user = new User(); - $user->password = Hash::make('Client321'); - $user->email = 'client@client'; - $user->name = 'Client'; + $user->password = Hash::make('Client321', Config::get('hashing.'.Config::get('hashing.driver'))); + $user->email = 'Admin@admin'; + $user->name = 'Admin'; + $user->current_team_id = 2; $user->save(); // Admin $user->assignRole('admin'); diff --git a/src/Models/PbRoles.php b/src/Models/PbRoles.php index 53e95fa..46f71af 100644 --- a/src/Models/PbRoles.php +++ b/src/Models/PbRoles.php @@ -1,10 +1,10 @@ -attributes['password'] = bcrypt($password); - } -} \ No newline at end of file +attributes['password'] = bcrypt($password); + } +} diff --git a/src/Providers/PbControllerServiceProvider.php b/src/Providers/PbControllerServiceProvider.php index ff8438c..e5d319c 100644 --- a/src/Providers/PbControllerServiceProvider.php +++ b/src/Providers/PbControllerServiceProvider.php @@ -1,39 +1,38 @@ -app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbForgotPasswordController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbLoginController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbRegisterController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbResetPasswordController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Calculator\PbCalculatorController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Config\PbConfigController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Logger\PbLoggerController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Permission\PbPermissionController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Permission\PbRoleController'); - $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\User\PbUserController'); - } -} \ No newline at end of file +app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbForgotPasswordController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbLoginController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbRegisterController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Auth\PbResetPasswordController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Config\PbConfigController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Logger\PbLoggerController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Permission\PbPermissionController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\Permission\PbRoleController'); + $this->app->make('Anibalealvarezs\Projectbuilder\Controllers\User\PbUserController'); + } +} diff --git a/src/ViewComposers/ScriptsComposer.php b/src/ViewComposers/ScriptsComposer.php index b994b6b..2dba92f 100644 --- a/src/ViewComposers/ScriptsComposer.php +++ b/src/ViewComposers/ScriptsComposer.php @@ -1,25 +1,23 @@ - 'jQuery', 'src' => asset('pbstorage/plugins/jquery/jquery.min.js') ], - [ 'comment' => 'Bootstrap 4', 'src' => asset('pbstorage/plugins/bootstrap/js/bootstrap.bundle.min.js') ], - [ 'comment' => 'AdminLTE App', 'src' => asset('pbstorage/js/adminlte.min.js') ] - ]; - - $view->with(['scripts' => $scripts]); - } - -} \ No newline at end of file +with(['scripts' => $scripts]); + } + +} diff --git a/src/ViewComposers/StylesComposer.php b/src/ViewComposers/StylesComposer.php index bdf91ba..5bfe819 100644 --- a/src/ViewComposers/StylesComposer.php +++ b/src/ViewComposers/StylesComposer.php @@ -1,25 +1,22 @@ - 'Google Font: Source Sans Pro', 'href' => 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback' ], - [ 'comment' => 'Font Awesome', 'href' => asset('pbstorage/plugins/fontawesome-free/css/all.min.css') ], - [ 'comment' => 'icheck bootstrap', 'href' => asset('pbstorage/plugins/icheck-bootstrap/icheck-bootstrap.min.css') ], - [ 'comment' => 'Theme style', 'href' => asset('pbstorage/css/adminlte.min.css') ] - ]; - - $view->with(['styles' => $styles]); - } - -} \ No newline at end of file +with(['styles' => $styles]); + } + +} diff --git a/src/routes.php b/src/routes.php index 2a76ff8..e13c753 100644 --- a/src/routes.php +++ b/src/routes.php @@ -1,9 +1,8 @@ where(['a' => '[-0-9]+', 'b' => '[0-9]+']); -Route::get('substract/{a}/{b}', [Calculator::class, 'substract'])->where(['a' => '[-0-9]+', 'b' => '[0-9]+']); +Route::resource('users', UserController::class)->name('*', 'users'); Route::get('/clear-cache', function() { Artisan::call('cache:clear'); diff --git a/src/views/modules/users/index.blade.php b/src/views/modules/users/index.blade.php new file mode 100644 index 0000000..bdfc705 --- /dev/null +++ b/src/views/modules/users/index.blade.php @@ -0,0 +1,20 @@ + + +

+ {{ __('Users\' Index') }} +

+
+ +
+
+
+
+
+
User's Index
+ {{-- --}}} +
+
+
+
+
+
\ No newline at end of file