On 11/09/2017 10:34 AM, barrykfl@gmail.com wrote:
The 1111 will disappear after saved pressed . it will chnage to 1111 in ldap but the UI field blank not store.

Now I understand, thank you. Could you please show me how you specified this new option in python code? Or you can check API Browser (IPA Server -> API Browser) in WebUI and find user-mod command there.

The value is load from JSON which is returned by server (user-show). Then basically WebUI go through all fields in page and tries to find attribute in JSON response which is called the same as value of 'name' attribute in field spec (in your case 'comDate'). Do you see 'comDate' attribute in JSON response? (You can check that in developer console in browser in Network tab, in respective call.)
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 cdate_plugin = {};


  cdate_plugin.add_c_date = function() {

    var facet = get_item(user_mod.entity_spec.facets, '$type', 'details');

    var section = get_item(facet.sections, 'name', 'identity');

    section.fields.push({
      flags: ['w_if_no_aci'],
  $type: 'multivalued',
  name: 'comDate', 
      label: 'Commencement Date'
      
    });

    return true;

  };


  phases.on('customization', cdate_plugin.add_c_date);


  return cdate_plugin;

});

內置圖片 1

2017-11-09 16:51 GMT+08:00 Pavel Vomacka <pvomacka@redhat.com>:


On 11/09/2017 09:18 AM, barrykfl@gmail.com wrote:
Now work at certain area limitation:

It can update successfully  BUT no view on UI  , then I tried replace "textarea" as before it come a big field but also no view my result. ( but it really updated)
Could you please reformulate it? I'm not sure whether I understand what's the problem now.


 section.fields.push({
      flags: ['w_if_no_aci'],
   $type: 'multivalued',
   name: 'comDate',
      label: 'Commencement Date'
     
    });

內置圖片 1



2017-11-09 16:06 GMT+08:00 Pavel Vomacka <pvomacka@redhat.com>:


On 11/09/2017 09:00 AM, barrykfl@gmail.com wrote:
Add like this ...now the label gone nothing shown.  

 section.fields.push({
      flags: ['w_if_no_aci']
   $type: 'multivalued',
   name: 'comDate',
      label: 'Commencement Date'
     
    });
Yes, that's because of missing colon at the end of 'flags: ...' line. You can open Developer Console in browser (F12) and you will see an error.



2017-11-09 15:50 GMT+08:00 Pavel Vomacka <pvomacka@redhat.com>:


On 11/09/2017 08:36 AM, barrykfl@gmail.com wrote:
Same Like this Lable no field no edit no save but fine in command base ...any different freeipa4.0 vs 3.0 procedure?
Do you have IPA 4.x ? Or which version?

Try to add following line into the specification of your new field:

flags: ['w_if_no_aci']


內置圖片 2

2017-11-09 14:44 GMT+08:00 Pavel Vomacka <pvomacka@redhat.com>:

On 11/08/2017 07:29 AM, barrykfl--- via FreeIPA-users wrote:

Hi,
Dear all:

I follow the guide of freeipa 3.0 abt web plugin web ui. At command base I successfully  made
a custom attribute called Employee " Commencement Date" . I can add using script / command.

BUT in web UI , it Display "Commencent date" Label only ....and cannot display edit field and allow me edit.

After That I changed to Multivalue the field come out but still the save button is grey I cannot save again.

Which part I made wrong ? please advise . thx

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 cdate_plugin = {};

  cdate_plugin.add_c_date = function() {
    var facet = get_item(user_mod.entity_spec.facets, '$type', 'details');
    var section = get_item(facet.sections, 'name', 'identity');
    section.fields.push({
      $name: 'comDate',
The dollar character should be at the beginning of type attribute not the name. So try to change it to:
name: 'comDate',
$type: 'multivalued'
      type: 'multivalued',
     
      label: 'Commencement Date'
    });
    return true;
  };

  phases.on('customization', cdate_plugin.add_c_date);

  return cdate_plugin;
});


Does it help?

_______________________________________________
FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
To unsubscribe send an email to freeipa-users-leave@lists.fedorahosted.org

-- 
Pavel^3 Vomacka


-- 
Pavel^3 Vomacka


-- 
Pavel^3 Vomacka


-- 
Pavel^3 Vomacka


-- 
Pavel^3 Vomacka