Update Permission and ACI plugins to decorator registration API

This commit is contained in:
Petr Viktorin
2013-09-12 10:43:44 +02:00
committed by Martin Kosek
parent 7d341937ff
commit 7051f510b6
2 changed files with 24 additions and 30 deletions

View File

@@ -125,10 +125,13 @@ from ipalib import Flag, Int, Str, StrEnum
from ipalib.aci import ACI from ipalib.aci import ACI
from ipalib import output from ipalib import output
from ipalib import _, ngettext from ipalib import _, ngettext
from ipalib.plugable import Registry
from ipalib.plugins.baseldap import gen_pkey_only_option from ipalib.plugins.baseldap import gen_pkey_only_option
from ipapython.ipa_log_manager import * from ipapython.ipa_log_manager import *
from ipapython.dn import DN from ipapython.dn import DN
register = Registry()
ACI_NAME_PREFIX_SEP = ":" ACI_NAME_PREFIX_SEP = ":"
_type_map = { _type_map = {
@@ -419,6 +422,8 @@ _prefix_option = StrEnum('aciprefix',
values=_valid_prefix_values, values=_valid_prefix_values,
) )
@register()
class aci(Object): class aci(Object):
""" """
ACI object. ACI object.
@@ -501,8 +506,8 @@ class aci(Object):
), ),
) )
api.register(aci)
@register()
class aci_add(crud.Create): class aci_add(crud.Create):
""" """
Create new ACI. Create new ACI.
@@ -555,9 +560,8 @@ class aci_add(crud.Create):
value=aciname, value=aciname,
) )
api.register(aci_add)
@register()
class aci_del(crud.Delete): class aci_del(crud.Delete):
""" """
Delete ACI. Delete ACI.
@@ -597,9 +601,8 @@ class aci_del(crud.Delete):
value=aciname, value=aciname,
) )
api.register(aci_del)
@register()
class aci_mod(crud.Update): class aci_mod(crud.Update):
""" """
Modify ACI. Modify ACI.
@@ -666,9 +669,8 @@ class aci_mod(crud.Update):
value=aciname, value=aciname,
) )
api.register(aci_mod)
@register()
class aci_find(crud.Search): class aci_find(crud.Search):
""" """
Search for ACIs. Search for ACIs.
@@ -872,9 +874,8 @@ class aci_find(crud.Search):
truncated=False, truncated=False,
) )
api.register(aci_find)
@register()
class aci_show(crud.Retrieve): class aci_show(crud.Retrieve):
""" """
Display a single ACI given an ACI name. Display a single ACI given an ACI name.
@@ -914,9 +915,8 @@ class aci_show(crud.Retrieve):
value=aciname, value=aciname,
) )
api.register(aci_show)
@register()
class aci_rename(crud.Update): class aci_rename(crud.Update):
""" """
Rename an ACI. Rename an ACI.
@@ -976,5 +976,3 @@ class aci_rename(crud.Update):
result=result, result=result,
value=kw['newname'], value=kw['newname'],
) )
api.register(aci_rename)

View File

@@ -20,6 +20,7 @@
from ipalib.plugins.baseldap import * from ipalib.plugins.baseldap import *
from ipalib import api, _, ngettext from ipalib import api, _, ngettext
from ipalib import Flag, Str, StrEnum from ipalib import Flag, Str, StrEnum
from ipalib.plugable import Registry
from ipalib.request import context from ipalib.request import context
from ipalib import errors from ipalib import errors
from ipapython.dn import DN, EditableDN from ipapython.dn import DN, EditableDN
@@ -80,6 +81,8 @@ EXAMPLES:
ACI_PREFIX=u"permission" ACI_PREFIX=u"permission"
register = Registry()
output_params = ( output_params = (
Str('ipapermissiontype', Str('ipapermissiontype',
label=_('Permission Type'), label=_('Permission Type'),
@@ -99,6 +102,8 @@ def filter_options(options, keys):
""" """
return dict((k, options[k]) for k in keys if k in options) return dict((k, options[k]) for k in keys if k in options)
@register()
class permission(LDAPObject): class permission(LDAPObject):
""" """
Permission object. Permission object.
@@ -194,9 +199,8 @@ class permission(LDAPObject):
return dict((k, v) for k, v in options.items() if return dict((k, v) for k, v in options.items() if
k in self.aci_attributes) k in self.aci_attributes)
api.register(permission)
@register()
class permission_add(LDAPCreate): class permission_add(LDAPCreate):
__doc__ = _('Add a new permission.') __doc__ = _('Add a new permission.')
@@ -251,8 +255,8 @@ class permission_add(LDAPCreate):
raise e raise e
return dn return dn
api.register(permission_add)
@register()
class permission_add_noaci(LDAPCreate): class permission_add_noaci(LDAPCreate):
__doc__ = _('Add a system permission without an ACI') __doc__ = _('Add a system permission without an ACI')
@@ -285,9 +289,8 @@ class permission_add_noaci(LDAPCreate):
entry_attrs['ipapermissiontype'] = [ permission_type ] entry_attrs['ipapermissiontype'] = [ permission_type ]
return dn return dn
api.register(permission_add_noaci)
@register()
class permission_del(LDAPDelete): class permission_del(LDAPDelete):
__doc__ = _('Delete a permission.') __doc__ = _('Delete a permission.')
@@ -313,9 +316,8 @@ class permission_del(LDAPDelete):
pass pass
return dn return dn
api.register(permission_del)
@register()
class permission_mod(LDAPUpdate): class permission_mod(LDAPUpdate):
__doc__ = _('Modify a permission.') __doc__ = _('Modify a permission.')
@@ -403,9 +405,8 @@ class permission_mod(LDAPUpdate):
entry_attrs[r] = result[r] entry_attrs[r] = result[r]
return dn return dn
api.register(permission_mod)
@register()
class permission_find(LDAPSearch): class permission_find(LDAPSearch):
__doc__ = _('Search for permissions.') __doc__ = _('Search for permissions.')
@@ -485,9 +486,8 @@ class permission_find(LDAPSearch):
break break
return truncated return truncated
api.register(permission_find)
@register()
class permission_show(LDAPRetrieve): class permission_show(LDAPRetrieve):
__doc__ = _('Display information about a permission.') __doc__ = _('Display information about a permission.')
@@ -510,22 +510,18 @@ class permission_show(LDAPRetrieve):
entry_attrs['attributelevelrights'][attr] = entry_attrs['attributelevelrights']['aci'] entry_attrs['attributelevelrights'][attr] = entry_attrs['attributelevelrights']['aci']
return dn return dn
api.register(permission_show)
@register()
class permission_add_member(LDAPAddMember): class permission_add_member(LDAPAddMember):
""" """
Add members to a permission. Add members to a permission.
""" """
NO_CLI = True NO_CLI = True
api.register(permission_add_member)
@register()
class permission_remove_member(LDAPRemoveMember): class permission_remove_member(LDAPRemoveMember):
""" """
Remove members from a permission. Remove members from a permission.
""" """
NO_CLI = True NO_CLI = True
api.register(permission_remove_member)