Skip to content

frankhood/django-moderation-model-mixin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Moderation Model Mixin

https://badge.fury.io/py/django-moderation-model-mixin.svg/?style=flat-square https://readthedocs.org/projects/pip/badge/?version=latest&style=flat-square Coverage Status

This package adds the possibility of handle a moderation to django models and associated admins. This means being able to mark an entry as accepted, rejected or to be moderated (default). Querysets, Managers and Signals are included.

Documentation

The full documentation is at https://django-moderation-model-mixin.readthedocs.io.

Quickstart

Install Django Moderation Model Mixin:

pip install django-moderation-model-mixin

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'moderation_model_mixin',
    ...
)

Features

  • ModerationModelMixin
  • ModerationModelMixinAdmin
  • ModerableQuerySet
  • Actions in admin changelist
  • Signals associated to moderation action

Example of usage

# in your admin.py
class ExampleModelAdmin(ModerationModelMixinAdmin, admin.ModelAdmin):
    ...

admin.site.register(ExampleModel, ExampleModelAdmin)

# in your models.py
from moderation_model_mixin.models import ModerationModelMixin

class ExampleModel(ModerationModelMixin, models.Model):
    ...

Admin Interface

Here some users interface example.

First one is how the change form is shown. There are two new buttons in the submit row that allows to accept or reject entries that not yet moderated.

Not moderated instance image

This is how an accepted entry looks.

Accepted instance image

This is how a rejected entry looks.

Rejected instance image

A confirmation pop-up is shown when an acceptance or rejection request is made

Pop-up image

Last image shows actions in the changelist.

Actions image

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Development commands

pip install -r requirements_dev.txt
invoke -l

Credits

Tools used in rendering this package:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published