10 if (!function_exists(
'settings')) {
19 function settings($key = null, $default = null)
23 app()->make(ModuleInstance::class)->moduleInstanceSettings->each(
function($setting) use (&$settings) {
24 $settings[$setting->key] = $setting->value;
29 return app()->make(ModuleInstance::class)->moduleInstanceSettings()->where(
'key', $key)->firstOrFail()->value;
30 }
catch (ModelNotFoundException $e) {
37 if (!function_exists(
'alias')) {
45 $moduleInstance = app()->make(ModuleInstance::class);
46 if ($moduleInstance->exists) {
47 return $moduleInstance->alias;
49 throw new Exception(
'Alias cannot be returned outside a module environment');
53 if (!function_exists(
'hasPermission')) {
66 function hasPermission(
string $ability, ?User $userModel = null, ?Group $group = null, ?Role $role = null): bool {
67 if ($userModel === null && $group === null && $role === null) {
68 return \BristolSU\Support\Permissions\Facade\PermissionTester::evaluate($ability);
70 return \BristolSU\Support\Permissions\Facade\PermissionTester::evaluateFor($ability, $userModel, $group, $role);