- 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.
118 lines
6.2 KiB
Smarty
118 lines
6.2 KiB
Smarty
{*<!--
|
|
/*********************************************************************************
|
|
** The contents of this file are subject to the vtiger CRM Public License Version 1.0
|
|
* ("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}
|
|
{foreach key=index item=jsModel from=$SCRIPTS}
|
|
<script type="{$jsModel->getType()}" src="{$jsModel->getSrc()}"></script>
|
|
{/foreach}
|
|
|
|
<div class="modelContainer">
|
|
<div class="modal-header contentsBackground">
|
|
<button class="close" aria-hidden="true" data-dismiss="modal" type="button" title="{vtranslate('LBL_CLOSE')}">×</button>
|
|
<h3>{vtranslate('LBL_QUICK_CREATE', $MODULE)} {vtranslate('LBL_EVENT_OR_TASK', $MODULE)}</h3>
|
|
</div>
|
|
<form class="form-horizontal recordEditView" id="quickCreate" name="QuickCreate" method="post" action="index.php">
|
|
{if !empty($PICKIST_DEPENDENCY_DATASOURCE)}
|
|
<input type="hidden" name="picklistDependency" value='{Vtiger_Util_Helper::toSafeHTML($PICKIST_DEPENDENCY_DATASOURCE)}' />
|
|
{/if}
|
|
<input type="hidden" name="module" value="{$MODULE}">
|
|
<input type="hidden" name="action" value="SaveAjax">
|
|
<input type="hidden" name="defaultCallDuration" value="{$USER_MODEL->get('callduration')}" />
|
|
<input type="hidden" name="defaultOtherEventDuration" value="{$USER_MODEL->get('othereventduration')}" />
|
|
<input type="hidden" name="userChangedEndDateTime" value="0" />
|
|
|
|
<!-- Random number is used to make specific tab is opened -->
|
|
{assign var="RAND_NUMBER" value=rand()}
|
|
<div class="modal-body tabbable" style="padding:0px">
|
|
<ul class="nav nav-pills" style="margin-bottom:0px;padding-left:5px">
|
|
<li class="active">
|
|
<a href="javascript:void(0);" data-target=".EventsQuikcCreateContents_{$RAND_NUMBER}" data-toggle="tab" data-tab-name="Event">{vtranslate('LBL_EVENT',$MODULE)}</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="javascript:void(0);" data-target=".CalendarQuikcCreateContents_{$RAND_NUMBER} " data-toggle="tab" data-tab-name="Task">{vtranslate('LBL_TASK',$MODULE)}</a>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content overflowVisible">
|
|
{assign var="CALENDAR_MODULE_MODEL" value=$QUICK_CREATE_CONTENTS['Calendar']['moduleModel']}
|
|
{foreach item=MODULE_DETAILS key=MODULE_NAME from=$QUICK_CREATE_CONTENTS}
|
|
<div class="{$MODULE_NAME}QuikcCreateContents_{$RAND_NUMBER} tab-pane {if $MODULE_NAME eq 'Events'} active in {/if}fade">
|
|
{assign var="RECORD_STRUCTURE_MODEL" value=$QUICK_CREATE_CONTENTS[$MODULE_NAME]['recordStructureModel']}
|
|
{assign var="RECORD_STRUCTURE" value=$QUICK_CREATE_CONTENTS[$MODULE_NAME]['recordStructure']}
|
|
{assign var="MODULE_MODEL" value=$QUICK_CREATE_CONTENTS[$MODULE_NAME]['moduleModel']}
|
|
<div class="quickCreateContent">
|
|
<div style='margin:5px'>
|
|
<table class="massEditTable table table-bordered">
|
|
<tr>
|
|
{assign var=COUNTER value=0}
|
|
{foreach key=FIELD_NAME item=FIELD_MODEL from=$RECORD_STRUCTURE name=blockfields}
|
|
{assign var="isReferenceField" value=$FIELD_MODEL->getFieldDataType()}
|
|
{assign var="refrenceList" value=$FIELD_MODEL->getReferenceList()}
|
|
{assign var="refrenceListCount" value=count($refrenceList)}
|
|
{if $COUNTER eq 2}
|
|
</tr><tr>
|
|
{assign var=COUNTER value=1}
|
|
{else}
|
|
{assign var=COUNTER value=$COUNTER+1}
|
|
{/if}
|
|
<td class="fieldLabel alignMiddle">
|
|
{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
|
|
{if {$isReferenceField} eq "reference"}
|
|
{if $refrenceListCount > 1}
|
|
<select style="width: 150px;" class="chzn-select referenceModulesList" id="referenceModulesList">
|
|
<optgroup>
|
|
{foreach key=index item=value from=$refrenceList}
|
|
<option value="{$value}">{vtranslate($value, $value)}</option>
|
|
{/foreach}
|
|
</optgroup>
|
|
</select>
|
|
{else}
|
|
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
|
|
{/if}
|
|
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
|
|
{else}
|
|
{vtranslate($FIELD_MODEL->get('label'), $MODULE)}
|
|
{/if}
|
|
</td>
|
|
<td class="fieldValue" {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_NAME)}
|
|
</td>
|
|
{if $MODULE_NAME eq 'Events' && $smarty.foreach.blockfields.last }
|
|
{include file=vtemplate_path('uitypes/FollowUp.tpl',$MODULE_NAME) MODULE=$MODULE_NAME}
|
|
{/if}
|
|
{/foreach}
|
|
</tr>
|
|
{assign var=PARENT_ID value={getPurifiedSmartyParameters('parent_id')}}
|
|
{assign var=CONTACT_ID value={getPurifiedSmartyParameters('contact_id')}}
|
|
{if $PARENT_ID neq ''}
|
|
<input type="hidden" name="parent_id" value="{$PARENT_ID}" />
|
|
{else if $CONTACT_ID neq ''}
|
|
<input type="hidden" name="contact_id" value="{$CONTACT_ID}" />
|
|
{/if}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer quickCreateActions">
|
|
{if $MODULE_NAME eq 'Calendar'}
|
|
{assign var="EDIT_VIEW_URL" value=$CALENDAR_MODULE_MODEL->getCreateTaskRecordUrl()}
|
|
{else}
|
|
{assign var="EDIT_VIEW_URL" value=$CALENDAR_MODULE_MODEL->getCreateEventRecordUrl()}
|
|
{/if}
|
|
<a class="cancelLink cancelLinkContainer pull-right" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
|
|
<button class="btn btn-success" type="submit"><strong>{vtranslate('LBL_SAVE', $MODULE)}</strong></button>
|
|
<button class="btn" id="goToFullForm" type="button" data-edit-view-url="{$EDIT_VIEW_URL}"><strong>{vtranslate('LBL_GO_TO_FULL_FORM', $MODULE)}</strong></button>
|
|
</div>
|
|
</div>
|
|
{/foreach}
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{/strip} |