1
0
forked from poc/pds

Added and updated policy

This commit is contained in:
dhanabalan
2025-04-23 14:42:33 +05:30
parent 01f8eae2f7
commit 7fd2810278
18 changed files with 1567 additions and 9 deletions

View File

@@ -36,7 +36,8 @@ class BlockPolicy
*/ */
public function update(User $user, Block $block): bool public function update(User $user, Block $block): bool
{ {
return false; return $user->hasPermissionTo('update Block');
// return false;
} }
/** /**
@@ -44,7 +45,8 @@ class BlockPolicy
*/ */
public function delete(User $user, Block $block): bool public function delete(User $user, Block $block): bool
{ {
return false; return $user->hasPermissionTo('delete Block');
// return false;
} }
/** /**
@@ -52,7 +54,8 @@ class BlockPolicy
*/ */
public function restore(User $user, Block $block): bool public function restore(User $user, Block $block): bool
{ {
return false; return $user->hasPermissionTo('restore Block');
// return false;
} }
/** /**
@@ -60,6 +63,7 @@ class BlockPolicy
*/ */
public function forceDelete(User $user, Block $block): bool public function forceDelete(User $user, Block $block): bool
{ {
return false; return $user->hasPermissionTo('force delete Block');
// return false;
} }
} }

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\Company;
use App\Models\User;
class CompanyPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any Company');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Company $company): bool
{
return $user->checkPermissionTo('view Company');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create Company');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Company $company): bool
{
return $user->checkPermissionTo('update Company');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Company $company): bool
{
return $user->checkPermissionTo('delete Company');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any Company');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Company $company): bool
{
return $user->checkPermissionTo('restore Company');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any Company');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, Company $company): bool
{
return $user->checkPermissionTo('replicate Company');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder Company');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Company $company): bool
{
return $user->checkPermissionTo('force-delete Company');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any Company');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\InvoiceValidation;
use App\Models\User;
class InvoiceValidationPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any InvoiceValidation');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, InvoiceValidation $invoicevalidation): bool
{
return $user->checkPermissionTo('view InvoiceValidation');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create InvoiceValidation');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, InvoiceValidation $invoicevalidation): bool
{
return $user->checkPermissionTo('update InvoiceValidation');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, InvoiceValidation $invoicevalidation): bool
{
return $user->checkPermissionTo('delete InvoiceValidation');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any InvoiceValidation');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, InvoiceValidation $invoicevalidation): bool
{
return $user->checkPermissionTo('restore InvoiceValidation');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any InvoiceValidation');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, InvoiceValidation $invoicevalidation): bool
{
return $user->checkPermissionTo('replicate InvoiceValidation');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder InvoiceValidation');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, InvoiceValidation $invoicevalidation): bool
{
return $user->checkPermissionTo('force-delete InvoiceValidation');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any InvoiceValidation');
}
}

106
app/Policies/ItemPolicy.php Normal file
View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\Item;
use App\Models\User;
class ItemPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any Item');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Item $item): bool
{
return $user->checkPermissionTo('view Item');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create Item');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Item $item): bool
{
return $user->checkPermissionTo('update Item');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Item $item): bool
{
return $user->checkPermissionTo('delete Item');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any Item');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Item $item): bool
{
return $user->checkPermissionTo('restore Item');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any Item');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, Item $item): bool
{
return $user->checkPermissionTo('replicate Item');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder Item');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Item $item): bool
{
return $user->checkPermissionTo('force-delete Item');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any Item');
}
}

106
app/Policies/LinePolicy.php Normal file
View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\Line;
use App\Models\User;
class LinePolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any Line');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Line $line): bool
{
return $user->checkPermissionTo('view Line');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create Line');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Line $line): bool
{
return $user->checkPermissionTo('update Line');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Line $line): bool
{
return $user->checkPermissionTo('delete Line');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any Line');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Line $line): bool
{
return $user->checkPermissionTo('restore Line');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any Line');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, Line $line): bool
{
return $user->checkPermissionTo('replicate Line');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder Line');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Line $line): bool
{
return $user->checkPermissionTo('force-delete Line');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any Line');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\LineStop;
use App\Models\User;
class LineStopPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any LineStop');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, LineStop $linestop): bool
{
return $user->checkPermissionTo('view LineStop');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create LineStop');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, LineStop $linestop): bool
{
return $user->checkPermissionTo('update LineStop');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, LineStop $linestop): bool
{
return $user->checkPermissionTo('delete LineStop');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any LineStop');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, LineStop $linestop): bool
{
return $user->checkPermissionTo('restore LineStop');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any LineStop');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, LineStop $linestop): bool
{
return $user->checkPermissionTo('replicate LineStop');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder LineStop');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, LineStop $linestop): bool
{
return $user->checkPermissionTo('force-delete LineStop');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any LineStop');
}
}

View File

@@ -0,0 +1,80 @@
<?php
namespace App\Policies;
use Spatie\Permission\Models\Permission;
// use App\Models\SpatiePermissionModelsPermission;
use App\Models\User;
use Illuminate\Auth\Access\Response;
class PermissionPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
// return false;
return $user->hasPermissionTo('view permissions');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Permission $permission): bool
// public function view(User $user, SpatiePermissionModelsPermission $spatiePermissionModelsPermission): bool
{
return $user->hasPermissionTo('view permissions');
// return false;
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->hasPermissionTo('create permissions');
// return false;
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Permission $permission): bool
// public function update(User $user, SpatiePermissionModelsPermission $spatiePermissionModelsPermission): bool
{
return $user->hasPermissionTo('edit permissions');
// return false;
}
/**
* Determine whether the user can delete the model.
*/
//public function delete(User $user, Permission $permission): bool
public function delete(User $user, Permission $permission): bool
// public function delete(User $user, SpatiePermissionModelsPermission $spatiePermissionModelsPermission): bool
{
return $user->hasPermissionTo('delete permissions');
// return false;
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Permission $permission): bool
// public function restore(User $user, SpatiePermissionModelsPermission $spatiePermissionModelsPermission): bool
{
return $user->hasPermissionTo('restore permissions');
// return false;
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Permission $permission): bool
// public function forceDelete(User $user, SpatiePermissionModelsPermission $spatiePermissionModelsPermission): bool
{
return $user->hasPermissionTo('force-delete permissions');
// return false;
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\Plant;
use App\Models\User;
class PlantPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any Plant');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Plant $plant): bool
{
return $user->checkPermissionTo('view Plant');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create Plant');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Plant $plant): bool
{
return $user->checkPermissionTo('update Plant');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Plant $plant): bool
{
return $user->checkPermissionTo('delete Plant');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any Plant');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Plant $plant): bool
{
return $user->checkPermissionTo('restore Plant');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any Plant');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, Plant $plant): bool
{
return $user->checkPermissionTo('replicate Plant');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder Plant');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Plant $plant): bool
{
return $user->checkPermissionTo('force-delete Plant');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any Plant');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\ProductionLineStop;
use App\Models\User;
class ProductionLineStopPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any ProductionLineStop');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, ProductionLineStop $productionlinestop): bool
{
return $user->checkPermissionTo('view ProductionLineStop');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create ProductionLineStop');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, ProductionLineStop $productionlinestop): bool
{
return $user->checkPermissionTo('update ProductionLineStop');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, ProductionLineStop $productionlinestop): bool
{
return $user->checkPermissionTo('delete ProductionLineStop');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any ProductionLineStop');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, ProductionLineStop $productionlinestop): bool
{
return $user->checkPermissionTo('restore ProductionLineStop');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any ProductionLineStop');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, ProductionLineStop $productionlinestop): bool
{
return $user->checkPermissionTo('replicate ProductionLineStop');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder ProductionLineStop');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, ProductionLineStop $productionlinestop): bool
{
return $user->checkPermissionTo('force-delete ProductionLineStop');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any ProductionLineStop');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\ProductionPlan;
use App\Models\User;
class ProductionPlanPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any ProductionPlan');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, ProductionPlan $productionplan): bool
{
return $user->checkPermissionTo('view ProductionPlan');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create ProductionPlan');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, ProductionPlan $productionplan): bool
{
return $user->checkPermissionTo('update ProductionPlan');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, ProductionPlan $productionplan): bool
{
return $user->checkPermissionTo('delete ProductionPlan');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any ProductionPlan');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, ProductionPlan $productionplan): bool
{
return $user->checkPermissionTo('restore ProductionPlan');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any ProductionPlan');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, ProductionPlan $productionplan): bool
{
return $user->checkPermissionTo('replicate ProductionPlan');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder ProductionPlan');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, ProductionPlan $productionplan): bool
{
return $user->checkPermissionTo('force-delete ProductionPlan');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any ProductionPlan');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\ProductionQuantity;
use App\Models\User;
class ProductionQuantityPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any ProductionQuantity');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, ProductionQuantity $productionquantity): bool
{
return $user->checkPermissionTo('view ProductionQuantity');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create ProductionQuantity');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, ProductionQuantity $productionquantity): bool
{
return $user->checkPermissionTo('update ProductionQuantity');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, ProductionQuantity $productionquantity): bool
{
return $user->checkPermissionTo('delete ProductionQuantity');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any ProductionQuantity');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, ProductionQuantity $productionquantity): bool
{
return $user->checkPermissionTo('restore ProductionQuantity');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any ProductionQuantity');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, ProductionQuantity $productionquantity): bool
{
return $user->checkPermissionTo('replicate ProductionQuantity');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder ProductionQuantity');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, ProductionQuantity $productionquantity): bool
{
return $user->checkPermissionTo('force-delete ProductionQuantity');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any ProductionQuantity');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\QualityValidation;
use App\Models\User;
class QualityValidationPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any QualityValidation');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, QualityValidation $qualityvalidation): bool
{
return $user->checkPermissionTo('view QualityValidation');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create QualityValidation');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, QualityValidation $qualityvalidation): bool
{
return $user->checkPermissionTo('update QualityValidation');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, QualityValidation $qualityvalidation): bool
{
return $user->checkPermissionTo('delete QualityValidation');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any QualityValidation');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, QualityValidation $qualityvalidation): bool
{
return $user->checkPermissionTo('restore QualityValidation');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any QualityValidation');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, QualityValidation $qualityvalidation): bool
{
return $user->checkPermissionTo('replicate QualityValidation');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder QualityValidation');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, QualityValidation $qualityvalidation): bool
{
return $user->checkPermissionTo('force-delete QualityValidation');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any QualityValidation');
}
}

View File

@@ -0,0 +1,79 @@
<?php
namespace App\Policies;
// use App\Models\SpatiePermissionModelsRole;
use App\Models\User;
use Spatie\Permission\Models\Role;
use Illuminate\Auth\Access\Response;
class RolePolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->hasPermissionTo('view roles');
// return false;
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Role $role): bool // Changed typehint
// public function view(User $user, SpatiePermissionModelsRole $spatiePermissionModelsRole): bool
{
return $user->hasPermissionTo('view roles');
// return false;
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->hasPermissionTo('create roles');
// return false;
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Role $role): bool // Changed typehint
// public function update(User $user, SpatiePermissionModelsRole $spatiePermissionModelsRole): bool
{
return $user->hasPermissionTo('edit roles');
// return false;
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Role $role): bool // Changed typehint
// public function delete(User $user, SpatiePermissionModelsRole $spatiePermissionModelsRole): bool
{
return $user->hasPermissionTo('delete roles');
// return false;
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Role $role): bool // Changed typehint
// public function restore(User $user, SpatiePermissionModelsRole $spatiePermissionModelsRole): bool
{
return $user->hasPermissionTo('restore roles');
// return false;
}
/**
* Determine whether the user can permanently delete the model.
*/
// public function forceDelete(User $user, SpatiePermissionModelsRole $spatiePermissionModelsRole): bool
public function forceDelete(User $user, Role $role): bool // Changed typehint
{
return $user->hasPermissionTo('force-delete roles');
// return false;
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\Shift;
use App\Models\User;
class ShiftPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any Shift');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Shift $shift): bool
{
return $user->checkPermissionTo('view Shift');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create Shift');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Shift $shift): bool
{
return $user->checkPermissionTo('update Shift');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Shift $shift): bool
{
return $user->checkPermissionTo('delete Shift');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any Shift');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Shift $shift): bool
{
return $user->checkPermissionTo('restore Shift');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any Shift');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, Shift $shift): bool
{
return $user->checkPermissionTo('replicate Shift');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder Shift');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Shift $shift): bool
{
return $user->checkPermissionTo('force-delete Shift');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any Shift');
}
}

View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\StickerMaster;
use App\Models\User;
class StickerMasterPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any StickerMaster');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, StickerMaster $stickermaster): bool
{
return $user->checkPermissionTo('view StickerMaster');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create StickerMaster');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, StickerMaster $stickermaster): bool
{
return $user->checkPermissionTo('update StickerMaster');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, StickerMaster $stickermaster): bool
{
return $user->checkPermissionTo('delete StickerMaster');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any StickerMaster');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, StickerMaster $stickermaster): bool
{
return $user->checkPermissionTo('restore StickerMaster');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any StickerMaster');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, StickerMaster $stickermaster): bool
{
return $user->checkPermissionTo('replicate StickerMaster');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder StickerMaster');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, StickerMaster $stickermaster): bool
{
return $user->checkPermissionTo('force-delete StickerMaster');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any StickerMaster');
}
}

106
app/Policies/UserPolicy.php Normal file
View File

@@ -0,0 +1,106 @@
<?php
namespace App\Policies;
use Illuminate\Auth\Access\Response;
use App\Models\User;
class UserPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any User');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, User $model): bool
{
return $user->checkPermissionTo('view User');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create User');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, User $model): bool
{
return $user->checkPermissionTo('update User');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, User $model): bool
{
return $user->checkPermissionTo('delete User');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any User');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, User $model): bool
{
return $user->checkPermissionTo('restore User');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any User');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, User $model): bool
{
return $user->checkPermissionTo('replicate User');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder User');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, User $model): bool
{
return $user->checkPermissionTo('force-delete User');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any User');
}
}

View File

@@ -2,9 +2,13 @@
namespace App\Providers; namespace App\Providers;
use App\Models\User;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use URL; use App\Policies\RolePolicy;
use App\Policies\PermissionPolicy;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
// use Doctrine\DBAL\Types\Type; // use Doctrine\DBAL\Types\Type;
@@ -23,8 +27,12 @@ class AppServiceProvider extends ServiceProvider
*/ */
public function boot(): void public function boot(): void
{ {
Gate::before(function ($user, $ability) { // Gate::before(function ($user, $ability) {
return $user->hasRole('Super Admin') ? true : null; // return $user->hasRole('Super Admin') ? true : null;
// });
Gate::before(function (User $user, string $ability) {
return $user->isSuperAdmin() ? true: null;
}); });
// URL::forceScheme('https'); // URL::forceScheme('https');
@@ -32,5 +40,8 @@ class AppServiceProvider extends ServiceProvider
// if (!Type::hasType('citext')) { // if (!Type::hasType('citext')) {
// Type::addType('citext', \Doctrine\DBAL\Platforms\PostgreSqlPlatform::class); // Type::addType('citext', \Doctrine\DBAL\Platforms\PostgreSqlPlatform::class);
// } // }
Gate::policy(Role::class, RolePolicy::class);
Gate::policy(Permission::class, PermissionPolicy::class);
} }
} }

View File

@@ -3,12 +3,15 @@
namespace App\Providers\Filament; namespace App\Providers\Filament;
use Althinect\FilamentSpatieRolesPermissions\FilamentSpatieRolesPermissionsPlugin; use Althinect\FilamentSpatieRolesPermissions\FilamentSpatieRolesPermissionsPlugin;
use App\Filament\Pages\InvoiceDashboard;
use Filament\Facades\Filament;
use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession; use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents; use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent; use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Navigation\MenuItem; use Filament\Navigation\MenuItem;
use Filament\Navigation\NavigationGroup; use Filament\Navigation\NavigationGroup;
use Filament\Navigation\NavigationItem;
use Filament\Pages; use Filament\Pages;
use Filament\Panel; use Filament\Panel;
use Filament\PanelProvider; use Filament\PanelProvider;
@@ -20,6 +23,7 @@ use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
use Illuminate\Routing\Middleware\SubstituteBindings; use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Session\Middleware\StartSession; use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession; use Illuminate\View\Middleware\ShareErrorsFromSession;
use Althinect\FilamentSpatieRolesPermissions\Middleware\SyncSpatiePermissionsWithFilamentTenants;
class AdminPanelProvider extends PanelProvider class AdminPanelProvider extends PanelProvider
{ {
@@ -27,7 +31,6 @@ class AdminPanelProvider extends PanelProvider
{ {
return $panel return $panel
->default() ->default()
->id('admin') ->id('admin')
->path('admin') ->path('admin')
->login() ->login()
@@ -38,9 +41,9 @@ class AdminPanelProvider extends PanelProvider
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources') ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages') ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
->pages([ ->pages([
]) ])
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets') ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets')
// ->widgets([ // ->widgets([
// Widgets\AccountWidget::class, // Widgets\AccountWidget::class,
@@ -60,6 +63,9 @@ class AdminPanelProvider extends PanelProvider
->authMiddleware([ ->authMiddleware([
Authenticate::class, Authenticate::class,
]) ])
->tenantMiddleware([
SyncSpatiePermissionsWithFilamentTenants::class,
], isPersistent: true)
->databaseNotifications() ->databaseNotifications()
->plugin(FilamentSpatieRolesPermissionsPlugin::make()); ->plugin(FilamentSpatieRolesPermissionsPlugin::make());
} }