first commit

This commit is contained in:
BACHIR SOULDI
2025-09-28 08:49:37 +01:00
commit 2794e62571
16819 changed files with 2664196 additions and 0 deletions

View File

@@ -0,0 +1,249 @@
{*+**********************************************************************************
* 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.
************************************************************************************}
{* modules/Events/views/AddCalendarEvent.php *}
{strip}
{foreach key=index item=jsModel from=$SCRIPTS}
<script type="{$jsModel->getType()}" src="{$jsModel->getSrc()}"></script>
{/foreach}
<div class="modal-dialog addCalendarEventModal">
<div class="modal-content">
<form class="form-horizontal recordEditView" id="QuickCreate" name="QuickCreate" method="post" action="index.php">
<div class="modal-body">
{if !empty($PICKIST_DEPENDENCY_DATASOURCE)}
<input type="hidden" name="picklistDependency" value='{Vtiger_Util_Helper::toSafeHTML($PICKIST_DEPENDENCY_DATASOURCE)}' />
{/if}
{if $MODULE eq 'Events'}
<input type="hidden" name="calendarModule" value="Events">
{if !empty($PICKIST_DEPENDENCY_DATASOURCE_EVENT)}
<input type="hidden" name="picklistDependency" value='{Vtiger_Util_Helper::toSafeHTML($PICKIST_DEPENDENCY_DATASOURCE_EVENT)}' />
{/if}
{/if}
<input type="hidden" name="module" value="{$MODULE}" />
<input type="hidden" name="action" value="SaveAjax" />
{if $MODE eq 'edit' && $RECORD_ID}
<input type="hidden" name="record" value="{$RECORD_ID}" />
<input type="hidden" name="mode" value="{$MODE}" />
{/if}
<input type="hidden" name="defaultCallDuration" value="{$USER_MODEL->get('callduration')}" />
<input type="hidden" name="defaultOtherEventDuration" value="{$USER_MODEL->get('othereventduration')}" />
<div class="addCalendarEventContents">
<div>
{assign var="FIELD_MODEL" value=$FIELDS['subject']}
<div style="margin-left: 7%; width: 93%;">
{assign var="FIELD_INFO" value=$FIELD_MODEL->getFieldInfo()}
{assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()}
{assign var="FIELD_NAME" value=$FIELD_MODEL->get('name')}
<input id="{$MODULE}_editView_fieldName_{$FIELD_NAME}" type="text" class="inputElement {if $FIELD_MODEL->isNameField()}nameField{/if}" name="{$FIELD_MODEL->getFieldName()}" value="{$FIELD_MODEL->get('fieldvalue')}"
{if $FIELD_MODEL->get('uitype') eq '3' || $FIELD_MODEL->get('uitype') eq '4'|| $FIELD_MODEL->isReadOnly()} readonly {/if} {if !empty($SPECIAL_VALIDATOR)}data-validator="{Zend_Json::encode($SPECIAL_VALIDATOR)}"{/if}
{if $FIELD_INFO["mandatory"] eq true} data-rule-required="true" {/if}
{foreach item=VALIDATOR from=$FIELD_INFO["validator"]}
{assign var=VALIDATOR_NAME value=$VALIDATOR["name"]}
data-rule-{$VALIDATOR_NAME} = "true"
{/foreach}
placeholder="{vtranslate($FIELD_MODEL->get('label'), $MODULE)}" />
</div>
</div>
<div style="display: inline-flex; margin-left: 5%; padding: 8px;">
<div class="hide">
<label class="muted pull-right">
All Day
</label>
<input type="checkbox" />
</div>
<div style="width: 100%; display: inherit;">
<span style="width: 150px;">
{assign var="FIELD_MODEL" value=$FIELDS['date_start']}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</span>
<span class="muted" style="width: 60px; line-height: 61px;text-align: center;">
TO
</span>
<span style="width: 150px;">
{assign var="FIELD_MODEL" value=$FIELDS['due_date']}
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</span>
</div>
</div>
<table class="massEditTable table no-border">
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['activitytype']}
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['eventstatus']}
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{if $FIELDS['taskpriority']}
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['taskpriority']}
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{/if}
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['assigned_user_id']}
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{if $FIELDS['location']}
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['location']}
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{/if}
{if $FIELDS['visibility']}
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['visibility']}
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{/if}
{if $FIELDS['parent_id']}
<tr>
{assign var="FIELD_MODEL" value=$FIELDS['parent_id']}
{assign var="isReferenceField" value=$FIELD_MODEL->getFieldDataType()}
{assign var="refrenceList" value=$FIELD_MODEL->getReferenceList()}
{assign var="refrenceListCount" value=count($refrenceList)}
{*<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">
<select class="select2 referenceModulesList {if $FIELD_MODEL->isMandatory() eq true}reference-mandatory{/if}">
{foreach key=index item=value from=$refrenceList}
<option value="{$value}">{vtranslate($value, $value)}</option>
{/foreach}
</select>
</td>
<td class="fieldValue col-lg-6">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{/if}
{assign var=HARDCODED_FIELDS value=','|explode:"subject,date_start,due_date,activitytype,eventstatus,taskpriority,assigned_user_id,location,visibility,parent_id"}
{foreach key=FIELD_NAME item=FIELD_MODEL from=$FIELDS}
{if $FIELD_MODEL->isMandatory() && !in_array($FIELD_NAME,$HARDCODED_FIELDS)}
<tr>
<td class="fieldLabel col-lg-4">
<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-8">
{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)}
</td>
</tr>
{/if}
{/foreach}
</table>
</div>
</div>
{include file="ModalFooter.tpl"|vtemplate_path:$MODULE}
</form>
</div>
{if $FIELDS_INFO neq null}
<script type="text/javascript">
var quickcreate_uimeta = (function() {
var fieldInfo = {$FIELDS_INFO};
return {
field: {
get: function(name, property) {
if(name && property === undefined) {
return fieldInfo[name];
}
if(name && property) {
return fieldInfo[name][property]
}
},
isMandatory : function(name){
if(fieldInfo[name]) {
return fieldInfo[name].mandatory;
}
return false;
},
getType : function(name){
if(fieldInfo[name]) {
return fieldInfo[name].type
}
return false;
}
},
};
})();
</script>
{/if}
</div>
{/strip}

