tangentlabs/django-oscar — pull request #1140 by martyanov (2014-01-17 21:21:36+00:00)
Title: Support arbitrary number of permission lists

I'd like to propose small enhancement to Oscar's permission system.

Currently it's only possible to define permissions as a list or a tuple of two lists, it's not always sufficient.

Simple use case - you need to support several types of non-staff accounts which can access dashboard's specific pages. You extend user model with two boolean fields, for example, `is_manager` and `is_content_manager`. Now you need to re-define application specific `default_permissions` or `permissions_map`, but it's not possible to add more that two distinct roles and you already have `is_staff` and `partner.dashboard_access`.

The proposed implementation may help in such scenarios and should be backwards compatible.