Metadata-Version: 1.1
Name: django-cuser
Version: 2014.9.28
Summary: Middleware to make user information always available.
Home-page: https://github.com/Alir3z4/django-cuser
Author: Alireza Savand
Author-email: alireza.savand@gmail.com
License: UNKNOWN
Description: ========================================================
        django-cuser - Take care of current user in silent way.
        ========================================================
        
        .. image:: https://travis-ci.org/Alir3z4/django-cuser.png
           :alt: travis-cli tests status for django-cuser
           :target: https://travis-ci.org/Alir3z4/django-cuser
        
        .. contents:: Table of contents
        
        
        Overview
        --------
        
        cuser will bring you Current user of your django application from anywhere in your code.
        I know, sounds fantastic ;)
        
        
        Supported Python versions
        -------------------------
        
        ``django-cuser`` currently can be run on multiple python versions:
        
        * Python 2 (2.7)
        * Python 3 (3.2, 3.3, 3.4)
        * PyPy
        
        
        Installing
        ----------
        
        django-cuser is also avilable at http://pypi.python.org/pypi/django-cuser
        So it can be install it by pip or easy_install::
        
            $ python pip install django-cuser
        
        Or you can grab the latest version tarball::
        
            $ python setup.py install
        
        To enable django-cuser in your project
        
        * Add ``cuser`` to ``INSTALLED_APPS`` in your ``settings.py``
        * Add ``cuser.middleware.CuserMiddleware`` to ``MIDDLEWARE_CLASSES`` after the
          authentication and session middleware.
        
        Who is the current user
        -----------------------
        
        To set/get the user info, there is the following API::
        
            from cuser.middleware import CuserMiddleware
        
        Set the current user for this thread. Accepts user objects and login names::
        
            CuserMiddleware.set_user(some_user)
        
        Get the current user or None::
        
            user = CuserMiddleware.get_user()
        
        This will return some_user if there is no current user::
        
            user = CuserMiddleware.get_user(some_user)
        
        Forget the current user. It is always safe to call this, even if there is no current user::
        
            CuserMiddleware.del_user()
        
        The middleware automatically sets/deletes the current user for HTTP requests.
        For other uses (management commands, scripts), you will need to do this
        yourself.
        
        CurrentUserField
        -----------------
        
        ``cuser`` also provides a ``CurrentUserField``, which can be used for auditing
        purposes. Use it as follows:
        
        from cuser.fields import CurrentUserField
        ::
        
            class MyModel(models.Model):
                ....
                creator = CurrentUserField(add_only=True, related_name="created_mymodels")
                last_editor = CurrentUserField(related_name="last_edited_mymodels")
                ...
        
        This field is a ``ForeignKey`` to the ``settings.AUTH_USER_MODEL`` model and you
        can treat it as such.
        
        
        Tests
        ------
        
        ``django-cuser`` has been tested Django 1.6 and later. To run the the tests:
        
        ::
        
           $ python run_tests.py
        
        It's also available on travis-ci:
        
        https://travis-ci.org/Alir3z4/django-cuser/
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Development Status :: 6 - Mature
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
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
