Sugar 7 Contact module record view header add middle name

Hello,

I want to add middle name record view header pane in contact module.

Ramana Raju Santhana Francesca Shiekh Alan Apter

Thanks

Dipesh

Offshore Evolution Pvt Ltd

Parents Reply Children
  • Adding the middle name to the view metadata is not enough, you have to retrieve the middle name when you retrieve the field "Full Name" which is really a composition of fields.

    You need to add the middle name to your customized fullname field type. Look at:
    <your_sugar_root>/jssource/src_files/clients/base/fields/fullname/fullname.js

    to see if you can understand how full name is composed.

     

    I've not played with it but for one thing you can see that there is a format map:

        formatMap: {

            'f': 'first_name',

            'l': 'last_name',

            's': 'salutation'

        },

    that does not currently include the middle name (which I believe is a custom field).

     

    You can copy that fullname.js to custom/clients/base/fields/fullname/fullname.js (create any part of the directory that doesn't already exist) and "play" with it. It looks like it may be enough to add middle name to the format map, perhaps something like:

     

        formatMap: {

            'f': 'first_name',

            'l': 'last_name',

            's': 'salutation',

            'm':'middle_name_c' <--- make sure this matches your field name

        },

     

     

    You can see the initialize function gets the field definition from the formatMap.

    I have not tried this myself so just "play" with it a bit and see what you can deduce from the original fullname.js

     

    HTH

    FrancescaS

  • HiFrancesca Shiekh ,

    custom/modules/Contacts/clients/base/fields/fullname/fullname.js

    /*
    * I only wanted to apply this change to the Contacts modules so I put this file in:
    * custom/modules/Contacts/clients/base/fields/fullname/
    */
    ({
    extendsFrom: 'FullnameField',

    formatMap: {
    'f': 'first_name',
    'l': 'last_name',
    's': 'salutation',
    'm': 'middle_name_c'
    },

    initialize: function(options) {
    // override the name format for this module
    app.user.setPreference('default_locale_name_format', 's f m l');

    this._super('initialize', [options]);
    },

    format: function() {
    var fullname = this.model.attributes.salutation +' '+ this.model.attributes.first_name +' ';
    fullname += this.model.attributes.middle_name_c +' '+ this.model.attributes.last_name;

    return fullname;
    },
    })

    It display with middle name. 

    When I will save record, It will store with Database.

    Thanks

    Offshore Evolution Pvt Ltd