programs cont
This commit is contained in:
parent
a3bebf3976
commit
350fdd3520
4 changed files with 27 additions and 7 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Requests;
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
|
use App\Models\Program;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
class ProgramRequest extends FormRequest
|
class ProgramRequest extends FormRequest
|
||||||
|
@ -18,6 +19,12 @@ public function rules(): array
|
||||||
|
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return true;
|
if ($this->routeIs('programs.store')) {
|
||||||
|
return $this->user()->can('create', Program::class);
|
||||||
|
} elseif ($this->routeIs('programs.update')) {
|
||||||
|
return $this->user()->can('update', $this->route('program'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
use App\Models\Program;
|
use App\Models\Program;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class ProgramPolicy
|
class ProgramPolicy
|
||||||
{
|
{
|
||||||
|
@ -12,30 +13,36 @@ class ProgramPolicy
|
||||||
|
|
||||||
public function viewAny(User $user): bool
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function view(User $user, Program $program): bool
|
public function view(User $user, Program $program): bool
|
||||||
{
|
{
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create(User $user): bool
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
|
return Auth::check();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(User $user, Program $program): bool
|
public function update(User $user, Program $program): bool
|
||||||
{
|
{
|
||||||
|
return Auth::check();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete(User $user, Program $program): bool
|
public function delete(User $user, Program $program): bool
|
||||||
{
|
{
|
||||||
|
return Auth::check();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function restore(User $user, Program $program): bool
|
public function restore(User $user, Program $program): bool
|
||||||
{
|
{
|
||||||
|
return Auth::check();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function forceDelete(User $user, Program $program): bool
|
public function forceDelete(User $user, Program $program): bool
|
||||||
{
|
{
|
||||||
|
return Auth::check();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,11 +24,15 @@ public function run(): void
|
||||||
'password' => 'password',
|
'password' => 'password',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Category::factory(20)->create();
|
Category::factory(20)
|
||||||
Category::factory(10)->trashed()->create();
|
->has(Program::factory()->count(3))
|
||||||
|
->has(Program::factory()->trashed()->count(1))
|
||||||
|
->create();
|
||||||
|
|
||||||
$categories = Category::all();
|
Category::factory(10)
|
||||||
Program::factory(40)->recycle($categories)->create();
|
->has(Program::factory()->count(1))
|
||||||
Program::factory(20)->recycle($categories)->trashed()->create();
|
->has(Program::factory()->trashed()->count(1))
|
||||||
|
->trashed()
|
||||||
|
->create();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use App\Http\Controllers\CategoryController;
|
use App\Http\Controllers\CategoryController;
|
||||||
use App\Http\Controllers\ProfileController;
|
use App\Http\Controllers\ProfileController;
|
||||||
|
use App\Http\Controllers\ProgramController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::get('/', function () {
|
Route::get('/', function () {
|
||||||
|
@ -25,4 +26,5 @@
|
||||||
|
|
||||||
Route::resources([
|
Route::resources([
|
||||||
'categories' => CategoryController::class,
|
'categories' => CategoryController::class,
|
||||||
|
'programs' => ProgramController::class
|
||||||
]);
|
]);
|
||||||
|
|
Loading…
Reference in a new issue