Refactor AdvowareAkte ↔ CDokumente relationship from junction table to direct n:1 relationship
- Removed CAdvowareAktenCDokumente junction table and associated service. - Updated CDokumente entity to include foreign key cAdvowareAktenId and related fields. - Changed relationship in CDokumente from hasMany to belongsTo. - Updated CAdvowareAkten to reflect new direct relationship. - Implemented CDokumente service with duplicateDocument method for document duplication. - Refactored hooks to support new relationship and document propagation. - Removed obsolete API routes related to the junction table. - Added i18n translations for new fields and updated tooltips. - Document flow and auto-linking logic enhanced for better integration with Advoware. - Validation checks passed, and no data migration needed.
This commit is contained in:
@@ -45,9 +45,11 @@ class PropagateDocuments implements AfterRelate, AfterUnrelate
|
||||
->getRelation($entity, 'advowareAkten')
|
||||
->findOne();
|
||||
|
||||
// Verknüpfe Dokument mit AdvowareAkten
|
||||
// Set direct belongsTo relationship on document
|
||||
if ($advowareAkten) {
|
||||
$this->relateDocument($advowareAkten, 'dokumentes', $foreignEntity);
|
||||
$foreignEntity->set('cAdvowareAktenId', $advowareAkten->getId());
|
||||
$foreignEntity->set('syncStatus', 'new'); // Mark as new for Advoware sync
|
||||
$this->entityManager->saveEntity($foreignEntity, ['silent' => true, 'skipHooks' => true]);
|
||||
}
|
||||
|
||||
// Hole verbundene AIKnowledge
|
||||
@@ -93,9 +95,10 @@ class PropagateDocuments implements AfterRelate, AfterUnrelate
|
||||
->getRelation($entity, 'advowareAkten')
|
||||
->findOne();
|
||||
|
||||
// Entknüpfe Dokument von AdvowareAkten
|
||||
if ($advowareAkten) {
|
||||
$this->unrelateDocument($advowareAkten, 'dokumentes', $foreignEntity);
|
||||
// Remove direct belongsTo relationship from document
|
||||
if ($advowareAkten && $foreignEntity->get('cAdvowareAktenId') === $advowareAkten->getId()) {
|
||||
$foreignEntity->set('cAdvowareAktenId', null);
|
||||
$this->entityManager->saveEntity($foreignEntity, ['silent' => true, 'skipHooks' => true]);
|
||||
}
|
||||
|
||||
// Hole verbundene AIKnowledge
|
||||
|
||||
Reference in New Issue
Block a user