Skip to main content

Very simple extension that adds a permissions check on the field in admin

Project description

https://github.com/silentsokolov/django-admin-permissions/actions/workflows/build.yml/badge.svg?branch=master https://codecov.io/gh/silentsokolov/django-admin-permissions/branch/master/graph/badge.svg

django-admin-permissions

Very simple extension that adds a permissions check on the field in admin

Requirements

  • Python 2.7+ or Python 3.3+

  • Django 1.8+

Installation

Use your favorite Python package manager to install the app from PyPI, e.g.

Example:

pip install django-admin-permissions

Add admin_permissions to INSTALLED_APPS:

Example:

INSTALLED_APPS = (
    ...
    'admin_permissions',
    ...
)

Example usage

Use class FieldPermissionMixin and set permissions using fields_permissions:

from django.contrib import admin
from admin_permissions.admin import FieldPermissionMixin


class ArticleAdmin(FieldPermissionMixin, admin.ModelAdmin):
    fieldsets = [
        ('General', {
            'fields': ['title', 'slug', 'text'],
        }),
        ('SEO', {
            'fields': ['seo_title', 'seo_description'],
        }),
    ]

    fields_permissions = {
        # 'permission': ('field',)
        'articles.can_change_admin_seo_fields': ('seo_title', 'seo_description'),
    }

# in articles/models.py:
class Article(models.Model):
    class Meta:
        permissions = (
            ('can_change_admin_seo_fields', _('Show SEO fields')),
        )

Then run makemigrations to add all the permissions in your database

Options

If you want the user to see the field, but could not edit them, set fields_permissions_read_only is True, default False.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-admin-permissions-1.1.0.tar.gz (5.3 kB view hashes)

Uploaded Source

Built Distribution

django_admin_permissions-1.1.0-py2.py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page