- 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.
87 lines
2.6 KiB
PHP
87 lines
2.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\RecordSource;
|
|
|
|
use Workflow\ComplexeCondition;
|
|
use Workflow\Preset;
|
|
use Workflow\PresetManager;
|
|
use Workflow\RelationAddExtend;
|
|
use Workflow\VTTemplate;
|
|
|
|
class CustomView extends \Workflow\RecordSource {
|
|
|
|
|
|
public function getSource($moduleName) {
|
|
|
|
$return = array(
|
|
'id' => 'customview',
|
|
'title' => 'Records from List Filter',
|
|
'sort' => 20,
|
|
);
|
|
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* @param $key
|
|
* @param $value
|
|
* @param $context \Workflow\VTEntity
|
|
* @return array|void
|
|
*/
|
|
public function getQuery(\Workflow\VTEntity $context, $sortField = null, $limit = null, $includeAllModTables = false) {
|
|
$queryGenerator = new \QueryGenerator($this->_TargetModule, \Users::getActiveAdminUser());
|
|
$queryGenerator->initForCustomViewById($this->_Data['recordsource']['customview']);
|
|
$query = $queryGenerator->getQuery();
|
|
$parts = preg_split('/FROM/i', $query);
|
|
$sqlQuery = 'SELECT vtiger_crmentity.crmid /* Insert Fields */ FROM '.$parts[1];
|
|
|
|
return $sqlQuery;
|
|
}
|
|
|
|
public function beforeGetTaskform($data) {
|
|
//var_dump('asd');
|
|
//$presetManager = new PresetManager($this->)
|
|
}
|
|
|
|
/**
|
|
* @var null|ComplexeCondition
|
|
*/
|
|
private $_ConditionObj = null;
|
|
|
|
public function getConfigHTML($data, $parameter) {
|
|
|
|
$allviews = \CustomView_Record_Model::getAll($this->_TargetModule);
|
|
$html = '<div style="margin:0 20px;"><label>'.vtranslate('Records from this Filter', 'Settings:Workflow2').':</label><select name="task[recordsource][customview]" style="width:400px;">';
|
|
|
|
if(!empty($this->_Data['recordsource']['customview'])) {
|
|
$currentSelection = $this->_Data['recordsource']['customview'];
|
|
} else {
|
|
$currentSelection = '';
|
|
}
|
|
|
|
foreach($allviews as $view) {
|
|
$html .= '<option value="'.$view->get('cvid').'" '.($view->get('cvid')==$currentSelection?'selected="selected"':'').'>'.$view->get('viewname').' ['.$view->getOwnerName().']</option>';
|
|
}
|
|
|
|
$html .= '</select><p>';
|
|
|
|
$html .= '</div>';
|
|
|
|
return $html;
|
|
|
|
}
|
|
public function getConfigInlineJS() {
|
|
return '';
|
|
}
|
|
public function getConfigInlineCSS() {
|
|
return '.asd { color:red; }';
|
|
}
|
|
|
|
}
|
|
|
|
\Workflow\RecordSource::register('customview', '\Workflow\Plugins\RecordSource\CustomView'); |