widget permissions

This commit is contained in:
denisdulici
2020-01-04 17:49:11 +03:00
parent a0344398f7
commit ddd0c5228e
9 changed files with 87 additions and 36 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Utilities;
use App\Models\Common\Report;
use App\Models\Module\Module;
use Illuminate\Support\Str;
class Reports
{
@@ -30,7 +31,7 @@ class Reports
});
foreach ($list as $class) {
if (!class_exists($class)) {
if (!class_exists($class) || !static::canRead($class)) {
continue;
}
@@ -86,4 +87,18 @@ class Reports
return new $class($model, $get_totals);
}
public static function canRead($class)
{
return user()->can(static::getPermission($class));
}
public static function getPermission($class)
{
$class_name = (new \ReflectionClass($class))->getShortName();
$permission = 'read-reports-' . Str::kebab($class_name);
return $permission;
}
}