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

View File

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