/** * Creates an entry in the servicegroup archive table, to enable auditing * of deletion. * @param \ServiceGroup $sg * @param \User $user */ public function addServiceGroupToArchive(\ServiceGroup $sg, \User $user) { $archievedSG = new \ArchivedServiceGroup(); $archievedSG->setDeletedBy($user->getCertificateDn()); $archievedSG->setName($sg->getName()); $archievedSG->setOriginalCreationDate($sg->getCreationDate()); $archievedSG->setScopes($sg->getScopeNamesAsString()); $serviceNamesAsArray = array(); foreach ($sg->getServices() as $s) { $serviceNamesAsArray[] = $s->getHostName() . "(" . $s->getServiceType()->getName() . ")"; } $serviceNamesAsString = implode(", ", $serviceNamesAsArray); $archievedSG->setServices($serviceNamesAsString); $this->em->persist($archievedSG); }