/** * Delete an Ort entity */ public function deleteAction() { if ($this->request->hasArgument('uUID')) { $uuid = $this->request->getArgument('uUID'); } if (empty($uuid)) { $this->throwStatus(400, 'Required uUID not provided', null); } $klosterstandorte = count($this->klosterstandortRepository->findByOrt($uuid)); $orthasurls = count($this->ortHasUrlRepository->findByOrt($uuid)); $bistums = count($this->bistumRepository->findByOrt($uuid)); if ($klosterstandorte == 0 && $orthasurls == 0 && $bistums == 0) { $ortObj = $this->ortRepository->findByIdentifier($uuid); if (!is_object($ortObj)) { $this->throwStatus(400, 'Entity Ort not available', null); } $this->ortRepository->remove($ortObj); // Fetch Ort Urls $ortHasUrls = $ortObj->getOrtHasUrls(); if (is_array($ortHasUrls)) { foreach ($ortHasUrls as $ortHasUrl) { $this->ortHasUrlRepository->remove($ortHasUrl); } } $this->throwStatus(200, null, null); } else { $this->throwStatus(400, 'Due to dependencies Ort entity could not be deleted', null); } }
/** * @return int $lastKlosterstandortId The last insert id */ public function getLastKlosterstandortIdAction() { $result = $this->klosterstandortRepository->findLastEntry(); foreach ($result as $res) { $lastKlosterstandortId = $res->getUid(); } return $lastKlosterstandortId; }
/** * Import Klosterstandort table into the FLOW domain_model tabel subugoe_germaniasacra_domain_model_klosterstandort * @return int */ public function importKlosterstandortAction() { if ($this->logger) { $start = microtime(true); } $csvArr = $this->citekeysAction(); /** @var \Doctrine\DBAL\Connection $sqlConnection */ $sqlConnection = $this->entityManager->getConnection(); $sql = 'SELECT * FROM Klosterstandort ORDER BY Klosternummer ASC'; $Klosterstandorts = $sqlConnection->fetchAll($sql); $literaturKeyArr = []; if (isset($Klosterstandorts) and is_array($Klosterstandorts)) { $nKlosterstandort = 0; foreach ($Klosterstandorts as $Klosterstandort) { $uid = $Klosterstandort['ID_Kloster']; $kloster = $Klosterstandort['Klosternummer']; $ort = $Klosterstandort['ID_alleOrte']; $von_von = $Klosterstandort['Standort_von_von']; $von_bis = $Klosterstandort['Standort_Datum_von_bis']; $von_verbal = $Klosterstandort['Standort_von_Verbal']; $bis_von = $Klosterstandort['Standort_Datum_bis_von']; $bis_bis = $Klosterstandort['Standort_Datum_bis_bis']; $bis_verbal = $Klosterstandort['Standort_bis_Verbal']; $gruender = $Klosterstandort['Gruender']; $bemerkung = $Klosterstandort['interne_Anmerkungen']; $breite = $Klosterstandort['Breite']; $laenge = $Klosterstandort['Laenge']; if ($laenge > 180 || $laenge < -180) { $laenge = ''; } if ($breite > 90 || $breite < -90) { $breite = ''; } $bemerkung_standort = $Klosterstandort['BemerkungenStandort']; $temp_literatur_alt = $Klosterstandort['Literaturnachweise']; $lit = $temp_literatur_alt; $ortObject = $this->ortRepository->findOneByUid($ort); $klosterObject = $this->klosterRepository->findOneByUid($kloster); if (is_object($klosterObject) && $klosterObject !== null && (is_object($ortObject) && $ortObject !== null)) { $KlosterstandortObject = new Klosterstandort(); $KlosterstandortObject->setUid($uid); if (isset($kloster) && !empty($kloster)) { $klosterObject = $this->klosterRepository->findOneByUid($kloster); $KlosterstandortObject->setKloster($klosterObject); } if (isset($ort) && !empty($ort)) { $ortObject = $this->ortRepository->findOneByUid($ort); $KlosterstandortObject->setOrt($ortObject); } $KlosterstandortObject->setVon_von($von_von); $KlosterstandortObject->setVon_bis($von_bis); $KlosterstandortObject->setVon_verbal($von_verbal); $KlosterstandortObject->setBis_von($bis_von); $KlosterstandortObject->setBis_bis($bis_bis); $KlosterstandortObject->setBis_verbal($bis_verbal); $KlosterstandortObject->setGruender($gruender); $KlosterstandortObject->setBemerkung($bemerkung); $KlosterstandortObject->setBreite($breite); $KlosterstandortObject->setLaenge($laenge); $KlosterstandortObject->setBemerkung_standort($bemerkung_standort); $KlosterstandortObject->setTemp_literatur_alt($temp_literatur_alt); $this->klosterstandortRepository->add($KlosterstandortObject); $this->persistenceManager->persistAll(); if (isset($lit) && !empty($lit)) { $lit = trim($lit, "- −"); $lit = str_replace(" − ", " - ", $lit); $lit = str_replace(" — ", " - ", $lit); $lit = str_replace("\r\n", " - ", $lit); $lit = str_replace("—", " - ", $lit); $lit = str_replace(" – ", " - ", $lit); $lit = str_replace(", S[^.]", ", S.", $lit); $lit = str_replace(",S.", ", S.", $lit); $lits = explode(" - ", $lit); foreach ($lits as $key => $litItem) { $parts = trim($litItem); $parts = explode(', S.', $parts); $buch = trim($parts[0]); $buch = utf8_decode($buch); $seite = ""; if (count($parts) > 1) { $seite = 'S. ' . trim($parts[1], ' .'); } $beschreibung = $seite; if (array_key_exists($buch, $csvArr)) { $citekey = $csvArr[$buch]['citekey']; if (!empty($citekey)) { if ($citekey and $csvArr[$buch]['detail'] and $csvArr[$buch]['detail'] != '#N/A') { if ($beschreibung and !strpos($csvArr[$buch]['detail'], $beschreibung)) { $beschreibung = $csvArr[$buch]['detail'] . ', ' . $beschreibung; } else { $beschreibung = $csvArr[$buch]['detail']; } } $literaturKey = $uid . "-" . $citekey . "-" . utf8_decode($beschreibung); if (!in_array($literaturKey, $literaturKeyArr)) { array_push($literaturKeyArr, $literaturKey); $literaturObject = new Literatur(); $literaturObject->setCitekey($citekey); $literaturObject->setBeschreibung($beschreibung); $this->literaturRepository->add($literaturObject); $this->persistenceManager->persistAll(); $literaturUUID = $literaturObject->getUUID(); $klosterhasliteraturObject = new KlosterHasLiteratur(); $klosterhasliteraturObject->setKloster($klosterObject); $literaturObject = $this->literaturRepository->findByIdentifier($literaturUUID); $klosterhasliteraturObject->setLiteratur($literaturObject); $this->klosterHasLiteraturRepository->add($klosterhasliteraturObject); $this->persistenceManager->persistAll(); } } else { $this->importExportLogger->log('Kein citekey für das Buch ' . $buch . ' beim Kloster mit der Id = ' . $kloster . ' vorhanden.', LOG_ERR); } } else { $this->importExportLogger->log('Entweder keine Literatur oder keine Übereinstimmung für das Kloster mit der Id = ' . $kloster . ' vorhanden.', LOG_ERR); $this->importExportLogger->log('Der Buchtitel lautet: ' . utf8_encode($buch), LOG_INFO); } } } $nKlosterstandort++; } else { if ($klosterObject === null) { $this->importExportLogger->log('Entweder ist das Feld Klosternummer in Klosterstandorttabelle leer oder das Klosterobject in der Klostertabelle für das Kloster mit der Id = ' . $kloster . ' wurde nicht gefunden.', LOG_ERR); } if ($ortObject === null) { $this->importExportLogger->log('Entweder ist das Feld ID_alleOrte in Klosterstandorttabelle leer oder das Ortobject in der Orttabelle für den Ort mit der Id = ' . $ort . ' wurde nicht gefunden.', LOG_ERR); } } } if ($this->logger) { $end = microtime(true); $time = number_format($end - $start, 2); $this->logger->log('Klosterstandort import completed in ' . round($time / 60, 2) . ' minutes.'); } return $nKlosterstandort; } }
/** * @param \Subugoe\GermaniaSacra\Domain\Model\Klosterstandort $klosterstandort */ public function deleteAction(Klosterstandort $klosterstandort) { $this->klosterstandortRepository->remove($klosterstandort); $this->addFlashMessage('Deleted a klosterstandort.'); $this->redirect('index'); }