check module status before showing widget
This commit is contained in:
parent
060ffcd70a
commit
6ca0ec5522
@ -10,6 +10,7 @@ use App\Jobs\Common\UpdateDashboard;
|
|||||||
use App\Models\Common\Company;
|
use App\Models\Common\Company;
|
||||||
use App\Models\Common\Dashboard;
|
use App\Models\Common\Dashboard;
|
||||||
use App\Models\Common\Widget;
|
use App\Models\Common\Widget;
|
||||||
|
use App\Models\Module\Module;
|
||||||
use App\Traits\DateTime;
|
use App\Traits\DateTime;
|
||||||
use App\Traits\Users;
|
use App\Traits\Users;
|
||||||
use App\Utilities\Widgets;
|
use App\Utilities\Widgets;
|
||||||
@ -68,6 +69,12 @@ class Dashboards extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$widgets = Widget::where('dashboard_id', $dashboard->id)->orderBy('sort', 'asc')->get()->filter(function ($widget) {
|
$widgets = Widget::where('dashboard_id', $dashboard->id)->orderBy('sort', 'asc')->get()->filter(function ($widget) {
|
||||||
|
if ($alias = Widgets::getModuleAlias($widget->class)) {
|
||||||
|
if (!Module::alias($alias)->enabled()->first()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Widgets::canRead($widget->class);
|
return Widgets::canRead($widget->class);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -100,8 +100,8 @@ class Widgets
|
|||||||
$prefix = 'read-';
|
$prefix = 'read-';
|
||||||
|
|
||||||
// Add module
|
// Add module
|
||||||
if (strtolower($arr[0]) == 'modules') {
|
if ($alias = Widgets::getModuleAlias($class)) {
|
||||||
$prefix .= Str::kebab($arr[1]) . '-';
|
$prefix .= $alias . '-';
|
||||||
}
|
}
|
||||||
|
|
||||||
$prefix .= 'widgets-';
|
$prefix .= 'widgets-';
|
||||||
@ -117,4 +117,22 @@ class Widgets
|
|||||||
{
|
{
|
||||||
return (new $class())->getDefaultName();
|
return (new $class())->getDefaultName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function isModule($class)
|
||||||
|
{
|
||||||
|
$arr = explode('\\', $class);
|
||||||
|
|
||||||
|
return (strtolower($arr[0]) == 'modules');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getModuleAlias($class)
|
||||||
|
{
|
||||||
|
if (!static::isModule($class)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$arr = explode('\\', $class);
|
||||||
|
|
||||||
|
return Str::kebab($arr[1]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user