Merge branch '2014.11-develop' into 2015.11
authorPhilipp Schüle <p.schuele@metaways.de>
Mon, 15 Feb 2016 11:16:28 +0000 (12:16 +0100)
committerPhilipp Schüle <p.schuele@metaways.de>
Mon, 15 Feb 2016 11:16:28 +0000 (12:16 +0100)
Conflicts:
tine20/Addressbook/js/ContactGrid.js

Change-Id: Icc36f634708854940beb29ff75a81e4e9b620d1e

1  2 
tests/tine20/Felamimail/Frontend/JsonTest.php
tine20/Addressbook/js/ContactGrid.js
tine20/Tinebase/Backend/Sql/Abstract.php

@@@ -239,81 -311,3 +239,86 @@@ Tine.Addressbook.ContactGridPanel = Ext
          });
      }
  });
-         { id: 'adr_one_countryname', header: i18n._('Country'), dataIndex: 'adr_one_countryname' },
 +
 +// Static Methods
 +
 +/**
 + * tid renderer
 + * 
 + * @private
 + * @return {String} HTML
 + */
 +Tine.Addressbook.ContactGridPanel.contactTypeRenderer = function(data, cell, record) {
 +    var i18n = Tine.Tinebase.appMgr.get('Addressbook').i18n,
 +        hasAccount = ((record.get && record.get('account_id')) || record.account_id),
 +        cssClass = hasAccount ? 'renderer_typeAccountIcon' : 'renderer_typeContactIcon',
 +        qtipText = Tine.Tinebase.common.doubleEncode(hasAccount ? i18n._('Contact of a user account') : i18n._('Contact'));
 +    
 +    return '<div ext:qtip="' + qtipText + '" style="background-position:0px;" class="' + cssClass + '">&#160</div>';
 +};
 +
 +Tine.Addressbook.ContactGridPanel.displayNameRenderer = function(data) {
 +    var i18n = Tine.Tinebase.appMgr.get('Addressbook').i18n;
 +    return data ? data : ('<div class="renderer_displayNameRenderer_noName">' + i18n._('No name') + '</div>');
 +};
 +
