Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
django-extensions / auth / mixins.py
Size: Mime:
# -*- coding: utf-8 -*-
from django.contrib.auth.mixins import UserPassesTestMixin


class ModelUserFieldPermissionMixin(UserPassesTestMixin):
    model_permission_user_field = 'user'

    def get_model_permission_user_field(self):
        return self.model_permission_user_field

    def test_func(self):
        model_attr = self.get_model_permission_user_field()
        current_user = self.request.user

        return current_user == getattr(self.get_queryset().first(), model_attr)