GithubHelp home page GithubHelp logo

ibrahim12 / django-authority Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jazzband/django-authority

0.0 1.0 0.0 553 KB

A Django app that provides generic per-object-permissions for Django's auth app and helpers to create custom permission checks.

Home Page: http://django-authority.readthedocs.org/

License: BSD 3-Clause "New" or "Revised" License

django-authority's Introduction

django-authority

This is a Django app for per-object-permissions that includes a bunch of helpers to create custom permission checks.

The main website for django-authority is django-authority.readthedocs.org. You can also install the in-development version of django-authority with pip install django-authority==dev or easy_install django-authority==dev.

Example

To get the example project running do:

  • Bootstrap the buildout by running:

    python bootstrap.py
  • Get the required packages by running:

    bin/buildout
  • Sync the database:

    bin/django-trunk syncdb
  • Run the development server and visit the admin at http://127.0.0.1:8000/admin/:

    bin/django-trunk runserver

Now create a flatage and open it to see some of the templatetags in action. Don't hesitate to use the admin to edit the permission objects.

Full docs coming soon.

Please use https://github.com/jezdez/django-authority/issues/ for issues and bug reports.

Documentation

The documenation is currently in development. You can create a nice looking html version using the setup.py:

python setup.py build_sphinx

Changelog:

0.7 (2013-07-03):

  • No longer doing dependent sub-queries. It will be faster to do two small queries instead of one with a dependent sub-query in the general case.

0.6 (2013-06-13):

  • Added support for custom user models (Django 1.5 only).

0.5 (2013-03-18):

  • It is now possible to minimize the number of queries when using django-authority by caching the results of the Permission query. This can be done by adding AUTHORITY_USE_SMART_CACHE = True to your settings.py
  • Confirmed support (via travis ci) for all combinations of Python 2.6, Python2.7 and Django 1.3, Django 1.4, Django 1.5. Added Python 3.3 support for Django 1.5

0.4 (2010-01-15):

  • Fixed an issue with the UserPermissionForm not being able to override the widget of the user field.
  • Added ability to override form class in add_permission view.
  • Added easy way to assign permissions via a permission instance, e.g.:

    from django.contrib.auth.models import User
    from mysite.articles.permissions import ArticlePermission
    
    bob = User.objects.get(username='bob')
    article_permission = ArticlePermission(bob)
    article_permission.assign(content_object=article)

0.3 (2009-07-28):

  • This version adds multiple fields to the Permission model and is therefore a backwards incompatible update.

    This was required to add a feature that allows users to request, withdraw, deny and approve permissions. Request and approval date are now saved, as well as an approved property. An admin action has been added for bulk approval.

    To migrate your existing data you can use the SQL files included in the source (migrations/), currently available for MySQL, Postgres and SQLite.

  • The templatetags have also been refactored to be easier to customize which required a change in the template tag signature:

    Old:

    {% permission_form flatpage %}
    {% permission_form flatpage "flatpage_permission.top_secret" %}
    {% permission_form OBJ PERMISSION_LABEL.CHECK_NAME %}

    New:

    {% permission_form for flatpage %}
    {% permission_form for flatpage using "flatpage_permission.top_secret" %}
    {% permission_form for OBJ using PERMISSION_LABEL.CHECK_NAME [with TEMPLATE] %}

    New templatetags:

    • permission_request_form
    • get_permission_request
    • get_permission_requests
    • permission_request_approve_link
    • permission_request_delete_link
    • request_url_for_obj
  • The add_permission view is now accessible with GET requests and allows to request permissions, but also add them (only for users with the 'authority.add_permission' Django permission).

django-authority's People

Contributors

barttc avatar gthb avatar jezdez avatar jlward avatar jpic avatar randalldegges-okta-2 avatar remik avatar supercodepoet avatar winhamwr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.