django-monitor 0.2.1a

Django app to moderate model objects

About

Moderation seems to be some job each one want to do in their own way. Django-monitor is a django-app to moderate model objects. It was started as a clone of django-gatekeeper project but to meet certain business requirements. Read about those requirements it meet in the Features section.

Here, the moderation process is well integrated with django-admin. That is, all moderation actvities are performed from within the changelist page itself.

The detailed documentation for latest revision is available at:

Requirements

  • Python >= 2.4
  • Django >= 1.1

Installation

  1. Directly from the python package index

    1. Using pip:

      $ pip install django_monitor
      
    2. Using easy_install:

      $ easy_install django_monitor
      
  2. OR Directly from the mercurial repo

    1. Clone the repo (if you have hg installed):

      $ hg clone http://bitbucket.org/rajeesh/django-monitor/
      
  3. OR Download & install from available archives:

  4. Then add 'django_monitor' to your project's settings.INSTALLED_APPS.

Features

Model-specific permission

Each moderated model will have an associated moderate permission. To approve or challenge any object created for a particular model, users need to have the corresponding permission.

Auto-moderation

Any object created by a user with add permission will have an In Pending status. If the user has got moderate permission also, the object created will automatically get approved (status becomes Approved).

Moderation from within admin changelist

The changelist of a moderated model displays the current moderation status of all objects. Also, you can filter the objects by their moderation status. Three actions are available for moderation. To moderate, user just need to select the objects, choose appropriate action and press Go.

Related moderation

When a manager moderates some model objects, there may be some other related model objects which also can get moderated along with the original ones. The developer can specify such related models to be moderated during registration.

Data protection

The developer can prevent admin-users from changing values of selected fields of approved objects. Deleting approved objects also can be prevented if your client's business requires that.

Basic usage (developers)

  • Register the model for moderation using django_monitor.nq.

    Example:

    import django_monitor
    from django.db import models
    class MyModel(models.Model):
        pass
    
    django_monitor.nq(MyModel)
    
  • Inherit MonitorAdmin, not ModelAdmin for moderated models.

    # in your admin.py
    from django_monitor.admin import MonitorAdmin
    class MyAdmin(MonitorAdmin):
        pass
    
    from django.contrib import admin
    admin.site.register(MyModel, MyAdmin)
    

Note

Django-monitor can not bring existing model instances under moderation. So, enqueue the model first and then only create model instances.

More details given at the documentation locations mentioned above.

BSD

Author

Rajeesh Nair

Pip

django-monitor==0.2.1a

Classifiers

  • Programming Language :: Python
  • Operating System :: OS Independent
  • License :: OSI Approved :: BSD License
  • Intended Audience :: Developers
  • Framework :: Django
  • Environment :: Web Environment
  • Development Status :: 4 - Beta
File Type Python Version Uploaded On Downloads
django-monitor-0.2.1a.tar.gz Source Aug. 2, 2012 1,956
Version Release Date
0.2.1a Aug. 2, 2012
0.2rc March 4, 2012
0.2b June 19, 2011
0.2a June 3, 2011
Date Package Version Action
Nov. 4, 2014, 1:28 p.m. django-monitor 0.2a Release Created
Nov. 4, 2014, 1:28 p.m. django-monitor 0.2.1a Release Created
Nov. 4, 2014, 1:28 p.m. django-monitor 0.2b Release Created
Nov. 4, 2014, 1:28 p.m. django-monitor 0.2rc Release Created
Nov. 4, 2014, 1:28 p.m. django-monitor Package Created