==============
Access control
==============
 
The purpose of the :mod:`access_control` component is to selectively control
which users have access to which items in the database.

This component depends on :mod:`helmholtz.core`.

 
Reference
=========

Models
------

.. automodule:: helmholtz.access_control.models

.. autoclass:: User
    :members:

.. autoclass:: Group
    :members:

.. autoclass:: UACManager
    :members:

.. autoclass:: UnderAccessControlEntity
    :members:

.. autoclass:: PermissionQuerySet
    :members:

.. autoclass:: BasePermissionManager
    :members:

.. autoclass:: PermissionManager
    :members:

.. autoclass:: Permission
    :members:

.. autoclass:: UPManager
    :members:

.. autoclass:: GPManager
    :members:

.. autoclass:: UserPermission
    :members:
    
.. autoclass:: GroupPermission
    :members:


Views
-----

.. automodule:: helmholtz.access_control.views
   :members:

Forms
-----

.. automodule:: helmholtz.access_control.forms
   :members:

Backends module
---------------

.. automodule:: helmholtz.access_control.backends
   :members:
   
Decorators module
-----------------

.. automodule:: helmholtz.access_control.decorators
   :members:

Overload module
---------------

.. automodule:: helmholtz.access_control.overload
   :members:
   
Middleware module
-----------------
   
.. automodule:: helmholtz.access_control.middleware
   :members:


