[Freeipa-users] How to add multivalued attribute to UI
Rob Crittenden
rcritten at redhat.com
Wed Sep 16 18:40:21 UTC 2015
John Duino wrote:
> Greetings!
>
> I am wanting to add a multivalued attribute (mailAlternateAddress, from objectClass:MailRecipient) to the User UI. We are running IPA 4.1.0-18.el7.centos.4.x86_64, on CentOS7. Adding it to the CLI was fairly straightforward.
> I have a plugin at /usr/share/ipa/ui/js/plugins/altemail/altemail.js that I basically copied/hacked from some other docs/example I found. Two problems:
> 1) It will only show the first entry of mailAlternateAddress it finds (which I assume is a limitation of the get_item() function.)
> 2) While it inserts a text box in the UI in the Contacts section, it does not have the same ADD and DELETE buttons that, say, the 'mail' attribute has.
>
> Any help would be appreciated! Here is the plugin:
> define([
> 'freeipa/phases',
> 'freeipa/user'],
> function(phases, user_mod) {
>
> //helper function
> function get_item(array, attr, value) {
>
> for (var i=0,l=array.length; i<l; i++) {
> if (array[i][attr] === value) return array[i];
> }
> return null;
> }
>
> var altemail_plugin = {};
>
> // adds 'mailalternateaddress' field into user details facet
> altemail_plugin.add_altemail_pre_op = function() {
>
> var facet = get_item(user_mod.entity_spec.facets, '$type', 'details');
> var section = get_item(facet.sections, 'name', 'contact');
> section.fields.push({
> type: 'multivalued',
> name: 'mailalternateaddress',
> label: 'E-mail Alias'
> });
> return true;
> };
>
> phases.on('customization', altemail_plugin.add_altemail_pre_op);
>
> return altemail_plugin;
> });
>
Do you have this configured in the user plugin? Perhaps some other piece
of the UI is confused because of either a missing or misconfigured value
for the attribute in the metadata.
If you do, how is the param configured?
rob
More information about the Freeipa-users
mailing list