A Mezzanine module for add group-level permission to individual pages.
Python
Switch branches/tags
Nothing to show
Latest commit d92e584 Oct 28, 2014 @simodalla Update setup.py

README.rst

https://pypip.in/v/mezzanine-page-auth/badge.png

Created by Simone Dalla

Overview

Mezzanine Page Auth is Mezzanine module for add group-level permission to Pages.

Full Documentation at: http://mezzanine_page_auth.readthedocs.org/

Dependencies

Mezzanine Page Auth required:

Installation

The easiest method is to install directly from pypi using pip by running the command below, which will also install the required dependencies mentioned above:

$ pip install mezzanine_page_auth

If you prefer, you can download mezzanine-auth-pages and install it directly from source:

$ python setup.py install

Add mezzanine_page_auth to your INSTALLED_APPS setting before all mezzanine apps:

INSTALLED_APPS = (
    # ...
    'mezzanine_page_auth',
    'mezzanine.boot',
    'mezzanine.conf',
    'mezzanine.core',
    # ...
)

You will then want to create the necessary tables. If you are using South for schema migrations, you'll want to:

$ python manage.py migrate mezzanine_page_auth

Middleware

Enable PageAuthMiddleware middleware in your settings module as follows:

MIDDLEWARE_CLASSES = (
    # ...
    "mezzanine.core.middleware..."
    "mezzanine.pages.middleware..."
    "mezzanine_page_auth.middleware.PageAuthMiddleware",
    # ...
)

The order of MIDDLEWARE_CLASSES is important. You should include the PageAuthMiddleware middleware after other Mezzanine middlewares in the list.

Template Context Processors

Enable page_auth template context processors in your settings module as follows:

TEMPLATE_CONTEXT_PROCESSORS = (
    # ...
    "mezzanine_page_auth.context_processors.page_auth",
)

The order of MIDDLEWARE_CLASSES is important. You should include the PageAuthMiddleware middleware after other Mezzanine middlewares in the list.

Mezzanine Settings

Configure EXTRA_MODEL_FIELDS Mezzanine setting in your settings module as follows:

EXTRA_MODEL_FIELDS = (
    # ...
    (
        "mezzanine.pages.models.Page.groups",
        "ManyToManyField",
        ("auth.Group",),
        {"blank": True, "null": True, "verbose_name": 'groups',
         'symmetrical': False, 'through': "mezzanine_page_auth.PageAuthGroup"},
    ),
    # ...
)

for inject field groups into Mezzanine’s models (reference to Field Injection Mezzanine documantation).

License

Mezzanine Page Auth is BSD licensed.