On 05/14/2014 12:27 PM, thierry bordaz wrote:
On 05/14/2014 12:01 PM, Petr Viktorin wrote:
On 05/14/2014 11:21 AM, thierry bordaz wrote:
Hello,

    Quite beginner in freeipa land, I am trying to add options to
    'user-add' sub-command but desperately failing to make it work.
    I did the following modification:

        diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py
        index 9b21200..0c36e35 100644
        --- a/ipalib/plugins/user.py
        +++ b/ipalib/plugins/user.py
        @@ -365,6 +365,20 @@ class user(LDAPObject):
                      csv=True,
                      flags=['no_search'],
                  ),
        +        Flag('tostage?',
        +            doc=_('Create user in staging container'),
        +            flags=('no_search', 'virtual_attribute'),
        +            cli_name='to_stage',
        +            default=False,
        +        ),
        +        Str('uidstaged?',
        +
pattern='^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,252}[a-zA-Z0-9_.$-]?$',
        +            pattern_errmsg='may only include letters, numbers,
        _, -, . and $',
        +            maxlength=255,
        +            cli_name='from_staged',
        +            label=_('Activate the User currently in the staging
        container'),
        +            normalizer=lambda value: value.lower(),
        +        ),
              )

              def _normalize_and_validate_email(self, email,
config=None):
        @@ -436,12 +450,16 @@ class user_add(LDAPCreate):
              msg_summary = _('Added user "%(value)s"')

              has_output_params = LDAPCreate.has_output_params +
        user_output_params
        +
        +    #internal_options = ['tostage', 'uidstaged']

              takes_options = LDAPCreate.takes_options + (
                  Flag('noprivate',
                      cli_name='noprivate',
                      doc=_('Don\'t create user private group'),
                  ),
        +
        +
              )


    The command 'ipa user-add --help' succeeds giving me the correct
    help message. But when I try to add the user it fails:

        ipa user-add foo --to-stage --first=foo --last=foo
        ipa: ERROR: Unknown option: tostage


    This seems to occur because the frontend find this is a 'remaining'
    option.. but what does it means ?
    I tried to add the new options as internal options, or with
    different names, but it gives the same results.
    I know it is a very novice question, but I have really no idea I
    should fix it. Anyone know what I am missing ?

    regards
    thierry

Hi,
Adding these options works for me; I think the most likely reason is
you're still using the old version. Did you install the changed file
properly? If you're just copying the .py file to /usr/lib, remember to
restart Apache.

Hi Petr,

    Thanks for the info.
    I am using the cli, not the web interface and I installed just
    copying user.py to
    /usr/lib/python2.7/site-packages/ipalib/plugins/user.py.
    I believe I am using the new version as the '--help' option shows
    the new added options '--to-stage' and '--from-stage'.

The CLI talks to the server, and the options are validated again at the server. The --help shows only the client part of the picture.
Do try restarting Apache (`sudo apachectl graceful`).

    Did you succeed to add a user with something like: ipa user-add foo
    --to-stage --first=foo --last=foo ?

Yes.

    may be something bad with my deployment I am using freeipa 3.3. Did
    you test on master ?

Yes, I tested on master, but I don't think that should be an issue.


--
PetrĀ³

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to