e3dfd5f960
- DirectAccessReport entity (48 fields, status lifecycle, Case relationship) - Case fields: cLegalAidType, cAppointmentDate, cAidType, cUrgencyLevel, cFilingDeadline - Auto-tasks hook: creates 3 tasks when case set to Direct Access - DOCX template with 72 placeholders (converted from original form) - Shira plugin: generate_initial_report tool with structured conversation flow - AfterInstall/AfterUninstall scripts for plugin deployment - Hebrew + English translations Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
/************************************************************************
|
|
* LegalAssistance Extension — AfterUninstall
|
|
*
|
|
* 1. Remove plugin files from ai-gateway
|
|
* 2. Clear cache
|
|
************************************************************************/
|
|
|
|
use Espo\Core\Container;
|
|
use Espo\Core\DataManager;
|
|
use Espo\Core\Utils\Log;
|
|
|
|
class AfterUninstall
|
|
{
|
|
public function run(Container $container): void
|
|
{
|
|
/** @var Log $log */
|
|
$log = $container->getByClass(Log::class);
|
|
|
|
$log->info('LegalAssistance: Running AfterUninstall...');
|
|
|
|
// Remove ai-gateway plugin files
|
|
$gatewayPaths = [
|
|
'/home/chaim/ai-gateway/plugins/legal-assistance',
|
|
'/opt/ai-gateway/plugins/legal-assistance',
|
|
];
|
|
|
|
foreach ($gatewayPaths as $dir) {
|
|
if (is_dir($dir)) {
|
|
$files = glob($dir . '/*');
|
|
foreach ($files as $file) {
|
|
if (is_file($file)) {
|
|
unlink($file);
|
|
}
|
|
}
|
|
rmdir($dir);
|
|
$log->info("LegalAssistance: Removed plugin files from {$dir}");
|
|
}
|
|
}
|
|
|
|
// Clear cache
|
|
try {
|
|
$dataManager = $container->getByClass(DataManager::class);
|
|
$dataManager->clearCache();
|
|
} catch (\Throwable $e) {
|
|
$log->warning('LegalAssistance: Cache clear failed: ' . $e->getMessage());
|
|
}
|
|
|
|
$log->info('LegalAssistance: AfterUninstall completed.');
|
|
}
|
|
}
|