personas Package

personas Package

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

filters Module

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

ベースクラス: django_filters.filterset.FilterSet

class Meta[ソース]

ベースクラス: object

exclude = ('avatar',)
model

Persona のエイリアス

PersonaFilter.base_filters = OrderedDict([('password', <django_filters.filters.CharFilter object at 0x7f253db827b8>), ('last_login', <django_filters.filters.DateTimeFilter object at 0x7f253db82668>), ('groups', <django_filters.filters.ModelMultipleChoiceFilter object at 0x7f253db82780>), ('user_permissions', <django_filters.filters.ModelMultipleChoiceFilter object at 0x7f253db82dd8>), ('username', <django_filters.filters.CharFilter object at 0x7f253db82f28>), ('first_name', <django_filters.filters.CharFilter object at 0x7f253db825f8>), ('last_name', <django_filters.filters.CharFilter object at 0x7f253db829b0>), ('email', <django_filters.filters.CharFilter object at 0x7f253db82a58>), ('is_active', <django_filters.filters.BooleanFilter object at 0x7f253db82470>), ('date_joined', <django_filters.filters.DateTimeFilter object at 0x7f253db824a8>), ('nickname', <django_filters.filters.CharFilter object at 0x7f253db829e8>), ('quotes', <django_filters.filters.CharFilter object at 0x7f253db82588>), ('gender', <django_filters.filters.ChoiceFilter object at 0x7f253db82550>), ('role', <django_filters.filters.ChoiceFilter object at 0x7f253db82a20>), ('skills', <django_filters.filters.ModelChoiceFilter object at 0x7f253db82828>)])
PersonaFilter.declared_filters = OrderedDict([('skills', <django_filters.filters.ModelChoiceFilter object at 0x7f253db82828>)])

perms Module

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

ベースクラス: 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)[ソース]

ベースクラス: 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)[ソース]

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.

パラメタ:
  • 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
戻り値:

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

戻り値の型:

boolean

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

ベースクラス: 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)[ソース]

ベースクラス: permission.logics.author.AuthorPermissionLogic

Kawaz用AuthorPermissionLogic

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

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

ベースクラス: 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[ソース]

ベースクラス: permission.logics.base.PermissionLogic

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

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

ベースクラス: kawaz.core.personas.perms.BaseRolePermissionLogic

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

role_names = ['adam', 'seele']

urls Module