diff --git a/custom/Espo/Custom/Controllers/CAIKnowledge.php b/custom/Espo/Custom/Controllers/CAIKnowledge.php deleted file mode 100644 index a8c37d61..00000000 --- a/custom/Espo/Custom/Controllers/CAIKnowledge.php +++ /dev/null @@ -1,7 +0,0 @@ -isNew()) { return; } - - // Überspringe, wenn keine relevanten Felder geändert wurden + if (!$this->hasRelevantChanges($entity)) { return; } - + + if (!$entity->get('cAktenId')) { + return; + } + try { - // Set syncStatus = 'unclean' directly on CDokumente entity - // (only if it has an AdvowareAkte linked) - if ($entity->get('cAktenId')) { - $entity->set('syncStatus', 'unclean'); - $this->entityManager->saveEntity($entity, ['silent' => true, 'skipHooks' => true]); - - // Trigger parent AdvowareAkte update (will update syncStatus and lastSync via its own hook) - $akte = $this->entityManager->getEntityById('CAkten', $entity->get('cAktenId')); - if ($akte) { - // Just touch the entity to trigger beforeSave hook - $this->entityManager->saveEntity($akte, ['silent' => true]); - } + $entity->set('syncStatus', 'unclean'); + $entity->set('aiSyncStatus', 'unclean'); + $this->entityManager->saveEntity($entity, ['silent' => true, 'skipHooks' => true]); + + // Akte triggern → BeforeSave-Hook UpdateLastSyncFromDocuments aggregiert Status + $akte = $this->entityManager->getEntityById('CAkten', $entity->get('cAktenId')); + if ($akte) { + $this->entityManager->saveEntity($akte, ['silent' => true]); } - - // Update AIKnowledge Junction-Tables (unchanged) - $this->updateAIKnowledgeJunctions($entity); - } catch (\Exception $e) { - // Fehler loggen, aber nicht werfen (um Save nicht zu blockieren) $GLOBALS['log']->error('CDokumente UpdateJunctionSyncStatus Hook Error: ' . $e->getMessage()); } } - - /** - * Prüft ob relevante Felder geändert wurden - */ + private function hasRelevantChanges(Entity $entity): bool { - // Relevante Felder für Sync-Status $relevantFields = [ 'name', 'description', @@ -64,59 +53,15 @@ class UpdateJunctionSyncStatus implements AfterSave 'dokumentId', 'preview', 'previewId', - 'fileStatus' + 'fileStatus', ]; - + foreach ($relevantFields as $field) { if ($entity->isAttributeChanged($field)) { return true; } } - + return false; } - - /** - * Update AIKnowledge Junction-Tables - */ - private function updateAIKnowledgeJunctions(Entity $entity): void - { - $updateQuery = $this->entityManager->getQueryBuilder() - ->update() - ->in('CAIKnowledgeDokumente') - ->set(['syncstatus' => 'unclean']) - ->where([ - 'cDokumenteId' => $entity->getId(), - 'deleted' => false - ]) - ->build(); - - $this->entityManager->getQueryExecutor()->execute($updateQuery); - - // Hole alle betroffenen AIKnowledge IDs - $selectQuery = $this->entityManager->getQueryBuilder() - ->select(['cAIKnowledgeId']) - ->from('CAIKnowledgeDokumente') - ->where([ - 'cDokumenteId' => $entity->getId(), - 'deleted' => false - ]) - ->build(); - - $pdoStatement = $this->entityManager->getQueryExecutor()->execute($selectQuery); - $rows = $pdoStatement->fetchAll(\PDO::FETCH_ASSOC); - - // Trigger Update auf jeder AIKnowledge (um CheckGlobalSyncStatus Hook auszulösen) - foreach ($rows as $row) { - $knowledgeId = $row['cAIKnowledgeId'] ?? null; - if ($knowledgeId) { - $knowledge = $this->entityManager->getEntity('CAIKnowledge', $knowledgeId); - if ($knowledge) { - // Force Update ohne Hook-Loop - $knowledge->set('syncStatus', 'unclean'); - $this->entityManager->saveEntity($knowledge, ['silent' => true, 'skipHooks' => true]); - } - } - } - } } diff --git a/custom/Espo/Custom/Resources/i18n/ar_AR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/ar_AR/CAIKnowledge.json deleted file mode 100644 index a0842c69..00000000 --- a/custom/Espo/Custom/Resources/i18n/ar_AR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "إنشاء {الكيانTypeTranslated}" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/bg_BG/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/bg_BG/CAIKnowledge.json deleted file mode 100644 index 1a557965..00000000 --- a/custom/Espo/Custom/Resources/i18n/bg_BG/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Създаване на AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/cs_CZ/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/cs_CZ/CAIKnowledge.json deleted file mode 100644 index 40cd6715..00000000 --- a/custom/Espo/Custom/Resources/i18n/cs_CZ/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Vytvořit AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/da_DK/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/da_DK/CAIKnowledge.json deleted file mode 100644 index d4857c83..00000000 --- a/custom/Espo/Custom/Resources/i18n/da_DK/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Opret AI Knowledge " - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/de_DE/CAIKnowledge.json deleted file mode 100644 index dae22366..00000000 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CAIKnowledge.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "AI Knowledge erstellen" - }, - "fields": { - "dokumentes": "Dokumente", - "vmhRumungsklage": "Räumungsklage", - "mietinkasso": "Mietinkasso", - "datenbankId": "Datenbank-ID", - "syncStatus": "Sync-Status", - "lastSync": "Letzte Synchronisation", - "aktivierungsstatus": "Aktivierungsstatus", - "dokumenteAiDocumentId": "AI Document ID", - "dokumenteSyncstatus": "Sync-Status", - "dokumenteLastSync": "Letzter Sync", - "dokumenteSyncedHash": "Sync-Hash" - }, - "links": { - "dokumentes": "Dokumente", - "vmhRumungsklage": "Räumungsklage", - "mietinkasso": "Mietinkasso" - }, - "options": { - "syncStatus": { - "synced": "Synchronisiert", - "unclean": "Nicht synchronisiert", - "pending_sync": "Synchronisierung ausstehend" - }, - "aktivierungsstatus": { - "new": "Neu", - "active": "Aktiv", - "paused": "Pausiert", - "deactivated": "Deaktiviert" - }, - "dokumenteSyncstatus": { - "new": "Neu", - "unclean": "Nicht synchronisiert", - "synced": "Synchronisiert", - "failed": "Fehlgeschlagen", - "unsupported": "Nicht unterstützt" - } - }, - "tooltips": { - "syncStatus": "Globaler Synchronisationsstatus: synced = Alle Dokumente synchronisiert, unclean = Mindestens ein Dokument ist neu oder hat Änderungen, pending_sync = Synchronisierung wurde gestartet aber noch nicht abgeschlossen. Wird automatisch basierend auf den Dokumenten-Status aktualisiert.", - "lastSync": "Zeitpunkt der letzten erfolgreichen Synchronisation aller Dokumente", - "aktivierungsstatus": "Aktivierungsstatus des AI Knowledge Entries: new = Neu angelegt, active = Aktiv synchronisiert, paused = Synchronisation pausiert, deactivated = Synchronisation deaktiviert", - "datenbankId": "Eindeutige ID in der AI-Datenbank" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json b/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json index 96658b1f..9f7a9d46 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CDokumente.json @@ -20,7 +20,6 @@ "mietobjekt2dokumente": "Mietobjekte", "mietinkassosdokumente": "Mietinkasso", "kndigungensdokumente": "Kündigungen", - "aIKnowledges": "AI Knowledge", "aiKnowledgeAiDocumentId": "AI Document ID", "aiKnowledgeSyncstatus": "AI Sync-Status", "aiKnowledgeLastSync": "AI Letzter Sync", @@ -43,7 +42,6 @@ "mietobjekt2dokumente": "Mietobjekte", "mietinkassosdokumente": "Mietinkasso", "kndigungensdokumente": "Kündigungen", - "aIKnowledges": "AI Knowledge", "cAkten": "Akte" }, "labels": { diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CMietinkasso.json b/custom/Espo/Custom/Resources/i18n/de_DE/CMietinkasso.json index f314e25c..3ee3dff0 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CMietinkasso.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CMietinkasso.json @@ -13,8 +13,7 @@ "freigeschalteteNutzer": "Freigeschaltete Nutzer (veraltet)", "collaborators": "Mitarbeiter", "vmhVermietersMIK": "Vermieter", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "links": { "meetings": "Termine", @@ -29,8 +28,7 @@ "collaborators": "Mitarbeiter", "vmhVermietersMIK": "Vermieter", "pulse": "Pulse", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "labels": { "Create CMietinkasso": "Mietinkasso erstellen" diff --git a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json index 3e3d2b55..54334205 100644 --- a/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/i18n/de_DE/CVmhRumungsklage.json @@ -15,8 +15,7 @@ "freigeschalteteNutzer": "Freigeschaltete Nutzer (veraltet)", "collaborators": "Mitarbeiter", "vmhVermietersRKL": "Vermieter", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "links": { "meetings": "Termine", @@ -32,8 +31,7 @@ "collaborators": "Mitarbeiter", "vmhVermietersRKL": "Vermieter", "pulse": "Pulse", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "labels": { "Create CVmhRumungsklage": "Räumungsklage erstellen" diff --git a/custom/Espo/Custom/Resources/i18n/el_GR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/el_GR/CAIKnowledge.json deleted file mode 100644 index ecd565f7..00000000 --- a/custom/Espo/Custom/Resources/i18n/el_GR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Δημιουργία AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/en_GB/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/en_GB/CAIKnowledge.json deleted file mode 100644 index 9e26dfee..00000000 --- a/custom/Espo/Custom/Resources/i18n/en_GB/CAIKnowledge.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/en_US/CAIKnowledge.json deleted file mode 100644 index a6d65a34..00000000 --- a/custom/Espo/Custom/Resources/i18n/en_US/CAIKnowledge.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "fields": { - "dokumentes": "Dokumente", - "vmhRumungsklage": "Räumungsklage", - "mietinkasso": "Mietinkasso", - "datenbankId": "Database ID", - "syncStatus": "Sync Status", - "lastSync": "Last Synchronization", - "aktivierungsstatus": "Activation Status", - "dokumenteAiDocumentId": "AI Document ID", - "dokumenteSyncstatus": "Sync Status", - "dokumenteLastSync": "Last Sync", - "dokumenteSyncedHash": "Sync Hash" - }, - "links": { - "dokumentes": "Dokumente", - "vmhRumungsklage": "Räumungsklage", - "mietinkasso": "Mietinkasso" - }, - "labels": { - "Create CAIKnowledge": "Create AI Knowledge" - }, - "options": { - "syncStatus": { - "synced": "Synchronized", - "unclean": "Not Synchronized", - "pending_sync": "Synchronization Pending" - }, - "aktivierungsstatus": { - "new": "New", - "active": "Active", - "paused": "Paused", - "deactivated": "Deactivated" - }, - "dokumenteSyncstatus": { - "new": "New", - "unclean": "Not Synchronized", - "synced": "Synchronized", - "failed": "Failed", - "unsupported": "Unsupported" - } - }, - "tooltips": { - "syncStatus": "Global synchronization status: synced = All documents synchronized, unclean = At least one document is new or has changes, pending_sync = Synchronization started but not yet completed. Updated automatically based on document status.", - "lastSync": "Timestamp of the last successful synchronization of all documents", - "aktivierungsstatus": "Activation status of the AI Knowledge entry: new = Newly created, active = Actively synchronized, paused = Synchronization paused, deactivated = Synchronization deactivated", - "datenbankId": "Unique ID in the AI database" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json b/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json index 9ce44e86..7d6be4ec 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CDokumente.json @@ -20,7 +20,6 @@ "mietobjekt2dokumente": "Properties", "mietinkassosdokumente": "Rent Collection", "kndigungensdokumente": "Terminations", - "aIKnowledges": "AI Knowledge", "aiKnowledgeAiDocumentId": "AI Document ID", "aiKnowledgeSyncstatus": "AI Sync Status", "aiKnowledgeLastSync": "AI Last Sync", @@ -43,7 +42,6 @@ "mietobjekt2dokumente": "Properties", "mietinkassosdokumente": "Rent Collection", "kndigungensdokumente": "Terminations", - "aIKnowledges": "AI Knowledge", "cAkten": "File" }, "labels": { diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CMietinkasso.json b/custom/Espo/Custom/Resources/i18n/en_US/CMietinkasso.json index 7ae93a1b..5a32b005 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CMietinkasso.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CMietinkasso.json @@ -13,8 +13,7 @@ "freigeschalteteNutzer": "Activated Users (deprecated)", "collaborators": "Collaborators", "vmhVermietersMIK": "Landlord", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "links": { "meetings": "Meetings", @@ -29,8 +28,7 @@ "collaborators": "Collaborators", "vmhVermietersMIK": "Landlord", "pulse": "Pulses", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "labels": { "Create CMietinkasso": "Create Mietinkasso" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json index 16944e25..903ea63e 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/CVmhRumungsklage.json @@ -13,8 +13,7 @@ "aussergerichtlicheGebuehren13": "Out-of-Court Fees 1.3", "gerichtskosten1Instanz": "Court Costs 1st Instance", "anwaltskosten1Instanz": "Attorney Fees 1st Instance", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "links": { "meetings": "Meetings", @@ -30,8 +29,7 @@ "klaeger": "Plaintiff", "contactsRumungsklage": "Portal Users", "pulse": "Pulses", - "advowareAkten": "Advoware Akten", - "aIKnowledge": "AI Knowledge" + "advowareAkten": "Advoware Akten" }, "labels": { "Create CVmhRumungsklage": "Create Räumungsklage" diff --git a/custom/Espo/Custom/Resources/i18n/en_US/Global.json b/custom/Espo/Custom/Resources/i18n/en_US/Global.json index 6f8a16e3..4887fadc 100644 --- a/custom/Espo/Custom/Resources/i18n/en_US/Global.json +++ b/custom/Espo/Custom/Resources/i18n/en_US/Global.json @@ -15,8 +15,7 @@ "CMietinkasso": "Mietinkasso", "CKuendigung": "Kündigung", "CPuls": "Puls", - "CAkten": "Akten", - "CAIKnowledge": "AI Knowledge" + "CAkten": "Akten" }, "scopeNamesPlural": { "CVmhMietverhltnis": "Mietverhältnisse", @@ -34,7 +33,6 @@ "CMietinkasso": "Mietinkassa", "CKuendigung": "Kündigungen", "CPuls": "Pulse", - "CAkten": "Akten", - "CAIKnowledge": "AI Knowledge" + "CAkten": "Akten" } } \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/es_ES/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/es_ES/CAIKnowledge.json deleted file mode 100644 index 65e95ef4..00000000 --- a/custom/Espo/Custom/Resources/i18n/es_ES/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Crear AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/es_MX/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/es_MX/CAIKnowledge.json deleted file mode 100644 index 2f6f6d2c..00000000 --- a/custom/Espo/Custom/Resources/i18n/es_MX/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Crear AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/fa_IR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/fa_IR/CAIKnowledge.json deleted file mode 100644 index 0c958d21..00000000 --- a/custom/Espo/Custom/Resources/i18n/fa_IR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "ایجاد AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/fr_FR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/fr_FR/CAIKnowledge.json deleted file mode 100644 index b3046bbf..00000000 --- a/custom/Espo/Custom/Resources/i18n/fr_FR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Créer un AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/hr_HR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/hr_HR/CAIKnowledge.json deleted file mode 100644 index e34e1aaf..00000000 --- a/custom/Espo/Custom/Resources/i18n/hr_HR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Napravi AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/hu_HU/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/hu_HU/CAIKnowledge.json deleted file mode 100644 index 169a6a94..00000000 --- a/custom/Espo/Custom/Resources/i18n/hu_HU/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "{EntityTypeTranslated} létrehozása" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/id_ID/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/id_ID/CAIKnowledge.json deleted file mode 100644 index 98bb5dbb..00000000 --- a/custom/Espo/Custom/Resources/i18n/id_ID/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Buat AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/it_IT/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/it_IT/CAIKnowledge.json deleted file mode 100644 index f39877d8..00000000 --- a/custom/Espo/Custom/Resources/i18n/it_IT/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Crea AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/ja_JP/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/ja_JP/CAIKnowledge.json deleted file mode 100644 index b76543c0..00000000 --- a/custom/Espo/Custom/Resources/i18n/ja_JP/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "AI Knowledge を作成する" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/lt_LT/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/lt_LT/CAIKnowledge.json deleted file mode 100644 index 850e5570..00000000 --- a/custom/Espo/Custom/Resources/i18n/lt_LT/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Sukurti AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/lv_LV/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/lv_LV/CAIKnowledge.json deleted file mode 100644 index 3e10089b..00000000 --- a/custom/Espo/Custom/Resources/i18n/lv_LV/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Izveidot AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/nb_NO/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/nb_NO/CAIKnowledge.json deleted file mode 100644 index c5305fb7..00000000 --- a/custom/Espo/Custom/Resources/i18n/nb_NO/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Opprett AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/nl_NL/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/nl_NL/CAIKnowledge.json deleted file mode 100644 index 951d6d02..00000000 --- a/custom/Espo/Custom/Resources/i18n/nl_NL/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Creëer AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/pl_PL/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/pl_PL/CAIKnowledge.json deleted file mode 100644 index c2293db8..00000000 --- a/custom/Espo/Custom/Resources/i18n/pl_PL/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Utwórz AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/pt_BR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/pt_BR/CAIKnowledge.json deleted file mode 100644 index d42dba3b..00000000 --- a/custom/Espo/Custom/Resources/i18n/pt_BR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Criar AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/pt_PT/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/pt_PT/CAIKnowledge.json deleted file mode 100644 index 531a6de7..00000000 --- a/custom/Espo/Custom/Resources/i18n/pt_PT/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Criar AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/ro_RO/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/ro_RO/CAIKnowledge.json deleted file mode 100644 index d6e0fc25..00000000 --- a/custom/Espo/Custom/Resources/i18n/ro_RO/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Creare AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/ru_RU/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/ru_RU/CAIKnowledge.json deleted file mode 100644 index e63baf25..00000000 --- a/custom/Espo/Custom/Resources/i18n/ru_RU/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Создать AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/sk_SK/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/sk_SK/CAIKnowledge.json deleted file mode 100644 index 7cff6afc..00000000 --- a/custom/Espo/Custom/Resources/i18n/sk_SK/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Vytvoriť AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/sl_SI/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/sl_SI/CAIKnowledge.json deleted file mode 100644 index dffc5667..00000000 --- a/custom/Espo/Custom/Resources/i18n/sl_SI/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Ustvari AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/sr_RS/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/sr_RS/CAIKnowledge.json deleted file mode 100644 index e34e1aaf..00000000 --- a/custom/Espo/Custom/Resources/i18n/sr_RS/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Napravi AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/sv_SE/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/sv_SE/CAIKnowledge.json deleted file mode 100644 index 066382f8..00000000 --- a/custom/Espo/Custom/Resources/i18n/sv_SE/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Skapa AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/th_TH/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/th_TH/CAIKnowledge.json deleted file mode 100644 index 800a359d..00000000 --- a/custom/Espo/Custom/Resources/i18n/th_TH/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "สร้าง AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/tr_TR/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/tr_TR/CAIKnowledge.json deleted file mode 100644 index e0c0db35..00000000 --- a/custom/Espo/Custom/Resources/i18n/tr_TR/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "AI Knowledge oluştur" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/uk_UA/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/uk_UA/CAIKnowledge.json deleted file mode 100644 index 56c3229f..00000000 --- a/custom/Espo/Custom/Resources/i18n/uk_UA/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Створити AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/ur_IN/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/ur_IN/CAIKnowledge.json deleted file mode 100644 index e260b1ad..00000000 --- a/custom/Espo/Custom/Resources/i18n/ur_IN/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "{entityTypetranslated} بنائیں" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/vi_VN/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/vi_VN/CAIKnowledge.json deleted file mode 100644 index 4b1e8219..00000000 --- a/custom/Espo/Custom/Resources/i18n/vi_VN/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "Tạo AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/zh_CN/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/zh_CN/CAIKnowledge.json deleted file mode 100644 index 67e4ec7e..00000000 --- a/custom/Espo/Custom/Resources/i18n/zh_CN/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "创建 AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/i18n/zh_TW/CAIKnowledge.json b/custom/Espo/Custom/Resources/i18n/zh_TW/CAIKnowledge.json deleted file mode 100644 index 5fa25420..00000000 --- a/custom/Espo/Custom/Resources/i18n/zh_TW/CAIKnowledge.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "labels": { - "Create CAIKnowledge": "建立AI Knowledge" - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/layouts/CAIKnowledge/bottomPanelsDetail.json b/custom/Espo/Custom/Resources/layouts/CAIKnowledge/bottomPanelsDetail.json deleted file mode 100644 index 30ab5c5b..00000000 --- a/custom/Espo/Custom/Resources/layouts/CAIKnowledge/bottomPanelsDetail.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "_delimiter_": { - "disabled": true - }, - "_tabBreak_0": { - "index": 0, - "tabBreak": true, - "tabLabel": "Dokumente" - }, - "dokumentes": { - "index": 1 - }, - "_tabBreak_1": { - "index": 2, - "tabBreak": true, - "tabLabel": "Ereignisse" - }, - "stream": { - "sticked": false, - "index": 3 - } -} diff --git a/custom/Espo/Custom/Resources/layouts/CAIKnowledge/detail.json b/custom/Espo/Custom/Resources/layouts/CAIKnowledge/detail.json deleted file mode 100644 index a059c608..00000000 --- a/custom/Espo/Custom/Resources/layouts/CAIKnowledge/detail.json +++ /dev/null @@ -1,27 +0,0 @@ -[ - { - "rows": [ - [ - { - "name": "name" - }, - { - "name": "datenbankId" - } - ], - [ - { - "name": "aktivierungsstatus" - }, - { - "name": "syncStatus" - }, - { - "name": "lastSync" - } - ] - ], - "style": "default", - "label": "Overview" - } -] \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/metadata/clientDefs/CAIKnowledge.json b/custom/Espo/Custom/Resources/metadata/clientDefs/CAIKnowledge.json deleted file mode 100644 index 99a170f8..00000000 --- a/custom/Espo/Custom/Resources/metadata/clientDefs/CAIKnowledge.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "controller": "controllers/record", - "boolFilterList": [ - "onlyMy" - ], - "bottomPanels": { - "detail": [ - { - "name": "stream", - "label": "Ereignisse", - "reference": "stream", - "stacked": false - } - ] - }, - "relationshipPanels": { - "dokumentes": { - "layout": "listForAIKnowledge", - "selectPrimaryFilterName": null - }, - "vmhRumungsklage": { - "layout": null, - "selectPrimaryFilterName": null - }, - "mietinkasso": { - "layout": null, - "selectPrimaryFilterName": null - } - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/metadata/clientDefs/CDokumente.json b/custom/Espo/Custom/Resources/metadata/clientDefs/CDokumente.json index 92fc32ac..ead940a7 100644 --- a/custom/Espo/Custom/Resources/metadata/clientDefs/CDokumente.json +++ b/custom/Espo/Custom/Resources/metadata/clientDefs/CDokumente.json @@ -46,10 +46,6 @@ "mietobjekt2dokumente": { "layout": null, "selectPrimaryFilterName": null - }, - "aIKnowledges": { - "layout": null, - "selectPrimaryFilterName": null } }, "kanbanViewMode": false, diff --git a/custom/Espo/Custom/Resources/metadata/clientDefs/CMietinkasso.json b/custom/Espo/Custom/Resources/metadata/clientDefs/CMietinkasso.json index 0886eb96..7a0831af 100644 --- a/custom/Espo/Custom/Resources/metadata/clientDefs/CMietinkasso.json +++ b/custom/Espo/Custom/Resources/metadata/clientDefs/CMietinkasso.json @@ -44,10 +44,6 @@ "advowareAkten": { "layout": null, "selectPrimaryFilterName": null - }, - "aIKnowledge": { - "layout": null, - "selectPrimaryFilterName": null } } } \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json index a96f43f0..bda0168b 100644 --- a/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/metadata/clientDefs/CVmhRumungsklage.json @@ -72,10 +72,6 @@ "advowareAkten": { "layout": null, "selectPrimaryFilterName": null - }, - "aIKnowledge": { - "layout": null, - "selectPrimaryFilterName": null } }, "kanbanViewMode": false, diff --git a/custom/Espo/Custom/Resources/metadata/entityDefs/CAIKnowledge.json b/custom/Espo/Custom/Resources/metadata/entityDefs/CAIKnowledge.json deleted file mode 100644 index 9e995f81..00000000 --- a/custom/Espo/Custom/Resources/metadata/entityDefs/CAIKnowledge.json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "fields": { - "name": { - "type": "varchar", - "required": true, - "pattern": "$noBadCharacters" - }, - "description": { - "type": "text" - }, - "createdAt": { - "type": "datetime", - "readOnly": true - }, - "modifiedAt": { - "type": "datetime", - "readOnly": true - }, - "createdBy": { - "type": "link", - "readOnly": true, - "view": "views/fields/user" - }, - "modifiedBy": { - "type": "link", - "readOnly": true, - "view": "views/fields/user" - }, - "assignedUser": { - "type": "link", - "required": false, - "view": "views/fields/assigned-user" - }, - "teams": { - "type": "linkMultiple", - "view": "views/fields/teams" - }, - "vmhRumungsklage": { - "type": "link" - }, - "mietinkasso": { - "type": "link" - }, - "datenbankId": { - "type": "varchar", - "maxLength": 100, - "tooltip": true, - "isCustom": true - }, - "syncStatus": { - "type": "enum", - "required": false, - "options": [ - "synced", - "unclean", - "pending_sync" - ], - "style": { - "synced": "success", - "unclean": "warning", - "pending_sync": "info" - }, - "default": "unclean", - "tooltip": true, - "isCustom": true - }, - "lastSync": { - "type": "datetime", - "required": false, - "readOnly": true, - "tooltip": true, - "isCustom": true - }, - "aktivierungsstatus": { - "type": "enum", - "required": false, - "options": [ - "new", - "active", - "paused", - "deactivated" - ], - "style": { - "new": "primary", - "active": "success", - "paused": "warning", - "deactivated": "danger" - }, - "default": "new", - "tooltip": true, - "isCustom": true - }, - "dokumenteAiDocumentId": { - "type": "varchar", - "notStorable": true, - "utility": true - }, - "dokumenteSyncstatus": { - "type": "enum", - "options": ["new", "unclean", "synced", "failed", "unsupported"], - "notStorable": true, - "utility": true - }, - "dokumenteLastSync": { - "type": "datetime", - "notStorable": true, - "utility": true - }, - "dokumenteSyncedHash": { - "type": "varchar", - "notStorable": true, - "utility": true - }, - "dokumentes": { - "type": "linkMultiple", - "layoutDetailDisabled": false, - "layoutMassUpdateDisabled": false, - "layoutListDisabled": false, - "noLoad": false, - "importDisabled": false, - "exportDisabled": false, - "customizationDisabled": false, - "columns": { - "aiDocumentId": "aiKnowledgeAiDocumentId", - "syncstatus": "aiKnowledgeSyncstatus", - "lastSync": "aiKnowledgeLastSync", - "syncedHash": "aiKnowledgeSyncedHash" - }, - "additionalAttributeList": [ - "columns" - ], - "view": "views/fields/link-multiple-with-columns", - "isCustom": true - } - }, - "links": { - "createdBy": { - "type": "belongsTo", - "entity": "User" - }, - "modifiedBy": { - "type": "belongsTo", - "entity": "User" - }, - "assignedUser": { - "type": "belongsTo", - "entity": "User" - }, - "teams": { - "type": "hasMany", - "entity": "Team", - "relationName": "entityTeam", - "layoutRelationshipsDisabled": true - }, - "dokumentes": { - "type": "hasMany", - "relationName": "cAIKnowledgeDokumente", - "foreign": "aIKnowledges", - "entity": "CDokumente", - "audited": false, - "isCustom": true, - "additionalColumns": { - "aiDocumentId": { - "type": "varchar", - "len": 255 - }, - "syncstatus": { - "type": "varchar", - "len": 20 - }, - "lastSync": { - "type": "datetime" - } - }, - "columnAttributeMap": { - "aiDocumentId": "dokumenteAiDocumentId", - "syncstatus": "dokumenteSyncstatus", - "lastSync": "dokumenteLastSync" - } - }, - "vmhRumungsklage": { - "type": "belongsTo", - "foreign": "aIKnowledge", - "entity": "CVmhRumungsklage", - "isCustom": true - }, - "mietinkasso": { - "type": "belongsTo", - "foreign": "aIKnowledge", - "entity": "CMietinkasso", - "isCustom": true - } - }, - "collection": { - "orderBy": "createdAt", - "order": "desc" - }, - "indexes": { - "name": { - "columns": [ - "name", - "deleted" - ] - }, - "assignedUser": { - "columns": [ - "assignedUserId", - "deleted" - ] - }, - "createdAt": { - "columns": [ - "createdAt" - ] - }, - "createdAtId": { - "unique": true, - "columns": [ - "createdAt", - "id" - ] - } - } -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/metadata/entityDefs/CDokumente.json b/custom/Espo/Custom/Resources/metadata/entityDefs/CDokumente.json index 44b71b48..715400b7 100644 --- a/custom/Espo/Custom/Resources/metadata/entityDefs/CDokumente.json +++ b/custom/Espo/Custom/Resources/metadata/entityDefs/CDokumente.json @@ -316,19 +316,6 @@ "audited": false, "isCustom": true }, - "aIKnowledges": { - "type": "hasMany", - "relationName": "cAIKnowledgeDokumente", - "foreign": "dokumentes", - "entity": "CAIKnowledge", - "audited": true, - "isCustom": true, - "columnAttributeMap": { - "aiDocumentId": "aiKnowledgeAiDocumentId", - "syncstatus": "aiKnowledgeSyncstatus", - "lastSync": "aiKnowledgeLastSync" - } - }, "cAkten": { "type": "belongsTo", "foreign": "dokumentes", diff --git a/custom/Espo/Custom/Resources/metadata/entityDefs/CMietinkasso.json b/custom/Espo/Custom/Resources/metadata/entityDefs/CMietinkasso.json index 29e06e2b..2fb14df2 100644 --- a/custom/Espo/Custom/Resources/metadata/entityDefs/CMietinkasso.json +++ b/custom/Espo/Custom/Resources/metadata/entityDefs/CMietinkasso.json @@ -84,9 +84,6 @@ }, "advowareAkten": { "type": "linkOne" - }, - "aIKnowledge": { - "type": "linkOne" } }, "links": { @@ -201,12 +198,6 @@ "foreign": "mietinkasso", "entity": "CAkten", "isCustom": true - }, - "aIKnowledge": { - "type": "hasOne", - "foreign": "mietinkasso", - "entity": "CAIKnowledge", - "isCustom": true } }, "collection": { diff --git a/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhRumungsklage.json b/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhRumungsklage.json index b09c6654..9f5f2b9e 100644 --- a/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhRumungsklage.json +++ b/custom/Espo/Custom/Resources/metadata/entityDefs/CVmhRumungsklage.json @@ -89,9 +89,6 @@ }, "advowareAkten": { "type": "linkOne" - }, - "aIKnowledge": { - "type": "linkOne" } }, "links": { @@ -214,12 +211,6 @@ "foreign": "vmhRumungsklage", "entity": "CAkten", "isCustom": true - }, - "aIKnowledge": { - "type": "hasOne", - "foreign": "vmhRumungsklage", - "entity": "CAIKnowledge", - "isCustom": true } }, "collection": { diff --git a/custom/Espo/Custom/Resources/metadata/recordDefs/CAIKnowledge.json b/custom/Espo/Custom/Resources/metadata/recordDefs/CAIKnowledge.json deleted file mode 100644 index 05de7826..00000000 --- a/custom/Espo/Custom/Resources/metadata/recordDefs/CAIKnowledge.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "duplicateWhereBuilderClassName": "Espo\\Classes\\DuplicateWhereBuilders\\General" -} \ No newline at end of file diff --git a/custom/Espo/Custom/Resources/metadata/scopes/CAIKnowledge.json b/custom/Espo/Custom/Resources/metadata/scopes/CAIKnowledge.json deleted file mode 100644 index a019413e..00000000 --- a/custom/Espo/Custom/Resources/metadata/scopes/CAIKnowledge.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "entity": true, - "layouts": true, - "tab": true, - "acl": true, - "aclPortal": true, - "aclPortalLevelList": [ - "all", - "account", - "contact", - "own", - "no" - ], - "customizable": true, - "importable": true, - "notifications": true, - "stream": true, - "disabled": false, - "type": "Base", - "module": "Custom", - "object": true, - "isCustom": true -} \ No newline at end of file diff --git a/data/config.php b/data/config.php index bcfb9292..c76dd767 100644 --- a/data/config.php +++ b/data/config.php @@ -129,8 +129,7 @@ return [ 34 => 'Import', 35 => 'GlobalStream', 36 => 'Report', - 37 => 'CCallQueues', - 38 => 'CAIKnowledge' + 37 => 'CCallQueues' ], 'quickCreateList' => [ 0 => 'Account', @@ -360,7 +359,7 @@ return [ 0 => 'youtube.com', 1 => 'google.com' ], - 'microtime' => 1774526770.942727, + 'microtime' => 1774535910.373412, 'siteUrl' => 'https://crm.bitbylaw.com', 'fullTextSearchMinLength' => 4, 'webSocketUrl' => 'ws://api.bitbylaw.com:5000/espocrm/ws', diff --git a/data/state.php b/data/state.php index fecbe14e..f49dcdeb 100644 --- a/data/state.php +++ b/data/state.php @@ -1,7 +1,7 @@ 1774530556, - 'microtimeState' => 1774530556.202809, + 'cacheTimestamp' => 1774535964, + 'microtimeState' => 1774535964.447046, 'currencyRates' => [ 'EUR' => 1.0 ],