Finally I found which location is wrong , IT is in the JS "comDate"....If I
rename it to "comdate" small letter it can saved and display,

I claim on ldap customPerson is using this "comDate" so I mislead that  I
should use same in JS and Plugin... ANYONE can explain ?...as I still have
some confusion why it work. ( I try change all to comDate in plugin but it
fail)

attributeTypes: ( 2.25.28639311321113238241701611583088740684.14.2.2
NAME 'comDate' EQUALITY caseIgnoreMatch


  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',
      type: 'multivalued',
      label: 'Commencement Date'
    });
    return true;
  };

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

  return cdate_plugin;
});

from ipaserver.plugins.user import user
from ipalib.parameters import Str
from ipalib.text import _
from ipalib import _
user.takes_params += (
        Str('comdate?',
            cli_name='comdate',
            label=_('Commencement Date'),
            ),
        )
user.default_attributes.append('comdate')


2017-11-09 20:20 GMT+08:00 Alexander Bokovoy <aboko...@redhat.com>:

> On to, 09 marras 2017, barrykfl--- via FreeIPA-users wrote:
>
>> Hi:
>>
>> May be I missed write something on JSON..
>>
>> But  I can use in command shell successfully.  ipa user-mod  apigee
>> --setattr comDate=1111  then ldap will appear user-show all will see.
>>
>> Any reference link  if I missed ?
>>
> See https://github.com/abbra/freeipa-userstatus-plugin as an example of
> how you can do that in a full plugin.
>
>
>
>
>> 2017-11-09 17:43 GMT+08:00 Pavel Vomacka <pvoma...@redhat.com>:
>>
>>
>>>
>>> On 11/09/2017 10:34 AM, barry...@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;
>>>
>>> });
>>>
>>> [image: 內置圖片 1]
>>>
>>> 2017-11-09 16:51 GMT+08:00 Pavel Vomacka <pvoma...@redhat.com>:
>>>
>>>
>>>>
>>>> On 11/09/2017 09:18 AM, barry...@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'
>>>>
>>>>     });
>>>>
>>>> [image: 內置圖片 1]
>>>>
>>>>
>>>>
>>>> 2017-11-09 16:06 GMT+08:00 Pavel Vomacka <pvoma...@redhat.com>:
>>>>
>>>>
>>>>>
>>>>> On 11/09/2017 09:00 AM, barry...@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 <pvoma...@redhat.com>:
>>>>>
>>>>>
>>>>>>
>>>>>> On 11/09/2017 08:36 AM, barry...@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']
>>>>>>
>>>>>>
>>>>>> [image: 內置圖片 2]
>>>>>>
>>>>>> 2017-11-09 14:44 GMT+08:00 Pavel Vomacka <pvoma...@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-le...@lists.fedo
>>>>>>> rahosted.org
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Pavel^3 Vomacka
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> Pavel^3 Vomacka
>>>>>>
>>>>>>
>>>>>>
>>>>> --
>>>>> Pavel^3 Vomacka
>>>>>
>>>>>
>>>>>
>>>> --
>>>> Pavel^3 Vomacka
>>>>
>>>>
>>>>
>>> --
>>> Pavel^3 Vomacka
>>>
>>>
>>>
> _______________________________________________
>> FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
>> To unsubscribe send an email to freeipa-users-le...@lists.fedo
>> rahosted.org
>>
>
>
> --
> / Alexander Bokovoy
>
_______________________________________________
FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
To unsubscribe send an email to freeipa-users-le...@lists.fedorahosted.org

Reply via email to