Giter Site home page Giter Site logo

nnseva / django-access Goto Github PK

View Code? Open in Web Editor NEW
76.0 7.0 5.0 149 KB

Django-Access - the application introducing dynamic evaluation-based instance-level (row-level) access rights control for Django

License: GNU Lesser General Public License v3.0

Python 98.89% Shell 1.11%
access django permissions instance-level row-level django-access authority guard dynamic evaluation

django-access's People

Contributors

dmarychev avatar lokkidog avatar nnseva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-access's Issues

django-extentions autocomplete admin

The Django-extensions autocomplete admin doesn't take into account the access rules.

Create a Django-extensions autocomplete admin taking access rules into account.


Bountysource

Filter truth values from plugin callbacks

Happens frequently that the plugin method returns truth value instead of a dictionary from check_ calls. The SimpleCheckPlugin now filters such a return.

It is useful to filter such truth values everywhere allowing users to return simple value from the plugin to exclude frequent misusing of the package.

django-select2 widget

The standard Django-select2 widget doesn't take access rules into account.

Create a widget set inherited from Django-select2 to take access rules into account.

Constant instead of callable check

The simplest way to check rights is to return constant value, f.e. True, False, or {}. In case of constant grant type, the code should be allowed to look like:

        ApplyAblePlugin(
            changeable=False,
            deleteable=False,
        ),

instead of

        ApplyAblePlugin(
            changeable=lambda queryset, request: False,
            deleteable=lambda queryset, request: False,
        ),

A new validate check before create or update

Existent checks for create and update doesn't concern to the new attribute values.

It may be important especially for the foreign key values when the only selected person can link the created or updated instance to the object which is visible, but readonly for others.

It is proposed to create a check like verify_appendable() and verify_updateable() with parameters:

  • model to be verified
  • instance (?) to be verified (for updateable)
  • dictionary of new attribute values

Fix standard has_perm calls

Fix standard has_perm calls to be compatible with packages checking permissions using has_perm call.

There may be a package using calls to the User.has_perm

Probably the own authentication backend should be implemented.

Create appropriate ability checking tools

Create appropriate ability checking tools like permission checking in standard Django environment and Django-Rules package:

  • decorators to create abilities from callable
  • decorators to check against abilities for views
  • class-based view mixin to check against abilities for views
  • template tags to get or check against abilities

Bountysource

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.