Skip to main content

Django Sharing

Django row level sharing app limiting content access by user in Django admin.

Features

  1. Provides admin view, change and delete permissions, restricting content access and limiting available actions per user.

  2. Filters ForeignKey fields by view permissions.

  3. Filters ManyToManyField fields by view permissions.

  4. Automatically enables sharing on all admin classes (optional).

Installation

  1. Install or add django-sharing to your python path.

  2. Add 'sharing' to the project’s INSTALLED_APPS setting.

  3. Add 'sharing.backends.SharingBackend' to the project’s AUTHENTICATION_BACKENDS setting.

Usage

In order for django-sharing to limit content access your various admin classes need to include the ShareAdminMixin class. For example:

# admin.py
from django.contrib import admin
from sharing.admin import ShareAdminMixin

class ArticleAdmin(ShareAdminMixin, admin.ModelAdmin):
    pass

admin.site.register(Article, ArticleAdmin)

It is crucial for ShareAdminMixin to be the first ancestor class in the admin class’ definition.

Alternatively you can automatically enable sharing for all models registered with the admin site. django-sharing includes an admin_mixin_share method which will apply the ShareAdminMixin class to all models registered with the admin site. Call the method after admin.autodiscover() in urls.py:

# urls.py
from django.conf.urls.defaults import *
from django.contrib import admin

import sharing

admin.autodiscover()
sharing.admin_mixin_share()

urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
)

Once the ShareAdminMixin class has been applied your admin change views should include Group and User share inlines and restrict content appropriately.

Authors

Praekelt Foundation

  • Shaun Sephton

Changelog

0.0.2

  1. Resolved class name issue on save_model.

0.0.1

  1. Initial release.

Metadata

Release files for django-sharing 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-sharing 0.0.2
File Size Uploaded
django-sharing-0.0.2.tar.gz 8.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for django-sharing 0.0.2
File Interpreter ABI Platform
django_sharing-0.0.2-py2.6.egg Legacy Egg format - - Details
django_sharing-0.0.2-py2.5.egg Legacy Egg format - - Details

Total release size: 38.3 kB

Release files / django-sharing-0.0.2.tar.gz

Download URL django-sharing-0.0.2.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
007147c77910c3346f9028895221c9b8778ed86c197857f43371030d56a64d9d
BLAKE2b-256 checksum
How to use checksums
0ed01e8e0f9ad5af82a4d4c9b3056cb793b72c071da4c9d3ed864097395fc8b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django_sharing-0.0.2-py2.6.egg

Download URL django_sharing-0.0.2-py2.6.egg
Size 15.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
72369267bbacdfbb65a6cb6db3b0fa416644f3a0f0937888b4b2e79851bdfe72
BLAKE2b-256 checksum
How to use checksums
8568f2e92e62b4ce9a424c1e2a2b85eeb7767975e8076aede1906568dc543862
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django_sharing-0.0.2-py2.5.egg

Download URL django_sharing-0.0.2-py2.5.egg
Size 15.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
9ecad0856170d862b72cd07ae7ae5559063e84af166928a8953bfadf44debe99
BLAKE2b-256 checksum
How to use checksums
6305d9cab0d45f79404c459444377e1eeb3d2f9584a90667de060cc35c9cdc07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.2 This release

3 release files

0.0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page