diff --git a/layouts/v7/modules/Settings/Leads/LeadMappingEdit.tpl b/layouts/v7/modules/Settings/Leads/LeadMappingEdit.tpl index bea3a5c0ff67ea7c3293fa5574864b05a78bbf33..ce4f705946b29d893d5c40b5fa693237268879b7 100644 --- a/layouts/v7/modules/Settings/Leads/LeadMappingEdit.tpl +++ b/layouts/v7/modules/Settings/Leads/LeadMappingEdit.tpl @@ -62,7 +62,7 @@ {foreach key=FIELD_TYPE item=FIELDS_INFO from=$ACCOUNTS_MODULE_MODEL->getFields()} {foreach key=FIELD_ID item=FIELD_OBJECT from=$FIELDS_INFO} {if $MAPPING_ARRAY['Leads']['fieldDataType'] eq $FIELD_TYPE} - <option data-type="{$FIELD_TYPE}" {if $FIELD_ID eq $MAPPING_ARRAY['Accounts']['id']} selected {/if} label="{vtranslate($FIELD_OBJECT->get('label'), $ACCOUNTS_MODULE_MODEL->getName())}" value="{$FIELD_ID}"> + <option data-type="{$FIELD_TYPE}" {if isset($MAPPING_ARRAY['Accounts']['id']) && $FIELD_ID eq $MAPPING_ARRAY['Accounts']['id']} selected {/if} label="{vtranslate($FIELD_OBJECT->get('label'), $ACCOUNTS_MODULE_MODEL->getName())}" value="{$FIELD_ID}"> {vtranslate($FIELD_OBJECT->get('label'), $ACCOUNTS_MODULE_MODEL->getName())} </option> {/if} @@ -76,7 +76,7 @@ {foreach key=FIELD_TYPE item=FIELDS_INFO from=$CONTACTS_MODULE_MODEL->getFields()} {foreach key=FIELD_ID item=FIELD_OBJECT from=$FIELDS_INFO} {if $MAPPING_ARRAY['Leads']['fieldDataType'] eq $FIELD_TYPE} - <option data-type="{$FIELD_TYPE}" {if $FIELD_ID eq $MAPPING_ARRAY['Contacts']['id']} selected {/if} label="{vtranslate($FIELD_OBJECT->get('label'), $CONTACTS_MODULE_MODEL->getName())}" value="{$FIELD_ID}"> + <option data-type="{$FIELD_TYPE}" {if isset($MAPPING_ARRAY['Contacts']['id']) && $FIELD_ID eq $MAPPING_ARRAY['Contacts']['id']} selected {/if} label="{vtranslate($FIELD_OBJECT->get('label'), $CONTACTS_MODULE_MODEL->getName())}" value="{$FIELD_ID}"> {vtranslate($FIELD_OBJECT->get('label'), $CONTACTS_MODULE_MODEL->getName())} </option> {/if} @@ -90,7 +90,7 @@ {foreach key=FIELD_TYPE item=FIELDS_INFO from=$POTENTIALS_MODULE_MODEL->getFields()} {foreach key=FIELD_ID item=FIELD_OBJECT from=$FIELDS_INFO} {if $MAPPING_ARRAY['Leads']['fieldDataType'] eq $FIELD_TYPE} - <option data-type="{$FIELD_TYPE}" {if $FIELD_ID eq $MAPPING_ARRAY['Potentials']['id']} selected {/if} label="{vtranslate($FIELD_OBJECT->get('label'), $POTENTIALS_MODULE_MODEL->getName())}" value="{$FIELD_ID}"> + <option data-type="{$FIELD_TYPE}" {if isset($MAPPING_ARRAY['Potentials']['id']) && $FIELD_ID eq $MAPPING_ARRAY['Potentials']['id']} selected {/if} label="{vtranslate($FIELD_OBJECT->get('label'), $POTENTIALS_MODULE_MODEL->getName())}" value="{$FIELD_ID}"> {vtranslate($FIELD_OBJECT->get('label'), $POTENTIALS_MODULE_MODEL->getName())} </option> {/if} diff --git a/layouts/v7/modules/Settings/Leads/MappingDetail.tpl b/layouts/v7/modules/Settings/Leads/MappingDetail.tpl index 22f86c12e81b3b0f21d8809ee5b12eef66f7918d..00920d5cf33ba822f0f28183b4ff904f4fe9de1d 100644 --- a/layouts/v7/modules/Settings/Leads/MappingDetail.tpl +++ b/layouts/v7/modules/Settings/Leads/MappingDetail.tpl @@ -52,9 +52,21 @@ </td> <td width="10%">{vtranslate({$MAPPING['Leads']['label']}, 'Leads')}</td> <td width="10%">{vtranslate({$MAPPING['Leads']['fieldDataType']}, $QUALIFIED_MODULE)}</td> - <td width="10%">{vtranslate({$MAPPING['Accounts']['label']}, 'Accounts')}</td> - <td width="10%">{vtranslate({$MAPPING['Contacts']['label']}, 'Contacts')}</td> - <td width="10%">{vtranslate({$MAPPING['Potentials']['label']}, 'Potentials')}</td> + <td width="10%"> + {if isset($MAPPING['Accounts']['label'])} + {vtranslate({$MAPPING['Accounts']['label']}, 'Accounts')} + {/if} + </td> + <td width="10%"> + {if isset($MAPPING['Contacts']['label'])} + {vtranslate({$MAPPING['Contacts']['label']}, 'Contacts')}</td> + {/if} + </td> + <td width="10%"> + {if isset($MAPPING['Potentials']['label'])} + {vtranslate({$MAPPING['Potentials']['label']}, 'Potentials')}</td> + {/if} + </td> </tr> {/foreach} </tbody> diff --git a/modules/Settings/Leads/models/Mapping.php b/modules/Settings/Leads/models/Mapping.php index 46de5786b4ad54e6d6c5d3655765ecc90364f2aa..b8deba01d7964b0baa65ae82c5c5a2e537c07c50 100644 --- a/modules/Settings/Leads/models/Mapping.php +++ b/modules/Settings/Leads/models/Mapping.php @@ -75,7 +75,7 @@ class Settings_Leads_Mapping_Model extends Settings_Vtiger_Module_Model { * @return <Array> list of mapping details */ public function getMapping($editable = false) { - if (!$this->mapping) { + if (!property_exists($this,'mapping') || !$this->mapping) { $db = PearDatabase::getInstance(); $query = 'SELECT * FROM vtiger_convertleadmapping'; if ($editable) { @@ -102,9 +102,9 @@ class Settings_Leads_Mapping_Model extends Settings_Vtiger_Module_Model { $finalMapping[$mappingId] = array( 'editable' => $mappingDetails['editable'], 'Leads' => $fieldLabelsList[$mappingDetails['leadfid']], - 'Accounts' => $fieldLabelsList[$mappingDetails['accountfid']], - 'Contacts' => $fieldLabelsList[$mappingDetails['contactfid']], - 'Potentials'=> $fieldLabelsList[$mappingDetails['potentialfid']] + 'Accounts' => isset($fieldLabelsList[$mappingDetails['accountfid']]) ? $fieldLabelsList[$mappingDetails['accountfid']] : null, + 'Contacts' => isset($fieldLabelsList[$mappingDetails['contactfid']]) ? $fieldLabelsList[$mappingDetails['contactfid']] : null, + 'Potentials'=> isset($fieldLabelsList[$mappingDetails['potentialfid']]) ? $fieldLabelsList[$mappingDetails['potentialfid']] : null ); } @@ -154,8 +154,8 @@ class Settings_Leads_Mapping_Model extends Settings_Vtiger_Module_Model { $db = PearDatabase::getInstance(); $deleteMappingsList = $updateMappingsList = $createMappingsList = array(); foreach ($mapping as $mappingDetails) { - $mappingId = $mappingDetails['mappingId']; - if ($mappingDetails['lead']) { + $mappingId = isset($mappingDetails['mappingId']) ? $mappingDetails['mappingId'] : null; + if (isset($mappingDetails['lead']) && $mappingDetails['lead']) { if ($mappingId) { if ((array_key_exists('deletable', $mappingDetails)) || (!$mappingDetails['account'] && !$mappingDetails['contact'] && !$mappingDetails['potential'])) { $deleteMappingsList[] = $mappingId; diff --git a/modules/Settings/Leads/models/Module.php b/modules/Settings/Leads/models/Module.php index 6a120d1f390dc5c491975e39035f7d768ed9eb93..3f65a55fa1ce1e94a4771198d91820a83d308ccf 100644 --- a/modules/Settings/Leads/models/Module.php +++ b/modules/Settings/Leads/models/Module.php @@ -33,7 +33,7 @@ class Settings_Leads_Module_Model extends Vtiger_Module_Model { * @return <Array> list of field ids */ public function getMappingSupportedFieldIdsList() { - if (!$this->supportedFieldIdsList) { + if (!property_exists($this,'supportedFieldIdsList') || !$this->supportedFieldIdsList) { $selectedTabidsList[] = getTabid($this->getName()); $restrictedFieldNames = array('campaignrelstatus'); $restrictedUitypes = $this->getRestrictedUitypes();