Widget and Report check is module disabled
This commit is contained in:
@ -4,10 +4,13 @@ namespace App\Utilities;
|
||||
|
||||
use App\Models\Common\Widget;
|
||||
use App\Models\Module\Module;
|
||||
use App\Traits\Modules;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class Widgets
|
||||
{
|
||||
use Modules;
|
||||
|
||||
public static $core_widgets = [
|
||||
'App\Widgets\Receivables',
|
||||
'App\Widgets\Payables',
|
||||
@ -27,13 +30,13 @@ class Widgets
|
||||
}
|
||||
|
||||
Module::enabled()->each(function ($module) use (&$list, $alias) {
|
||||
if (!in_array($alias, [$module->alias, 'all'])) {
|
||||
if (! in_array($alias, [$module->alias, 'all'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$m = module($module->alias);
|
||||
|
||||
if (!$m || empty($m->get('widgets'))) {
|
||||
if (! $m || empty($m->get('widgets'))) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -41,7 +44,13 @@ class Widgets
|
||||
});
|
||||
|
||||
foreach ($list as $class) {
|
||||
if (!class_exists($class) || ($check_permission && !static::canRead($class))) {
|
||||
if (! class_exists($class) || ($check_permission && ! static::canRead($class))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$alias = static::getModuleAlias($class);
|
||||
|
||||
if (! empty($alias) && (new Widgets)->moduleIsDisabled($alias)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -62,7 +71,11 @@ class Widgets
|
||||
|
||||
$model = Widget::where('dashboard_id', session('dashboard_id'))->where('class', $class_name)->first();
|
||||
|
||||
if (!$model instanceof Widget) {
|
||||
if ($model->alias != 'core' && (new Widgets)->moduleIsDisabled($model->alias)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (! $model instanceof Widget) {
|
||||
$class = (new $class_name());
|
||||
|
||||
$model = new Widget();
|
||||
@ -79,6 +92,10 @@ class Widgets
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($model->alias != 'core' && (new Widgets)->moduleIsDisabled($model->alias)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$class_name = $model->class;
|
||||
}
|
||||
|
||||
@ -87,7 +104,7 @@ class Widgets
|
||||
|
||||
public static function show($model, ...$arguments)
|
||||
{
|
||||
if (!$class = static::getClassInstance($model)) {
|
||||
if (! $class = static::getClassInstance($model)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user