Metadata-Version: 1.0
Name: django-guardian
Version: 0.1.1
Summary: 
Implementation of per object permissions for Django 1.2.

Home-page: http://github.com/lukaszb/django-guardian
Author: Lukasz Balcerzak
Author-email: lukasz.balcerzak@python-center.pl
License: UNKNOWN
Download-URL: http://github.com/lukaszb/django-guardian/downloads
Description: ===============
        django-guardian
        ===============
        
        ``django-guardian`` is implementation of per object permissions [1]_ as 
        authorization backend which is supported since Django_ 1.2. It won't
        work with older Django_ releases.
        
        Installation
        ------------
        
        To install ``django-guardian`` simply run::
        
            pip install django-guardian
        
        Configuration
        -------------
        
        We need to hook ``django-guardian`` into our project.
        
        1. Put ``guardian`` into your ``INSTALLED_APPS`` at settings module::
        
              INSTALLED_APPS = (
                 ...
                 'guardian',
              )
           
        2. Add extra authorization backend::
        
              AUTHENTICATION_BACKENDS = (
                  'django.contrib.auth.backends.ModelBackend', # default
                  'guardian.backends.ObjectPermissionBackend',
              )
                 
        Usage
        -----
        
        After installation and project hooks we can finally use object permissions
        with Django_.
        
        Lets start really quickly::
        
            >>> jack = User.objects.create_user('jack', 'jack@example.com', 'topsecretagentjack')
            >>> admins = Group.objects.create(name='admins')
            >>> jack.has_perm('change_group', admins)
            False
            >>> UserObjectPermission.objects.assign('change_group', user=jack, obj=admins)
            <UserObjectPermission: admins | jack | change_group>
            >>> jack.has_perm('change_group', admins)
            True
        
        Of course our agent jack here would not be able to *change_group* globally::
        
            >>> jack.has_perm('change_group')
            False
        
        Documentation
        -------------
        
        There is an online documentation available at
        http://packages.python.org/django-guardian/.
        
        .. [1] Great peper about this feature is available at 
           http://djangoadvent.com/1.2/object-permissions/.
        
        .. _Django: http://www.djangoprojecto.org/
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
