Refactor localization and remove CAIKnowledge entity
- Removed CAIKnowledge localization files for various languages (el_GR, en_GB, en_US, es_ES, es_MX, fa_IR, fr_FR, hr_HR, hu_HU, id_ID, it_IT, ja_JP, lt_LT, lv_LV, nb_NO, nl_NL, pl_PL, pt_BR, pt_PT, ro_RO, ru_RU, sk_SK, sl_SI, sr_RS, sv_SE, th_TH, tr_TR, uk_UA, ur_IN, vi_VN, zh_CN, zh_TW). - Deleted related layout and metadata files for CAIKnowledge. - Removed references to CAIKnowledge in existing metadata definitions for CDokumente, CMietinkasso, and CVmhRumungsklage. - Updated config and state files to reflect the removal of CAIKnowledge. - Cleaned up unused localization keys in existing JSON files.
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Espo\Custom\Controllers;
|
||||
|
||||
class CAIKnowledge extends \Espo\Core\Templates\Controllers\Base
|
||||
{
|
||||
}
|
||||
@@ -6,57 +6,46 @@ use Espo\ORM\Repository\Option\SaveOptions;
|
||||
use Espo\Core\Hook\Hook\AfterSave;
|
||||
|
||||
/**
|
||||
* Hook: Bei Änderung eines Dokuments wird syncStatus auf "unclean" gesetzt
|
||||
* und alle verknüpften AIKnowledge Junction-Table-Einträge werden aktualisiert
|
||||
* Hook: Bei Änderung eines Dokuments syncStatus und aiSyncStatus auf "unclean" setzen
|
||||
* und die verknüpfte CAkten-Entity aktualisieren.
|
||||
*/
|
||||
class UpdateJunctionSyncStatus implements AfterSave
|
||||
{
|
||||
public function __construct(
|
||||
private \Espo\ORM\EntityManager $entityManager
|
||||
) {}
|
||||
|
||||
|
||||
public function afterSave(Entity $entity, SaveOptions $options): void
|
||||
{
|
||||
// Überspringe bei Create (nur bei Update)
|
||||
if ($entity->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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "إنشاء {الكيانTypeTranslated}"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Създаване на AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Vytvořit AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Opret AI Knowledge "
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Δημιουργία AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Crear AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Crear AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "ایجاد AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Créer un AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Napravi AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "{EntityTypeTranslated} létrehozása"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Buat AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Crea AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "AI Knowledge を作成する"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Sukurti AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Izveidot AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Opprett AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Creëer AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Utwórz AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Criar AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Criar AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Creare AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Создать AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Vytvoriť AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Ustvari AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Napravi AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Skapa AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "สร้าง AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "AI Knowledge oluştur"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Створити AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "{entityTypetranslated} بنائیں"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "Tạo AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "创建 AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create CAIKnowledge": "建立AI Knowledge"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
[
|
||||
{
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"name": "name"
|
||||
},
|
||||
{
|
||||
"name": "datenbankId"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "aktivierungsstatus"
|
||||
},
|
||||
{
|
||||
"name": "syncStatus"
|
||||
},
|
||||
{
|
||||
"name": "lastSync"
|
||||
}
|
||||
]
|
||||
],
|
||||
"style": "default",
|
||||
"label": "Overview"
|
||||
}
|
||||
]
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -46,10 +46,6 @@
|
||||
"mietobjekt2dokumente": {
|
||||
"layout": null,
|
||||
"selectPrimaryFilterName": null
|
||||
},
|
||||
"aIKnowledges": {
|
||||
"layout": null,
|
||||
"selectPrimaryFilterName": null
|
||||
}
|
||||
},
|
||||
"kanbanViewMode": false,
|
||||
|
||||
@@ -44,10 +44,6 @@
|
||||
"advowareAkten": {
|
||||
"layout": null,
|
||||
"selectPrimaryFilterName": null
|
||||
},
|
||||
"aIKnowledge": {
|
||||
"layout": null,
|
||||
"selectPrimaryFilterName": null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -72,10 +72,6 @@
|
||||
"advowareAkten": {
|
||||
"layout": null,
|
||||
"selectPrimaryFilterName": null
|
||||
},
|
||||
"aIKnowledge": {
|
||||
"layout": null,
|
||||
"selectPrimaryFilterName": null
|
||||
}
|
||||
},
|
||||
"kanbanViewMode": false,
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"duplicateWhereBuilderClassName": "Espo\\Classes\\DuplicateWhereBuilders\\General"
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user