Files
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

150 lines
6.7 KiB
Smarty

{*+**********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
************************************************************************************}
{strip}
<div class="modal-dialog modelContainer">
<div class="modal-content" style="width:800px;">
{assign var=HEADER_TITLE value={vtranslate('LBL_ADD_STYLE', $MODULE)}}
{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
<div class="modal-body">
<div class="uploadview-content container-fluid">
<div id="create">
<form class="form-horizontal recordEditView" name="upload" method="post" action="index.php">
<input type="hidden" name="module" value="{$MODULE}" />
<input type="hidden" name="action" value="Save" />
<input type="hidden" name="mode" value="Ajax" />
<input type="hidden" name="sourceModule" value="{$SMODULE}" />
<input type="hidden" name="sourceRecord" value="{$SID}" />
<input type="hidden" name="relationOperation" value="true" />
<table class="massEditTable table no-border">
<tr>
{assign var="FIELD_MODEL" value=$FIELD_MODELS['stylename']}
<td class="fieldLabel col-lg-2">
<label class="muted pull-right">
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}&nbsp;
{if $FIELD_MODEL->isMandatory() eq true}
<span class="redColor">*</span>
{/if}
</label>
</td>
<td class="fieldValue col-lg-4" colspan="3">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
<tr>
{assign var="FIELD_MODEL" value=$FIELD_MODELS['assigned_user_id']}
<td class="fieldLabel col-lg-2">
<label class="muted pull-right">
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}&nbsp;
{if $FIELD_MODEL->isMandatory() eq true}
<span class="redColor">*</span>
{/if}
</label>
</td>
<td class="fieldValue col-lg-4">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{assign var="FIELD_MODEL" value=$FIELD_MODELS['stylecontent']}
{if $FIELD_MODELS['stylecontent']}
</tr>
<td class="fieldLabel col-lg-2">
<label class="muted pull-right">
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}&nbsp;
{if $FIELD_MODEL->isMandatory() eq true}
<span class="redColor">*</span>
{/if}
</label>
</td>
<td class="fieldValue col-lg-4" colspan="3">
<div style="min-height: 300px;">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</div>
</td>
</tr>
{/if}
<tr>
{assign var=HARDCODED_FIELDS value=','|explode:"stylename,assigned_user_id,stylecontent"}
{assign var=COUNTER value=0}
{foreach key=FIELD_NAME item=FIELD_MODEL from=$FIELD_MODELS}
{if !in_array($FIELD_NAME,$HARDCODED_FIELDS) && ($FIELD_MODEL->isMandatory() || $FIELD_MODEL->isQuickCreateEnabled())}
{assign var="isReferenceField" value=$FIELD_MODEL->getFieldDataType()}
{assign var="referenceList" value=$FIELD_MODEL->getReferenceList()}
{assign var="referenceListCount" value=count($referenceList)}
{if $FIELD_MODEL->get('uitype') eq "19"}
{if $COUNTER eq '1'}
<td></td><td></td></tr><tr>
{assign var=COUNTER value=0}
{/if}
{/if}
{if $COUNTER eq 2}
</tr><tr>
{assign var=COUNTER value=1}
{else}
{assign var=COUNTER value=$COUNTER+1}
{/if}
<td class='fieldLabel col-lg-2'>
{if $isReferenceField neq "reference"}<label class="muted pull-right">{/if}
{if $isReferenceField eq "reference"}
{if $referenceListCount > 1}
{assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
{assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
{if !empty($REFERENCED_MODULE_STRUCT)}
{assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
{/if}
<span class="pull-right">
<select style="width:150px;" class="select2 referenceModulesList {if $FIELD_MODEL->isMandatory() eq true}reference-mandatory{/if}">
{foreach key=index item=value from=$referenceList}
<option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if} >{vtranslate($value, $value)}</option>
{/foreach}
</select>
</span>
{else}
<label class="muted pull-right">{vtranslate($FIELD_MODEL->get('label'), $MODULE)}&nbsp;{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}</label>
{/if}
{else if $FIELD_MODEL->get('uitype') eq '83'}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER MODULE=$MODULE}
{if $TAXCLASS_DETAILS}
{assign 'taxCount' count($TAXCLASS_DETAILS)%2}
{if $taxCount eq 0}
{if $COUNTER eq 2}
{assign var=COUNTER value=1}
{else}
{assign var=COUNTER value=2}
{/if}
{/if}
{/if}
{else}
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}&nbsp;{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
{/if}
{if $isReferenceField neq "reference"}</label>{/if}
</td>
{if $FIELD_MODEL->get('uitype') neq '83'}
<td class="fieldValue col-lg-4" {if $FIELD_MODEL->get('uitype') eq '19'} colspan="3" {assign var=COUNTER value=$COUNTER+1} {/if}>
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
{/if}
{/if}
{/foreach}
</tr>
</table>
</form>
</div>
</div>
</div>
{assign var=BUTTON_NAME value={vtranslate('LBL_CREATE', $MODULE)}}
{assign var=BUTTON_ID value="js-create-style"}
{include file="ModalFooter.tpl"|vtemplate_path:$MODULE}
</div>
</div>
{/strip}