diff --git a/lib/Service/ModuleComplianceService.php b/lib/Service/ModuleComplianceService.php index 642721a6..fb2562ba 100644 --- a/lib/Service/ModuleComplianceService.php +++ b/lib/Service/ModuleComplianceService.php @@ -188,7 +188,7 @@ private function getComplianceObjectsForModule(string $moduleUuid): array try { // Get compliance schema ID from configuration $complianceSchemaId = $this->settingsService->getSchemaIdForObjectType('compliancy'); - + if (!$complianceSchemaId) { $this->logger->warning('ModuleComplianceService: Compliance schema not configured', [ 'moduleUuid' => $moduleUuid @@ -196,6 +196,17 @@ private function getComplianceObjectsForModule(string $moduleUuid): array return []; } + // Get register ID from voorzieningen config + $voorzieningenConfig = $this->settingsService->getVoorzieningenConfig(); + $registerId = $voorzieningenConfig['register'] ?? null; + + if (!$registerId) { + $this->logger->warning('ModuleComplianceService: Voorzieningen register not configured', [ + 'moduleUuid' => $moduleUuid + ]); + return []; + } + // Get object service $objectService = $this->getObjectService(); if (!$objectService) { @@ -206,6 +217,7 @@ private function getComplianceObjectsForModule(string $moduleUuid): array $query = [ '@self' => [ 'schema' => (int) $complianceSchemaId, + 'register' => (int) $registerId, ], 'module' => $moduleUuid, ]; @@ -416,21 +428,30 @@ public function bulkSyncModuleStandards(): array try { // Get compliance schema ID from configuration $complianceSchemaId = $this->settingsService->getSchemaIdForObjectType('compliancy'); - + if (!$complianceSchemaId) { throw new \RuntimeException('Compliance schema not configured'); } + // Get register ID from voorzieningen config + $voorzieningenConfig = $this->settingsService->getVoorzieningenConfig(); + $registerId = $voorzieningenConfig['register'] ?? null; + + if (!$registerId) { + throw new \RuntimeException('Voorzieningen register not configured'); + } + // Get object service $objectService = $this->getObjectService(); if (!$objectService) { throw new \RuntimeException('ObjectService not available'); } - // Get all compliance objects + // Get all compliance objects (both schema AND register are required) $query = [ '@self' => [ 'schema' => (int) $complianceSchemaId, + 'register' => (int) $registerId, ], ]; $complianceObjects = $objectService->searchObjects($query); diff --git a/lib/Settings/softwarecatalogus_register.json b/lib/Settings/softwarecatalogus_register.json index 1253b123..504fa851 100644 --- a/lib/Settings/softwarecatalogus_register.json +++ b/lib/Settings/softwarecatalogus_register.json @@ -2220,8 +2220,7 @@ "summary": "", "icon": "Usage", "required": [ - "afnemer", - "status" + "afnemer" ], "properties": { "afnemer": { @@ -2396,7 +2395,7 @@ "description": "De status van het gebruik", "type": "string", "default": "Concept", - "required": true, + "required": false, "visible": true, "order": 17, "minLength": null,