- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
43 lines
1.6 KiB
PHP
43 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* Created by JetBrains PhpStorm.
|
|
* User: Stefan Warnat <support@stefanwarnat.de>
|
|
* Date: 20.09.14 23:15
|
|
* You must not use this file without permission.
|
|
*/
|
|
namespace Workflow\Plugins\RelationAddExtend;
|
|
require_once('DependentList.php');
|
|
|
|
class DefaultRelation extends \Workflow\RelationAddExtend {
|
|
protected $_hasSupport = array('add', 'query');
|
|
/**
|
|
* @param $sourceRecordId ID of Source Record
|
|
* @param $targetRecordId ID of Record to Link
|
|
* @return bool
|
|
*/
|
|
public function addRelatedRecord($sourceRecordId, $targetRecordId) {
|
|
$sourceModuleModel = \Vtiger_Module_Model::getInstance(\Workflow\VtUtils::getModuleNameForCRMID($targetRecordId));
|
|
$relatedModuleModel = \Vtiger_Module_Model::getInstance($this->getRelatedModule());
|
|
$relationModel = \Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel);
|
|
|
|
$relationModel->addRelation($targetRecordId, $sourceRecordId);
|
|
|
|
return true;
|
|
}
|
|
|
|
public function getQuery($sourceId) {
|
|
|
|
$sourceModuleModel = \Vtiger_Module_Model::getInstance(\Workflow\VtUtils::getModuleNameForCRMID($sourceId));
|
|
$relatedModuleModel = \Vtiger_Module_Model::getInstance($this->getRelatedModule());
|
|
$relationModel = \Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel);
|
|
|
|
if(empty($relationModel)) {
|
|
throw new \Exception('There is no such relation between '.$sourceModuleModel->getName().' and '.$relatedModuleModel->getName());
|
|
}
|
|
|
|
$query = $relationModel->getQuery(\Vtiger_Record_Model::getInstanceById($sourceId));
|
|
return $query;
|
|
}
|
|
}
|
|
|