-
-
Save amusarra/8570573 to your computer and use it in GitHub Desktop.
<?php | |
$viewdefs ['Contacts'] = | |
array ( | |
'DetailView' => | |
array ( | |
'templateMeta' => | |
array ( | |
'form' => | |
array ( | |
'buttons' => | |
array ( | |
0 => 'EDIT', | |
1 => 'DUPLICATE', | |
2 => 'DELETE', | |
3 => 'FIND_DUPLICATES', | |
4 => | |
array ( | |
'customCode' => '<input type="submit" class="button" title="{$APP.LBL_MANAGE_SUBSCRIPTIONS}" onclick="this.form.return_module.value=\'Contacts\'; this.form.return_action.value=\'DetailView\'; this.form.return_id.value=\'{$fields.id.value}\'; this.form.action.value=\'Subscriptions\'; this.form.module.value=\'Campaigns\'; this.form.module_tab.value=\'Contacts\';" name="Manage Subscriptions" value="{$APP.LBL_MANAGE_SUBSCRIPTIONS}"/>', | |
'sugar_html' => | |
array ( | |
'type' => 'submit', | |
'value' => '{$APP.LBL_MANAGE_SUBSCRIPTIONS}', | |
'htmlOptions' => | |
array ( | |
'class' => 'button', | |
'id' => 'manage_subscriptions_button', | |
'title' => '{$APP.LBL_MANAGE_SUBSCRIPTIONS}', | |
'onclick' => 'this.form.return_module.value=\'Contacts\'; this.form.return_action.value=\'DetailView\'; this.form.return_id.value=\'{$fields.id.value}\'; this.form.action.value=\'Subscriptions\'; this.form.module.value=\'Campaigns\'; this.form.module_tab.value=\'Contacts\';', | |
'name' => 'Manage Subscriptions', | |
), | |
), | |
), | |
), | |
), | |
'maxColumns' => '2', | |
'widths' => | |
array ( | |
0 => | |
array ( | |
'label' => '10', | |
'field' => '30', | |
), | |
1 => | |
array ( | |
'label' => '10', | |
'field' => '30', | |
), | |
), | |
'includes' => | |
array ( | |
0 => | |
array ( | |
'file' => 'modules/Leads/Lead.js', | |
), | |
), | |
'useTabs' => false, | |
'tabDefs' => | |
array ( | |
'LBL_CONTACT_INFORMATION' => | |
array ( | |
'newTab' => false, | |
'panelDefault' => 'expanded', | |
), | |
'LBL_PANEL_ADVANCED' => | |
array ( | |
'newTab' => false, | |
'panelDefault' => 'expanded', | |
), | |
'LBL_PANEL_ASSIGNMENT' => | |
array ( | |
'newTab' => false, | |
'panelDefault' => 'expanded', | |
), | |
), | |
), | |
'panels' => | |
array ( | |
'lbl_contact_information' => | |
array ( | |
0 => | |
array ( | |
0 => | |
array ( | |
'name' => 'full_name', | |
'label' => 'LBL_NAME', | |
), | |
), | |
1 => | |
array ( | |
0 => | |
array ( | |
'name' => 'title', | |
'comment' => 'The title of the contact', | |
'label' => 'LBL_TITLE', | |
), | |
1 => | |
array ( | |
'name' => 'phone_work', | |
'label' => 'LBL_OFFICE_PHONE', | |
), | |
), | |
2 => | |
array ( | |
0 => | |
array ( | |
'name' => 'department', | |
'label' => 'LBL_DEPARTMENT', | |
), | |
1 => | |
array ( | |
'name' => 'phone_mobile', | |
'label' => 'LBL_MOBILE_PHONE', | |
), | |
), | |
3 => | |
array ( | |
0 => | |
array ( | |
'name' => 'account_name', | |
'label' => 'LBL_ACCOUNT_NAME', | |
'displayParams' => | |
array ( | |
'enableConnectors' => true, | |
'module' => 'Contacts', | |
'connectors' => | |
array ( | |
0 => 'ext_rest_linkedin', | |
), | |
), | |
), | |
1 => | |
array ( | |
'name' => 'phone_fax', | |
'label' => 'LBL_FAX_PHONE', | |
), | |
), | |
4 => | |
array ( | |
0 => | |
array ( | |
'name' => 'primary_address_street', | |
'label' => 'LBL_PRIMARY_ADDRESS', | |
'type' => 'address', | |
'displayParams' => | |
array ( | |
'key' => 'primary', | |
), | |
), | |
1 => | |
array ( | |
'name' => 'alt_address_street', | |
'label' => 'LBL_ALTERNATE_ADDRESS', | |
'type' => 'address', | |
'displayParams' => | |
array ( | |
'key' => 'alt', | |
), | |
), | |
), | |
5 => | |
array ( | |
0 => | |
array ( | |
'name' => 'email1', | |
'studio' => 'false', | |
'label' => 'LBL_EMAIL_ADDRESS', | |
), | |
), | |
6 => | |
array ( | |
0 => | |
array ( | |
'name' => 'description', | |
'comment' => 'Full text of the note', | |
'label' => 'LBL_DESCRIPTION', | |
), | |
), | |
), | |
'LBL_PANEL_ADVANCED' => | |
array ( | |
0 => | |
array ( | |
0 => | |
array ( | |
'name' => 'report_to_name', | |
'label' => 'LBL_REPORTS_TO', | |
), | |
1 => | |
array ( | |
'name' => 'sync_contact', | |
'comment' => 'Synch to outlook? (Meta-Data only)', | |
'label' => 'LBL_SYNC_CONTACT', | |
), | |
), | |
1 => | |
array ( | |
0 => | |
array ( | |
'name' => 'lead_source', | |
'comment' => 'How did the contact come about', | |
'label' => 'LBL_LEAD_SOURCE', | |
), | |
1 => | |
array ( | |
'name' => 'do_not_call', | |
'comment' => 'An indicator of whether contact can be called', | |
'label' => 'LBL_DO_NOT_CALL', | |
), | |
), | |
2 => | |
array ( | |
0 => | |
array ( | |
'name' => 'campaign_name', | |
'label' => 'LBL_CAMPAIGN', | |
), | |
), | |
), | |
'LBL_PANEL_ASSIGNMENT' => | |
array ( | |
0 => | |
array ( | |
0 => | |
array ( | |
'name' => 'assigned_user_name', | |
'label' => 'LBL_ASSIGNED_TO_NAME', | |
), | |
1 => | |
array ( | |
'name' => 'account_assigned_to', | |
'label' => 'LBL_ACCOUNT_ASSIGNED_TO', | |
), | |
2 => | |
array ( | |
'name' => 'assigned_account_user_link', | |
'label' => 'LBL_ACCOUNT_ASSIGNED_TO', | |
), | |
3 => | |
array ( | |
'name' => 'date_modified', | |
'customCode' => '{$fields.date_modified.value} {$APP.LBL_BY} {$fields.modified_by_name.value}', | |
'label' => 'LBL_DATE_MODIFIED', | |
), | |
), | |
1 => | |
array ( | |
0 => | |
array ( | |
'name' => 'date_entered', | |
'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$fields.created_by_name.value}', | |
'label' => 'LBL_DATE_ENTERED', | |
), | |
), | |
), | |
), | |
), | |
); | |
?> |
<?php | |
# File: custom/Extension/modules/Contacts/Ext/Language/it_it.lang.ext.php | |
$mod_strings = array_merge($mod_strings, | |
array( | |
'LBL_ACCOUNT_ASSIGNED_TO' => "Account assegnato a", | |
) | |
); |
<?php | |
# File: custom/Extension/modules/Contacts/Ext/Vardefs/sugarfield_account_assigned_to.ph | |
$dictionary['Contact']['fields']['account_assigned_to'] = array ( | |
'name' => 'account_assigned_to', | |
'rname' => 'assigned_user_id', | |
'id_name' => 'account_id', | |
'vname' => 'LBL_ACCOUNT_ASSIGNED_TO', | |
'type' => 'relate', | |
'join_name'=>'accounts', | |
'table' => 'accounts', | |
'isnull' => 'true', | |
'module' => 'Accounts', | |
'dbType' => 'id', | |
'reportable' => false, | |
'source' => 'non-db', | |
'massupdate' => false, | |
'duplicate_merge' => 'disabled', | |
); | |
$dictionary['Contact']['fields']['assigned_account_user_link'] = array ( | |
'name' => 'assigned_account_user_link', | |
'type' => 'relate', | |
'vname' => 'LBL_ASSIGNED_TO_USER', | |
'join_name'=>'Users', | |
'table' => 'Users', | |
'module' => 'Users', | |
'source' => 'non-db', | |
'rname' => 'full_name', | |
'id_name' => 'account_assigned_to', | |
'duplicate_merge'=>'enabled' | |
); | |
?> |
In realtà il link che compare sulla detailview del contatto porta alla scheda detailview dell'azienda, mentre il testo è l'id corretto dello user assegnato all'azienda...
In più se apporto modifiche alla maschera di dettaglio le modifiche apportate con lo zip svaniscono O_o
Ciao Gianluca,
sono stato molto impegnato e trovo solo adesso il tempo per risponderti.
L'esempio da me riportato mostra l'id dell'utente a cui è assegnato l'account collegato al contatto. Ho aggiornato il vardefext e detailview per mostrare il nome completo dell'utente. Spero che questo sia il tuo desiderato.
Ma la directory EJ8TJS~8 presente sulla tua installazione si chiama proprio così o si tratta di un errore di copia & incolla? Questo nome non mi torna, dovrebbe essere Ext, non vorrei che sia stato fatto qualche genere di modifica alquanto strana.
La directory working è utilizzata in genere dall'ambiente di studio. Mi sembra comunque strano che le modifiche apportate dall'installazione dello zip svaniscano con la modifica in studio.
Bye,
Antonio.
Ciao Antonio, l'installazione attraverso il modulo ha funzionato.
Ora analizzando il codice vedo che i file contenuti nello zip del modulo Contact custom vengono inseriti:
sugarcrm\custom\EJ8TJS~8\modules\Contacts\Ext\Vardefs\sugarfield_account_assigned_to.php
mentre mi sarei aspettato di trovarlo in:
sugarcrm\custom\Extension\modules\Contacts\Ext\Vardefs\sugarfield_account_assigned_to.php
e ancora:
sugarcrm\custom\working\modules\Contacts\metadata\detailviewdefs.php
pensavo dovesse andare in:
sugarcrm\custom\modules\Contacts\metadata\detailviewdefs.php
Quello che non capisco è:
ora le modifiche apportate mediante il modulo Contatti "custom" (lo zip che mi hai passato tu) funzionano correttamente, i file sono nelle directory che ti ho detto sopra, mentre nelle directory
custom/modules/Contacts/metadata/detailviewdefs.php
custom/Extension/modules/Contacts/Ext/Vardefs/sugarfield_account_assigned_to.php
ci sono ancora i miei file di ieri in cui avevo inserito a mano le modifiche che mi avevi consigliato tu, io mi aspettavo che avrebbe sovrascritto questi file, con la versione dello zip...
La directory EJ8TJS~8 in sugarcrm\custom\ esiste di default o è stata creata nella mia versione per contenere modifiche specifiche? (io sto lavorando su una versione di sugar 6.5.11 con personalizzazioni apportate da una società esterna).
Il tuo aiuto è stato preziosissimo, ma ho notato che viene inserito l'id dell'account (azienda) collegato, mentre a me serve il nome completo dell'utente assegnato all'account in relazione con il contatto (quindi ora ho un id che punta ad una azienda, di quella azienda mi serve il nome dell'assigned_user_id e la devo portare sul contatto).
Quindi in definitiva, per proseguire a sviluppare modifiche sul campo nuovo devo lavorare sulle directory in cui trovo i file dello zip (sugarcrm\custom\EJ8TJS~8\modules\Contacts\Ext\Vardefs\ sugarcrm\custom\working\modules\Contacts\metadata\ )?
Infine voglio ringraziarti per l'aiuto che mi stai dando con impegno quotidiano, davvero apprezzato. GRAZIE