++Tine.Addressbook.ContactGridPanel.countryRenderer = function(data) {
++    data = Locale.getTranslationData('CountryList', data);
++    return data;
++};
++
 +/**
 + * Statically constructs the columns used to represent a contact. Reused by ListMemberGridPanel
 + *
 + */
 +Tine.Addressbook.ContactGridPanel.getBaseColumns = function(i18n) {
 +    return [
 +        { id: 'tid', header: i18n._('Type'), dataIndex: 'tid', width: 30, renderer: Tine.Addressbook.ContactGridPanel.contactTypeRenderer.createDelegate(this), hidden: false },
 +        { id: 'tags', header: i18n._('Tags'), dataIndex: 'tags', width: 50, renderer: Tine.Tinebase.common.tagsRenderer, sortable: false, hidden: false  },
 +        { id: 'salutation', header: i18n._('Salutation'), dataIndex: 'salutation', renderer: Tine.Tinebase.widgets.keyfield.Renderer.get('Addressbook', 'contactSalutation') },
 +        {
 +            id: 'container_id',
 +            dataIndex: 'container_id',
 +            header: Tine.Addressbook.Model.Contact.getContainerName(),
 +            width: 150,
 +            renderer: Tine.Tinebase.common.containerRenderer
 +        },
 +        { id: 'n_prefix', header: i18n._('Title'), dataIndex: 'n_prefix', width: 80 },
 +        { id: 'n_middle', header: i18n._('Middle Name'), dataIndex: 'n_middle', width: 80 },
 +        { id: 'n_family', header: i18n._('Last Name'), dataIndex: 'n_family' },
 +        { id: 'n_given', header: i18n._('First Name'), dataIndex: 'n_given', width: 80 },
 +        { id: 'n_fn', header: i18n._('Full Name'), dataIndex: 'n_fn', renderer: Tine.Addressbook.ContactGridPanel.displayNameRenderer },
 +        { id: 'n_fileas', header: i18n._('Display Name'), dataIndex: 'n_fileas', hidden: false, renderer: Tine.Addressbook.ContactGridPanel.displayNameRenderer},
 +        { id: 'org_name', header: i18n._('Company'), dataIndex: 'org_name', width: 120, hidden: false },
 +        { id: 'org_unit', header: i18n._('Unit'), dataIndex: 'org_unit'  },
 +        { id: 'title', header: i18n._('Job Title'), dataIndex: 'title' },
 +//            { id: 'role', header: i18n._('Job Role'), dataIndex: 'role' },
 +//            { id: 'room', header: i18n._('Room'), dataIndex: 'room' },
 +        { id: 'adr_one_street', header: i18n._('Street'), dataIndex: 'adr_one_street' },
 +        { id: 'adr_one_locality', header: i18n._('City'), dataIndex: 'adr_one_locality', width: 150, hidden: false },
 +        { id: 'adr_one_region', header: i18n._('Region'), dataIndex: 'adr_one_region' },
 +        { id: 'adr_one_postalcode', header: i18n._('Postalcode'), dataIndex: 'adr_one_postalcode' },
-         { id: 'adr_two_countryname', header: i18n._('Country (private)'), dataIndex: 'adr_two_countryname' },
++        { id: 'adr_one_countryname', header: i18n._('Country'), dataIndex: 'adr_one_countryname', renderer: Tine.Addressbook.ContactGridPanel.countryRenderer },
 +        { id: 'adr_two_street', header: i18n._('Street (private)'), dataIndex: 'adr_two_street' },
 +        { id: 'adr_two_locality', header: i18n._('City (private)'), dataIndex: 'adr_two_locality' },
 +        { id: 'adr_two_region', header: i18n._('Region (private)'), dataIndex: 'adr_two_region' },
 +        { id: 'adr_two_postalcode', header: i18n._('Postalcode (private)'), dataIndex: 'adr_two_postalcode' },
++        { id: 'adr_two_countryname', header: i18n._('Country (private)'), dataIndex: 'adr_two_countryname', renderer: Tine.Addressbook.ContactGridPanel.countryRenderer },
 +        { id: 'email', header: i18n._('Email'), dataIndex: 'email', width: 150, hidden: false },
 +        { id: 'tel_work', header: i18n._('Phone'), dataIndex: 'tel_work', hidden: false },
 +        { id: 'tel_cell', header: i18n._('Mobile'), dataIndex: 'tel_cell', hidden: false },
 +        { id: 'tel_fax', header: i18n._('Fax'), dataIndex: 'tel_fax' },
 +        { id: 'tel_car', header: i18n._('Car phone'), dataIndex: 'tel_car' },
 +        { id: 'tel_pager', header: i18n._('Pager'), dataIndex: 'tel_pager' },
 +        { id: 'tel_home', header: i18n._('Phone (private)'), dataIndex: 'tel_home' },
 +        { id: 'tel_fax_home', header: i18n._('Fax (private)'), dataIndex: 'tel_fax_home' },
 +        { id: 'tel_cell_private', header: i18n._('Mobile (private)'), dataIndex: 'tel_cell_private' },
 +        { id: 'email_home', header: i18n._('Email (private)'), dataIndex: 'email_home' },
 +        { id: 'url', header: i18n._('Web'), dataIndex: 'url' },
 +        { id: 'url_home', header: i18n._('URL (private)'), dataIndex: 'url_home' },
 +        { id: 'note', header: i18n._('Note'), dataIndex: 'note' },
 +        { id: 'tz', header: i18n._('Timezone'), dataIndex: 'tz' },
 +        { id: 'geo', header: i18n._('Geo'), dataIndex: 'geo' },
 +        { id: 'bday', header: i18n._('Birthday'), dataIndex: 'bday', renderer: Tine.Tinebase.common.dateRenderer }
 +    ]
 +};