[Freeipa-devel] [PATCH] Change the behaviour of addattr/setattr parameters
Adam Young
ayoung at redhat.com
Fri Aug 13 20:51:39 UTC 2010
On 08/13/2010 04:24 PM, Adam Young wrote:
> On 08/12/2010 09:35 AM, Pavel Zůna wrote:
>> On 2010-08-12 14:38, Rob Crittenden wrote:
>>> Pavel Zůna wrote:
>>>> On 2010-08-12 04:46, Rob Crittenden wrote:
>>>>> Pavel Zůna wrote:
>>>>>> setattr and addattr can now be used both to set all values of
>>>>>> ANY attribute. the last setattr always resets the attribute to
>>>>>> the specified value and all addattr append to it.
>>>>>>
>>>>>> Examples:
>>>>>> user-mod testuser --setattr=title=msc
>>>>>> title: msc
>>>>>> user-mod testuser --setattr=title=msb
>>>>>> title: msb
>>>>>> user-mod testuser --addattr=title=msc
>>>>>> title: msb, msc
>>>>>> user-mod testuser --setattr=title=
>>>>>> title:
>>>>>> user-mod testuser --setattr=title=msc --addattr=msb
>>>>>> title: msc, msb
>>>>>> user-mod testuser --setattr=title=ing --addattr=bc
>>>>>> title: ing, bc
>>>>>> user-mod testuser --setattr=title=doc
>>>>>> title: doc
>>>>>>
>>>>>> It's not very user friendly, but it's going to be used very very
>>>>>> rarely in special conditions in the CLI and we can use it to save
>>>>>> lots of JSON-RPC roundtrips in the webUI.
>>>>>>
>>>>>> Pavel
>>>>>
>>>>> It was my intention when I added addattr and setattr that one
>>>>> couldn't
>>>>> set already-defined params this way. They were silently ignored.
>>>>> So you
>>>>> couldn't do:
>>>>>
>>>>> user-mod testuser --setattr=givenname=Jeff
>>>>>
>>>>> This would be possible with this patch. Was that intentional?
>>>>>
>>>>> BTW I have the start of a test suite for this functionality.
>>>>>
>>>>> rob
>>>>
>>>> Yes, it is intentional. I forgot to mention it in the description. I'm
>>>> using setattr/addattr for everything in the webUI - it makes the
>>>> code a
>>>> lot simpler.
>>>
>>> Doesn't that invalidate all the validators we have in the plugins? This
>>> is why I disallowed it.
>>>
>>> rob
>>
>> It does, but I see these options as something only experienced users,
>> who need to set something we don't support directly, will use.
>> Sometimes they might want to disable the validators, if they know
>> what they're doing. We could also make the setattr/addattr handler in
>> frontend.py detect if a there's a validator available and use it.
>>
>> Validators in the webUI is still something we need to figure out.
>> Adam was proposing having validators in the form of regex strings,
>> which is not a bad idea as it's easy to implement on any
>> platform/language. On the other hand, I don't know if it's good
>> enough for all parameters we have.
>>
>> Hmm. There's a lot to think about here actually. I'll make it my
>> homework for the weekend. :)
>>
>> Pavel
>>
>> _______________________________________________
>> Freeipa-devel mailing list
>> Freeipa-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/freeipa-devel
>
>
> Here's my version, that just calls the parameter prior to updating the
> attr. I tested it with:
>
> [root at ipa ~]# ipa user-mod --setattr uidnumber=555 kfrog
> ---------------------
> Modified user "kfrog"
> ---------------------
> User login: kfrog
> First name: Kermit
> Last name: Frog
> Home directory: /home/kfrog
> Login shell: /bin/sh
> UID: 555
> Groups: ipausers
> [root at ipa ~]# ipa user-mod --setattr uidnumber=frog kfrog
> ipa: ERROR: invalid 'uidnumber': must be an integer
>
>
>
>
> _______________________________________________
> Freeipa-devel mailing list
> Freeipa-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/
Pushed to Master. ACKed in IRC by rcrit, and based on a pzuna patch
reviewd by both myself and rcrit
> freeipa-devel
Since this was a diff to a Patch ACK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20100813/f3f8275b/attachment.htm>
More information about the Freeipa-devel
mailing list