tomi77/django-extra-tools

View on GitHub
django_extra_tools/auth/view_permissions/signals.py

Summary

Maintainability
A
0 mins
Test Coverage
from __future__ import print_function


def add_view_permissions(sender, verbosity, **kwargs):
    """
    This post_syncdb/post_migrate hooks takes care of adding a view permission too all our
    content types.
    """
    from django.contrib.contenttypes.models import ContentType
    from django.contrib.auth.models import Permission

    for content_type in ContentType.objects.all():
        codename = "view_%s" % content_type.model

        _, created = Permission.objects \
            .get_or_create(content_type=content_type,
                           codename=codename,
                           defaults={'name': 'Can view %s' % content_type.name})
        if created and verbosity >= 1:
            print('Added view permission for %s' % content_type.name)