Default value in a multiselect inherited from a field in another module

Hi all

I think I´ve seen an answer to this but can´t find it now - maybe I just dreamt it 

I have a multiselect field on the Contacts record (field B).

The same dropdown list is in a field on the Accounts record (field A).

When creating a new Contact, I want to give field B a default value that is the same as in the field A (on it´s Accounts related record). Basically field B = field A at that point.

How can I achieve taht?

Thanks,

KGM

Parents
  • Hi Kristjan Geir Mathiesen

    Can you try this and let me know.

    While creating a dropdown you will be giving a name, with that we can manage.

    this.model.fields['FieldB or FieldA'].options = app.lang.getAppListStrings('your-dropdownlist-name');  

    Let me know for further Help..

    Here is the full code example;

    ({ extendsFrom: 'CreateActionsView',  
        initialize: function (options) {        
            this._super('initialize', [options]);      
            this._filterDropdown(); 
        }, 
        _filterDropdown : function() { 
            this.model.fields['FieldB or FieldA'].options = app.lang.getAppListStrings('your-dropdownlist-name'); 
        }, 
        _dispose: function() {  
            this._super('_dispose');  
        }      
    }); 

    Hope this Helps..!!

    Best Regards

    S Ramana Raju

  • Hi Kristjan Geir Mathiesen

    For Question 1: 

    If you want target_group_list  to field target_group_contact_c then do as:

    ({ extendsFrom: 'CreateActionsView',  
        initialize: function (options) {        
            this._super('initialize', [options]);      
            this._filterDropdown(); 
        }, 
        _filterDropdown : function() { 
            this.model.fields['target_group_contact_c'].options = app.lang.getAppListStrings('target_group_list');  
        }, 
        _dispose: function() {  
            this._super('_dispose');  
        }      
    }); 

    For Question 2:

    Keep this code in

    custom/modules/Contacts/clients/base/views/create.js file

    For Question 3:

    No need of changing to Multi or Dropdown, we can give any name..

    Hope this Helps..!!

    Best Regards

    S Ramana Raju

Reply
  • Hi Kristjan Geir Mathiesen

    For Question 1: 

    If you want target_group_list  to field target_group_contact_c then do as:

    ({ extendsFrom: 'CreateActionsView',  
        initialize: function (options) {        
            this._super('initialize', [options]);      
            this._filterDropdown(); 
        }, 
        _filterDropdown : function() { 
            this.model.fields['target_group_contact_c'].options = app.lang.getAppListStrings('target_group_list');  
        }, 
        _dispose: function() {  
            this._super('_dispose');  
        }      
    }); 

    For Question 2:

    Keep this code in

    custom/modules/Contacts/clients/base/views/create.js file

    For Question 3:

    No need of changing to Multi or Dropdown, we can give any name..

    Hope this Helps..!!

    Best Regards

    S Ramana Raju

Children
  • Our case is display MultiSelect field from Accounts in Contacts:

    1. add field in record.php in /custom/modules/Contacts/clients/base/views/record:

    3 =>
    array (
       'name' => 'account_industry', //your field name
       'type' => 'multienum',
       'options' => 'industry_dom', // your dom
       'isMultiSelect' => true,
       'readonly' => true,
       'label' => 'LBL_ACC_INDUSTRIES',
    ),

    2. define field in vardef in /custom/Extension/modules/Contacts/Ext/Vardefs/sugarfield_{your_field}.php:

    $dictionary['Contact']['fields']['account_industry'] = array(
       'name' => 'account_industry', // your field name in Contacts
       'rname' => '{your_field_in_Accounts}',
       'id_name' => 'account_id',
       'vname' => 'LBL_ACCOUNT_NAME',
       'join_name' => 'accounts',
       'type' => 'relate',
       'link' => 'accounts',
       'table' => 'accounts',
       'isnull' => 'true',
       'module' => 'Accounts',
       'source' => 'non-db',
    );

    Hope it will help you guys!

    Made by [iZeno].