personas Package

personas Package

承認システム用カスタムユーザApp

filters Module

class kawaz.core.personas.filters.PersonaFilter(data=None, queryset=None, prefix=None, strict=None, request=None)[source]

Bases: django_filters.filterset.FilterSet

class Meta[source]

Bases: object

exclude = ('avatar',)
model

alias of Persona

PersonaFilter.base_filters = OrderedDict([('password', <django_filters.filters.CharFilter object at 0x7f202e5fddd8>), ('last_login', <django_filters.filters.DateTimeFilter object at 0x7f202e5fd4a8>), ('groups', <django_filters.filters.ModelMultipleChoiceFilter object at 0x7f202e5fd4e0>), ('user_permissions', <django_filters.filters.ModelMultipleChoiceFilter object at 0x7f202e5fd940>), ('username', <django_filters.filters.CharFilter object at 0x7f202e5fd668>), ('first_name', <django_filters.filters.CharFilter object at 0x7f202e5fdc50>), ('last_name', <django_filters.filters.CharFilter object at 0x7f202e5f9a58>), ('email', <django_filters.filters.CharFilter object at 0x7f202e5f9320>), ('is_active', <django_filters.filters.BooleanFilter object at 0x7f202e5f91d0>), ('date_joined', <django_filters.filters.DateTimeFilter object at 0x7f202e5f22e8>), ('nickname', <django_filters.filters.CharFilter object at 0x7f202e5f2400>), ('quotes', <django_filters.filters.CharFilter object at 0x7f202e5f2588>), ('gender', <django_filters.filters.ChoiceFilter object at 0x7f202e5f2518>), ('role', <django_filters.filters.ChoiceFilter object at 0x7f202e5f24a8>), ('skills', <django_filters.filters.ModelChoiceFilter object at 0x7f202e5fdd68>)])
PersonaFilter.declared_filters = OrderedDict([('skills', <django_filters.filters.ModelChoiceFilter object at 0x7f202e5fdd68>)])

perms Module

class kawaz.core.personas.perms.AdamPermissionLogic(any_permission=False, add_permission=False, change_permission=False, delete_permission=False)[source]

Bases: kawaz.core.personas.perms.BaseRolePermissionLogic

Permission logic class to allow permissions to over `Adam`(superuser) role user

role_names = ['adam']
class kawaz.core.personas.perms.BaseRolePermissionLogic(any_permission=False, add_permission=False, change_permission=False, delete_permission=False)[source]

Bases: permission.logics.base.PermissionLogic

Permission logic class for role based permission system It is checked by user_obj.role

has_perm(user_obj, perm, obj=None)[source]

Check if user have permission (of object) It is determined from the user_obj.role.

If no object is specified, if any_permission is True it returns True. if else returns False.

If an object is specified, it will return True if the user’s role is contained in role_names.

Parameters:
  • user_obj (django user model instance) – A django user model instance which be checked
  • perm (string) – app_label.codename formatted permission string
  • obj (None or django model instance) – None or django model instance for object permission
Returns:

Wheter the specified user have specified permission (of specified object).

Return type:

boolean

role_names = []
class kawaz.core.personas.perms.ChildrenPermissionLogic(any_permission=False, add_permission=False, change_permission=False, delete_permission=False)[source]

Bases: kawaz.core.personas.perms.BaseRolePermissionLogic

Permission logic class to allow permissions to over Children role user.

role_names = ['adam', 'seele', 'nerv', 'children']
class kawaz.core.personas.perms.KawazAuthorPermissionLogic(field_name=None, any_permission=None, change_permission=None, delete_permission=None)[source]

Bases: permission.logics.author.AuthorPermissionLogic

Kawaz用AuthorPermissionLogic

Kawazの仕様では、willeがauthorになることは現段階ではない。 通常のAuthorPermissionLogicを利用すると、willeであっても ログインユーザーであればモデルパーミッションがTrueになり 使い勝手が悪い そのため、wille以下の場合はFalseが返るようにした

has_perm(user_obj, perm, obj=None)[source]
role_names = ['adam', 'seele', 'nerv', 'children']
class kawaz.core.personas.perms.NervPermissionLogic(any_permission=False, add_permission=False, change_permission=False, delete_permission=False)[source]

Bases: kawaz.core.personas.perms.BaseRolePermissionLogic

Permission logic class to allow permissions to over `Nerv`(staff) role user

role_names = ['adam', 'seele', 'nerv']
class kawaz.core.personas.perms.PersonaPermissionLogic[source]

Bases: permission.logics.base.PermissionLogic

Permission logics which check the user’s role and return corresponding permission

has_perm(user_obj, perm, obj=None)[source]
class kawaz.core.personas.perms.SeelePermissionLogic(any_permission=False, add_permission=False, change_permission=False, delete_permission=False)[source]

Bases: kawaz.core.personas.perms.BaseRolePermissionLogic

Permission logic class to allow permissions to over Seele role user.

role_names = ['adam', 'seele']

urls Module