Files
crm.clientright.ru/modules/Workflow2/lib/Workflow/Preset/InventoryLoader.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

61 lines
1.7 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: Stefan
* Date: 29.09.2016
* Time: 12:48
*/
namespace Workflow\Preset;
use Workflow\VTEntity;
use Workflow\VTInventoryEntity;
class InventoryLoader extends \Workflow\Preset
{
protected $_JSFiles = array('InventoryLoader.js');
public function beforeGetTaskform($data) {
list($data, $viewer) = $data;
$objInvLoader = new \Workflow\InventoryLoader();
$InventoryLoader = $objInvLoader->getAvailableLoader();
if(empty($InventoryLoader)) {
$viewer->assign('InventoryLoaderString', '');
} else {
$viewer->assign('InventoryLoader', $InventoryLoader);
$viewer->assign('field', $this->field);
$viewer->assign("InventoryLoaderString", $viewer->fetch("modules/Settings/Workflow2/helpers/InventoryLoader.tpl"));
}
}
public function addProducts(VTInventoryEntity $newObj, VTEntity $context) {
$data = $this->_task->get($this->field);
$loader = $data['select'];
$objInvLoader = new \Workflow\InventoryLoader();
foreach($loader as $id) {
$InventoryLoader = $objInvLoader->getItems($id, $data[$id]['config'], $context);
foreach ($InventoryLoader as $product) {
$newObj->addProduct(
$product['productid'],
'',
$product['comment'],
$product['quantity'],
$product['listprice'],
$product['discount_percent'],
$product['discount_amount'],
$product['taxes'],
!empty($product['additional']) ? $product['additional'] : array()
);
}
}
}
}