Files
crm.clientright.ru/modules/Workflow2/lib/Workflow/Preset/StaticFields.php
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- 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.
2025-10-16 11:17:21 +03:00

89 lines
2.9 KiB
PHP

<?php
/**
* Created by JetBrains PhpStorm.
* User: Stefan Warnat <support@stefanwarnat.de>
* Date: 01.03.14 18:45
* You must not use this file without permission.
*/
namespace Workflow\Preset;
use \Workflow\VtUtils;
use \Workflow\VTEntity;
class StaticFields extends \Workflow\Preset
{
protected $_JSFiles = array('StaticFields.js');
protected $_fromFields = null;
public function beforeSave($data) {
unset($data[$this->field]["##SETID##"]);
return $data;
}
public function getFromFields() {
if($this->_fromFields === null) {
$this->_fromFields = VtUtils::getFieldsWithBlocksForModule($this->parameter['fromModule'], true);
}
return $this->_fromFields;
}
public function beforeGetTaskform($data) {
global $current_user;
$adb = \PearDatabase::getInstance();
list($data, $viewer) = $data;
$fromModule = $this->parameter['fromModule'];
$additionalToFields = $this->parameter['additionalToFields'];
$refFields = !empty($this->parameter['refFields'])?true:false;
/** Assigned Users */
$sql = "SELECT id FROM vtiger_ws_entity WHERE name = 'Users'";
$result = $adb->query($sql);
$wsTabId = $adb->query_result($result, 0, "id");
$availUser = array('user' => array(), 'group' => array());
$sql = "SELECT id,user_name,first_name,last_name FROM vtiger_users WHERE status = 'Active'";
$result = $adb->query($sql);
while($user = $adb->fetchByAssoc($result)) {
$user["id"] = $user["id"];
$availUser["user"][] = $user;
}
$sql = "SELECT id FROM vtiger_ws_entity WHERE name = 'Groups'";
$result = $adb->query($sql);
$wsTabId = $adb->query_result($result, 0, "id");
$sql = "SELECT * FROM vtiger_groups ORDER BY groupname";
$result = $adb->query($sql);
while($group = $adb->fetchByAssoc($result)) {
$group["groupid"] = $group["groupid"];
$availUser["group"][] = $group;
}
$setter_fields = array();
$viewer->assign("fromFields", $this->getFromFields());
$viewer->assign("StaticFieldsField", $this->field);
$viewer->assign("staticFields", $viewer->fetch("modules/Settings/Workflow2/helpers/StaticFields.tpl"));
$options = $this->parameter;
$script = "var StaticFieldsFrom = ".json_encode($this->getFromFields()).";\n";
$script .= "var StaticFieldsCols = ".json_encode($data[$this->field]).";\n";
$script .= "var StaticFieldsField = '".$this->field."';\n";
$script .= "var available_users = ".json_encode($availUser).";\n";
$script .= "var WfStaticFieldsFromModule = '".$fromModule."';\n";
$script .= "var availCurrency = ".json_encode(getAllCurrencies()).";\n";
$script .= "var dateFormat = '".$current_user->date_format."';\n";
$this->addInlineJS($script);
}
}
?>