A simple Django app for newsticker with a row level permission based workflow.
Project description
django-ticker is a reusable Django application that provides a ticker like news section including row level permissions. What does this mean?
In django-ticker you have a fine grained permission control what the (administrative) user can do and what not. Besides the default Django permissions – add, change, delete – there are some extra permissions:
change_foreign
publish
Originally this was created for the news section of the German Django community where foreign users could add articles but had no permission to publish them, cause a moderator must check these articles first.
It’s easy to create a pressroom like workflow, assumed we have different people with different permissions:
- The freelance journalist:
Granted permissions: add, change
can add articles
can change his articles (only his own)
can not delete his articles
can set the status of the article to “closed” or “draft”. Draft means, that the article is ready for check by a moderator.
in the admin list of articles, they see only they own
- The journalist:
Granted permissions: add, change, delete, publish
can add articles
can change and delete his articles (only his own)
can set the status of the article to “closed”, “draft” or “published”
in the admin list of articles, they see only their own
- The chief editor (or moderator):
Granted permissions: add, change, delete, publish, change_foreign
can add articles
can change and delete all (!) articles
can set the status of the article to “closed”, “draft” or “published”
in the admin list of articles, they see all articles
- The proofreader (or subject specialist):
Granted permissions: change, change_foreign
can not add articles
can not delete articles
can not publish articles
can change all articles (e.g. for correction)
in the admin list of articles, they see all articles
So, you can mix these permissions and create a workflow that perfectly fits your needs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.