View File

@@ -0,0 +1,47 @@
{*<!--
/*********************************************************************************
** 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}
{if !empty($PICKIST_DEPENDENCY_DATASOURCE)}
<input type="hidden" name="picklistDependency" value='{Vtiger_Util_Helper::toSafeHTML($PICKIST_DEPENDENCY_DATASOURCE)}' />
{/if}
{include file='DetailViewBlockView.tpl'|@vtemplate_path:'Vtiger' RECORD_STRUCTURE=$RECORD_STRUCTURE MODULE_NAME=$MODULE_NAME}
<div class="block block_LBL_INVITE_USER_BLOCK">
{assign var=WIDTHTYPE value=$USER_MODEL->get('rowheight')}
{assign var="IS_HIDDEN" value=false}
{assign var=WIDTHTYPE value=$USER_MODEL->get('rowheight')}
<div>
<h4>{vtranslate('LBL_INVITE_USER_BLOCK',{$MODULE_NAME})}</h4>
</div>
<hr>
<div class="blockData">
<table class="table detailview-table no-border">
<tbody>
<tr>
<td class="fieldLabel {$WIDTHTYPE}">
<span class="muted">{vtranslate('LBL_INVITE_USERS', $MODULE_NAME)}</span>
</td>
<td class="fieldValue {$WIDTHTYPE}">
{foreach key=USER_ID item=USER_NAME from=$ACCESSIBLE_USERS}
{if in_array($USER_ID,$INVITIES_SELECTED)}
{$USER_NAME} - {vtranslate($INVITEES_DETAILS[$USER_ID],$MODULE)}
<br>
{/if}
{/foreach}
</td>
</tr>
</tbody>
</table>
</div>
</div>
{/strip}

View File

@@ -0,0 +1,11 @@
{*+**********************************************************************************
* 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.
************************************************************************************}
<script type="text/javascript" src="{vresource_url('layouts/v7/modules/Calendar/resources/Edit.js')}"></script>
{include file=vtemplate_path('OverlayEditView.tpl', 'Vtiger')}

View File

@@ -0,0 +1,12 @@
{*+**********************************************************************************
* 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}
{include file="QuickCreate.tpl"|vtemplate_path:"Calendar"}
{/strip}

View File

@@ -0,0 +1,75 @@
{*<!--
/*********************************************************************************
** 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}
{include file="partials/EditViewContents.tpl"|@vtemplate_path:'Vtiger'}
<div name='editContent'>
<div class='fieldBlockContainer' data-block="{$BLOCK_LABEL}">
<h4 class='fieldBlockHeader'>{vtranslate('LBL_INVITE_USER_BLOCK', $MODULE)}</h4>
<hr>
<table class="table table-borderless">
<tr>
<td class="fieldLabel alignMiddle">{vtranslate('LBL_INVITE_USERS', $MODULE)}</td>
<td class="fieldValue">
<select id="selectedUsers" class="select2 inputElement" multiple name="selectedusers[]">
{foreach key=USER_ID item=USER_NAME from=$ACCESSIBLE_USERS}
{if $USER_ID eq $CURRENT_USER->getId()}
{continue}
{/if}
<option value="{$USER_ID}" {if in_array($USER_ID,$INVITIES_SELECTED)}selected{/if}>
{$USER_NAME}
</option>
{/foreach}
</select>
</td>
<td></td><td></td>
</tr>
</table>
<input type="hidden" name="recurringEditMode" value="" />
<!--Confirmation modal for updating Recurring Events-->
{assign var=MODULE value="Calendar"}
<div class="modal-dialog modelContainer recurringEventsUpdation modal-content hide" style='min-width:350px;'>
{assign var=HEADER_TITLE value={vtranslate('LBL_EDIT_RECURRING_EVENT', $MODULE)}}
{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
<div class="modal-body">
<div class="container-fluid">
<div class="row" style="padding: 1%;padding-left: 3%;">{vtranslate('LBL_EDIT_RECURRING_EVENTS_INFO', $MODULE)}</div>
<div class="row" style="padding: 1%;">
<span class="col-sm-12">
<span class="col-sm-4">
<button class="btn btn-default onlyThisEvent" style="width : 150px">{vtranslate('LBL_ONLY_THIS_EVENT', $MODULE)}</button>
</span>
<span class="col-sm-8">{vtranslate('LBL_ONLY_THIS_EVENT_EDIT_INFO', $MODULE)}</span>
</span>
</div>
<div class="row" style="padding: 1%;">
<span class="col-sm-12">
<span class="col-sm-4">
<button class="btn btn-default futureEvents" style="width : 150px">{vtranslate('LBL_FUTURE_EVENTS', $MODULE)}</button>
</span>
<span class="col-sm-8">{vtranslate('LBL_FUTURE_EVENTS_EDIT_INFO', $MODULE)}</span>
</span>
</div>
<div class="row" style="padding: 1%;">
<span class="col-sm-12">
<span class="col-sm-4">
<button class="btn btn-default allEvents" style="width : 150px">{vtranslate('LBL_ALL_EVENTS', $MODULE)}</button>
</span>
<span class="col-sm-8">{vtranslate('LBL_ALL_EVENTS_EDIT_INFO', $MODULE)}</span>
</span>
</div>
</div>
</div>
</div>
<!--Confirmation modal for updating Recurring Events-->
</div>
</div>
{/strip}

View File

@@ -0,0 +1 @@
{include file="partials/Menubar.tpl"|vtemplate_path:'Calendar'}

View File

@@ -0,0 +1,13 @@
/*+***********************************************************************************
* 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.
*************************************************************************************/
Calendar_Edit_Js("Events_Edit_Js",{
},{
});

View File

@@ -0,0 +1,37 @@
{*<!--
/*********************************************************************************
** 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}
{if $FIELD_MODEL->getName() == 'date_start'}
{assign var=DATE_FIELD value=$FIELD_MODEL}
{assign var=MODULE_MODEL value=$RECORD_STRUCTURE_MODEL->getModule()}
{assign var=TIME_FIELD value=$MODULE_MODEL->getField('time_start')}
{else if $FIELD_MODEL->getName() == 'due_date'}
{assign var=DATE_FIELD value=$FIELD_MODEL}
{assign var=MODULE_MODEL value=$RECORD_STRUCTURE_MODEL->getModule()}
{assign var=TIME_FIELD value=$MODULE_MODEL->getField('time_end')}
{/if}
{assign var=DATE_TIME_VALUE value=$FIELD_MODEL->get('fieldvalue')}
{assign var=DATE_TIME_COMPONENTS value=explode(' ' ,$DATE_TIME_VALUE)}
{assign var=TIME_FIELD value=$TIME_FIELD->set('fieldvalue',$DATE_TIME_COMPONENTS[1])}
{* Set the date after converting with repsect to timezone *}
{assign var=DATE_TIME_CONVERTED_VALUE value=DateTimeField::convertToUserTimeZone($DATE_TIME_VALUE)->format('Y-m-d H:i:s')}
{assign var=DATE_TIME_COMPONENTS value=explode(' ' ,$DATE_TIME_CONVERTED_VALUE)}
{assign var=DATE_FIELD value=$DATE_FIELD->set('fieldvalue',$DATE_TIME_COMPONENTS[0])}
<div>
{include file=vtemplate_path('uitypes/Date.tpl',$MODULE) BLOCK_FIELDS=$BLOCK_FIELDS FIELD_MODEL=$DATE_FIELD}
</div>
<div>
{include file=vtemplate_path('uitypes/Time.tpl',$MODULE) BLOCK_FIELDS=$BLOCK_FIELDS FIELD_MODEL=$TIME_FIELD FIELD_NAME=$TIME_FIELD->getFieldName()}
</div>

View File

@@ -0,0 +1,53 @@
{*<!--
/*********************************************************************************
** 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.
*
********************************************************************************/
-->*}
{assign var="dateFormat" value=$USER_MODEL->get('date_format')}
{assign var="currentDate" value=Vtiger_Date_UIType::getDisplayDateValue('')}
{assign var="time" value=Vtiger_Time_UIType::getDisplayTimeValue(null)}
{assign var="currentTimeInVtigerFormat" value=Vtiger_Time_UIType::getTimeValueInAMorPM($time)}
{if $COUNTER eq 2}
</tr>
{assign var=COUNTER value=1}
{else}
<td class="fieldLabel {$WIDTHTYPE}"></td><td class="{$WIDTHTYPE}"></td></tr>
{assign var=COUNTER value=$COUNTER+1}
{/if}
{assign var=FOLLOW_UP_LABEL value={vtranslate('LBL_HOLD_FOLLOWUP_ON',$MODULE)}}
<tr class="{if !($SHOW_FOLLOW_UP)}hide {/if}followUpContainer massEditActiveField">
<td class="fieldLabel">
<label class="muted pull-right marginRight10px">
<input name="followup" type="checkbox" class="alignTop" {if $FOLLOW_UP_STATUS} checked{/if}/>
{$FOLLOW_UP_LABEL}
</label>
</td>
{$FIELD_INFO['label'] = {$FOLLOW_UP_LABEL}}
<td class="fieldValue">
<div>
<div class="input-append row-fluid">
<div class="span10 row-fluid date">
<input name="followup_date_start" type="text" class="span9 dateField" data-date-format="{$dateFormat}" type="text" data-fieldinfo= '{Vtiger_Util_Helper::toSafeHTML(ZEND_JSON::encode($FIELD_INFO))}'
value="{if !empty($FOLLOW_UP_DATE)}{$FOLLOW_UP_DATE}{else}{$currentDate}{/if}" data-validation-engine="validate[funcCall[Vtiger_greaterThanDependentField_Validator_Js.invokeValidation]]" />
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</div>
</div>
<div>
<div class="input-append time">
<input type="text" name="followup_time_start" class="timepicker-default input-small"
value="{if !empty($FOLLOW_UP_TIME)}{$FOLLOW_UP_TIME}{else}{$currentTimeInVtigerFormat}{/if}" />
<span class="add-on cursorPointer">
<i class="icon-time"></i>
</span>
</div>
</div>
</td>
<td class="fieldLabel {$WIDTHTYPE}"></td><td class="{$WIDTHTYPE}"></td>
</tr>

View File

@@ -0,0 +1,53 @@
{*+**********************************************************************************
* 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}
{assign var="FIELD_INFO" value=$FIELD_MODEL->getFieldInfo()}
{assign var=FIELD_NAME value=$FIELD_MODEL->get('name')}
{assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
{assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
{assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()}
<div class="referencefield-wrapper">
{if {$REFERENCE_LIST_COUNT} eq 1}
<input name="popupReferenceModule" type="hidden" value="{$REFERENCE_LIST[0]}" />
{/if}
{if {$REFERENCE_LIST_COUNT} gt 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}
{if in_array($REFERENCED_MODULE_NAME, $REFERENCE_LIST)}
<input name="popupReferenceModule" type="hidden" value="{$REFERENCED_MODULE_NAME}" />
{else}
<input name="popupReferenceModule" type="hidden" value="{$REFERENCE_LIST[0]}" />
{/if}
{/if}
<input name="{$FIELD_NAME}" type="hidden" value="{$FIELD_MODEL->get('fieldvalue')}" class="sourceField" data-displayvalue='{$FIELD_MODEL->getEditViewDisplayValue($FIELD_MODEL->get('fieldvalue'))}' data-fieldinfo='{$FIELD_INFO}' data-multiple='true'/>
<div class="input-group">
<input id="{$FIELD_NAME}_display" name="{$FIELD_NAME}_display" data-fieldname="{$FIELD_NAME}" data-fieldtype="reference" type="text"
class="marginLeftZero autoComplete inputElement"
value="{$FIELD_MODEL->getEditViewDisplayValue($displayId)}"
data-fieldinfo='{$FIELD_INFO}' data-fieldtype="multireference" placeholder="{vtranslate('LBL_TYPE_SEARCH',$MODULE)}"
{if $FIELD_INFO["mandatory"] eq true} data-rule-required="true" {/if}
/>
<span class="input-group-addon relatedPopup cursorPointer" title="{vtranslate('LBL_SELECT', $MODULE)}" style="height:auto;width: 30px;">
<i id="{$MODULE}_editView_fieldName_{$FIELD_NAME}_select" class="fa fa-search"></i>
</span>
<input type="hidden" name="relatedContactInfo" data-value='{json_encode($RELATED_CONTACTS, $smarty.const.JSON_HEX_APOS)}' />
</div>
<!-- Show the add button only if it is edit view -->
{if $smarty.request.view eq 'Edit'}
<span class="createReferenceRecord cursorPointer clearfix" title="{vtranslate('LBL_CREATE', $MODULE)}">
<i id="{$MODULE}_editView_fieldName_{$FIELD_NAME}_create" class="fa fa-plus"></i>
</span>
{/if}
</div>
{/strip}

View File

@@ -0,0 +1,17 @@
{*<!--
/*********************************************************************************
** 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 item=CONTACT_INFO from=$RELATED_CONTACTS}
<a href='{$CONTACT_INFO['_model']->getDetailViewUrl()}' title='{vtranslate("Contacts", "Contacts")}'> {Vtiger_Util_Helper::getRecordName($CONTACT_INFO['id'])}</a>
<br>
{/foreach}
{/strip}