+ // Merge static settings with the results of settingsFactory functions
+ $settingsByModule = $angular->getResources($moduleNames, 'settings', 'settings');
+ foreach ($angular->getResources($moduleNames, 'settingsFactory', 'settingsFactory') as $moduleName => $factory) {
+ $settingsByModule[$moduleName] = array_merge($settingsByModule[$moduleName] ?? [], $factory());
+ }
+ // Add clientside permissions
+ $permissions = [];
+ $toCheck = $angular->getResources($moduleNames, 'permissions', 'permissions');
+ foreach ($toCheck as $perms) {
+ foreach ((array) $perms as $perm) {
+ if (!isset($permissions[$perm])) {
+ $permissions[$perm] = \CRM_Core_Permission::check($perm);
+ }
+ }
+ }