{ "info": { "author": "Ramez Ashraf", "author_email": "ramez@rasystems.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "django-tabular-permissions\n##########################\nDisplay model permissions in a tabular widget that is user friendly, translatable and customizable.\n*Scroll down for screen shots*\n\nVersion\n-------\n2.3 (July 25 2019)\n\nFeatures:\n---------\n* Permissions and their relevant app and models names are displayed in the active language.\n* Permissions are displayed in a table that contain the default model permissions **plus** any custom permissions.\n* Supports view permission for Django 2.1\n* Customize which apps, models to show in the permissions table. You can also set a exclude function for high-end customization.\n* RTL ready, Bootstrap ready.\n* Easy customize-able look.\n* Django >= 1.11\n* Tested on Python 2.7, 3.5, 3.6 & 3.7, Django 1.11, 2.0 & 2.1.\n* Default `FilteredSelectMultiple` widget will appear only if you have custom permissions that are not model related (ie directly created by code or hand)\n\n\n\n.. image:: https://travis-ci.org/RamezIssac/django-tabular-permissions.svg?branch=master\n :target: https://travis-ci.org/RamezIssac/django-tabular-permissions\n\n\nInstallation\n------------\nYou can install `django-tabular-permissions` via Pypi::\n\n pip install django-tabular-permissions\n\n\nand add \"tabular_permissions\" to your INSTALLED_APPS setting (at any place after `django.contrib.auth`) ::\n\n INSTALLED_APPS = [\n 'django.contrib.auth',\n ....\n 'tabular_permissions',\n ]\n\nthen navigate to User and/or Group change form to see `tabular_permissions` in action.\n\nConfiguration:\n--------------\nTabular_permissions possible configurations and their default::\n\n TABULAR_PERMISSIONS_CONFIG = {\n 'template': 'tabular_permissions/admin/tabular_permissions.html',\n 'exclude': {\n 'override': False,\n 'apps': [],\n 'models': [],\n 'function':'tabular_permissions.helpers.dummy_permissions_exclude'\n },\n 'auto_implement': True,\n 'use_for_concrete': True,\n 'custom_permission_translation': 'tabular_permissions.helpers.custom_permissions_translator',\n 'apps_customization_func': 'tabular_permissions.helpers.apps_customization_func',\n }\n\n\n`template`\n the template which contains the permissions table, you can always customize this template by extending or overriding.\n Notice that there is a `style` block which you can override to easily edit the css.\n\n`exclude`\n Control which apps, models to show in the permissions table.\n\n By default ``tabular_permissions`` exclude `sessions` , `contenttypes` and `admin` apps from showing their models in the permissions table. If you want to show them you can switch ``override`` to `False`.\n\n ``apps`` & ``models`` lists would contain the names of the apps and models you wish to exclude.\n\n ``function`` is a dotted path of a custom function which receive the model as a parameter to decide either to exclude it or not, default to a dummy function that always return False (ie do not exclude)\n\nauto_implement\n By default, just by including `tabular_permissions` in your installed_apps, the ``django.contrib.admin.UserAdmin`` (and ``GroupAdmin``) are \"patched\" to include the tabular_permissions widget.\n If you have a custom UserAdmin, then set this option to False and make sure you either:\n\n 1. Inherit from ``tabular_permissions.admin.TabularPermissionsUserAdmin`` and ``tabular_permissions.admin.TabularPermissionsGroupAdmin`` for User & Group ModelAdmin.\n 2. Or for a more direct and compact way, inherit your ModelAdmin from ``tabular_permissions.admin.UserTabularPermissionsMixin`` and ``tabular_permissions.admin.GroupTabularPermissionsMixin`` (comes before admin.ModelAdmin in the mro),\n 3. Set the user_permissions widget to ``tabular_permissions.widgets.TabularPermissionsWidget`` and remember to send a 3rd argument 'permissions' for Group Model Admin.\n See ``tabular_permissions.admin`` for information.\n\nuse_for_concrete\n There is an inconsistency with proxy models permissions (Django ticket `11154 `_).\n\n So in case you have proxy models and you created their permissions by hand (via this `gist `_ maybe), then turn off this option in order to correctly assign your newly created permissions.\n\ncustom_permission_translation\n A dotted path function to translate the custom permission.\n This function gets passed the permissions `codename`, `verbose_name` and its relevant `content_type_id`.\n The function will try to translate the permission verbose_name.\n\napps_customization_func\n A dotted path function to control the whole permissions objects passed to the widget.\n Sometimes you use custom menu where apps and models are ordered in a more \"user friendly\" manner and not necessarily\n in the \"actual programmatic\" apps & models order.\n You can use this option to get a hold of the whole ordered dict and shuffle its content around moving\n models from one app to the other and do all kind of crazy stuff to get just the right table of permissions.\n\n\nJavaScript:\n-----------\nLocated at 'static/tabular_permissions/tabular_permissions.js', it have 2 responsibilities:\n\n1. Upon form submit, the checked permissions in the table are dynamically appended to the form default permission input so the backend can carry on its functionality normally and correctly.\n2. Add handlers for column and row `select-all` checkboxes.\n\n\nCompatibility:\n--------------\nCurrent version 2.0 supports only Django >= 1.11\nFor earlier versions of django use django-tabular-permissions 1.0.9.\n\n\nScreenshots:\n------------\nBasic Demo\n\n.. image:: https://rasystems.io/static/images/tabular_permissions/tp_1.png\n :target: https://rasystems.io/static/images/tabular_permissions/tp_1.png\n :alt: Basic demo\n\nRTL and localized\n\n.. image:: https://rasystems.io/static/images/tabular_permissions/tp_ar.png\n :target: https://rasystems.io/static/images/tabular_permissions/tp_ar.png\n :alt: RTL and localized\n\nWith Custom permission behaviour\n\n.. image:: https://rasystems.io/static/images/tabular_permissions/tp_extra.png\n :target: https://rasystems.io/static/images/tabular_permissions/tp_extra.png\n :alt: With Custom permission\n\n-------\n\nEnjoy and feel free to report any bugs or make pull requests.\n\nCheers ;-)", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/RamezIssac/django-tabular-permissions", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-tabular-permissions", "package_url": "https://pypi.org/project/django-tabular-permissions/", "platform": "", "project_url": "https://pypi.org/project/django-tabular-permissions/", "project_urls": { "Homepage": "https://github.com/RamezIssac/django-tabular-permissions" }, "release_url": "https://pypi.org/project/django-tabular-permissions/2.3/", "requires_dist": null, "requires_python": "", "summary": "Display django permissions in a tabular format that is user friendly, and highly customisable", "version": "2.3" }, "last_serial": 5583092, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d8118b97723ac11c150eda1a79ff787f", "sha256": "403cc64d5e66c258d6080a83d8ac271c8bc2db73549525e9b3a64e0487188486" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d8118b97723ac11c150eda1a79ff787f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4723, "upload_time": "2015-12-10T19:02:45", "url": "https://files.pythonhosted.org/packages/d3/3f/9ea001c3f2dd14c15003511dc9cfeddb3558e474ca8fe2d81eb5f64a1bf2/django-tabular-permissions-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a478cb1d4de15438400016fa88d0eb4c", "sha256": "15a0eee7a7925808bdeddffb2a68162983f1fbbb9298880877748bfe9e0ae4e4" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a478cb1d4de15438400016fa88d0eb4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7463, "upload_time": "2015-12-10T20:44:42", "url": "https://files.pythonhosted.org/packages/a7/19/248e51f4c041d7022ee26213aadc294aaf2796c3c3b7bf714086a753f0da/django-tabular-permissions-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "70d906c354914460961b0c40ab990c2f", "sha256": "bfcaacdd9121db3762db84af8cbab928e33e4a4f7166d53c998d8d48d15c33c7" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.2.tar.gz", "has_sig": false, "md5_digest": "70d906c354914460961b0c40ab990c2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7704, "upload_time": "2015-12-11T09:21:03", "url": "https://files.pythonhosted.org/packages/15/e7/1264367fdd1c58fc44f5db46be84603d5f14019b9279c000978c49277063/django-tabular-permissions-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "2449d1a925fecd2d14b5d348f203d877", "sha256": "9b3b769d51c702d833dd209584539dd0ec21d16912958a952cb8a68935afde76" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.3.tar.gz", "has_sig": false, "md5_digest": "2449d1a925fecd2d14b5d348f203d877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7713, "upload_time": "2015-12-11T10:22:18", "url": "https://files.pythonhosted.org/packages/51/41/5d5c870cd928a7dcf792bc67106e9a6180036c5605cb17c478bcddda9632/django-tabular-permissions-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "0b5f3d11e763b5570f5b82a4f531cf95", "sha256": "d7178e1926d26f969117edb76b0caf0a333db4a6599bc376efba4a17ca20d40f" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.4.tar.gz", "has_sig": false, "md5_digest": "0b5f3d11e763b5570f5b82a4f531cf95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7919, "upload_time": "2015-12-11T22:24:35", "url": "https://files.pythonhosted.org/packages/f9/f0/4a7c6d0b1c15d8d6ec15511e9a855e53eb6a78d80b6a0e4e72b13aa0e71e/django-tabular-permissions-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "a9fc2510c2c412d475d8e715eecc13e5", "sha256": "92b86a988f5946d1cdd9d4c6ef5526d6a78fd806476b8374f8cbc526d43af425" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.5.tar.gz", "has_sig": false, "md5_digest": "a9fc2510c2c412d475d8e715eecc13e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8269, "upload_time": "2015-12-15T08:41:42", "url": "https://files.pythonhosted.org/packages/a9/5a/6efe06eedf5003711aa80b9d3a47ba26bc6178dfcb0ad315590428a3e27a/django-tabular-permissions-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "725a08dd7e779b3dd4fe9d59f28ceccf", "sha256": "f74cfd4565c89d716faf233c634292b137daa538ab872ff0db3fd4d77a356448" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.6.tar.gz", "has_sig": false, "md5_digest": "725a08dd7e779b3dd4fe9d59f28ceccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8283, "upload_time": "2015-12-15T14:07:13", "url": "https://files.pythonhosted.org/packages/30/b1/ed6c2ce266e44d87617a7c7e70fff7b221d10e7aaff864d290bc77c41ed3/django-tabular-permissions-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "ac964b58eae168694a2896c890232954", "sha256": "30e0a3628d4b2f718c0ac0b6683a9a2fa30c35b9f4385067be5d10bb16eeae4a" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.7.tar.gz", "has_sig": false, "md5_digest": "ac964b58eae168694a2896c890232954", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8370, "upload_time": "2015-12-23T23:20:42", "url": "https://files.pythonhosted.org/packages/65/89/f8c94e2c5da63069d7fab7b3ef039a4af05374fa5d7fb9ec1d34a3429318/django-tabular-permissions-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "b2afbf2b2cd8ef4e8d48d029ae33829d", "sha256": "f5a7d5bbbc2ec48b2a6a6c8e38c65b65d6aa24e7414635876d1defa2ad4e0944" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.8.tar.gz", "has_sig": false, "md5_digest": "b2afbf2b2cd8ef4e8d48d029ae33829d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8796, "upload_time": "2016-02-01T14:15:46", "url": "https://files.pythonhosted.org/packages/f1/cb/93198dee79e158ff920fa3511a8f94520d732588f267a0b6ad7cf2994fa3/django-tabular-permissions-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "543c254d8697ab1e67c35f800f2ccc7f", "sha256": "9bead27b6351ac3df42640ac349b833500a501aef01e9ec5d4bef889a62d1a37" }, "downloads": -1, "filename": "django-tabular-permissions-1.0.9.tar.gz", "has_sig": false, "md5_digest": "543c254d8697ab1e67c35f800f2ccc7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8508, "upload_time": "2017-11-21T18:33:41", "url": "https://files.pythonhosted.org/packages/08/b5/325d5afffbad8e30edb1b8381fcea3cc1fa820ca80c02579379d31e17c71/django-tabular-permissions-1.0.9.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "8aa6358a8d43e3684e15fbe400dc2676", "sha256": "2558583de46d38428c2fd5beefb17e213c557899c9fdd60277fd2f0fc4f63b9a" }, "downloads": -1, "filename": "django-tabular-permissions-1.1.tar.gz", "has_sig": false, "md5_digest": "8aa6358a8d43e3684e15fbe400dc2676", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9589, "upload_time": "2017-09-10T10:44:02", "url": "https://files.pythonhosted.org/packages/33/a5/ef2746c14bbf9e436d5d2a094aa7d164269d86fd99005ffa569e49653698/django-tabular-permissions-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "c8ce91a3f8582eab359c876820d491c2", "sha256": "b0e89ee36d7d2162f398b832612ba956baaf07b1e980b975e74295ea1feb899b" }, "downloads": -1, "filename": "django-tabular-permissions-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c8ce91a3f8582eab359c876820d491c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8243, "upload_time": "2017-11-21T18:33:48", "url": "https://files.pythonhosted.org/packages/65/71/2afac61bf25b79f7d95d32f606f2b6cf60a510c3c69a71f94de7995fd76e/django-tabular-permissions-1.1.1.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "4ccddf32fee04f18e1bf596878c87c85", "sha256": "ddccfe3ae5cb48e15dbea85c2b33ccfcfc9f446bbd8a991c5fca6a46b62f1e6c" }, "downloads": -1, "filename": "django-tabular-permissions-2.0.tar.gz", "has_sig": false, "md5_digest": "4ccddf32fee04f18e1bf596878c87c85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9029, "upload_time": "2018-06-30T16:42:49", "url": "https://files.pythonhosted.org/packages/a5/26/2e86517f03836e9b5ff2f3769016f597bc90fe969f35768991c5fa2e5b08/django-tabular-permissions-2.0.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "4fe618c25afee8202986273a2c8bc82c", "sha256": "0bebaebef66337d641ffee74014ae0fa7ebea52b47fdae23dac83edfb5a3f41e" }, "downloads": -1, "filename": "django-tabular-permissions-2.0.2.tar.gz", "has_sig": false, "md5_digest": "4fe618c25afee8202986273a2c8bc82c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10041, "upload_time": "2018-07-01T06:49:27", "url": "https://files.pythonhosted.org/packages/a1/7f/c66bd3fe98c1ac926c95fca42c2c00ddd1ed2be860ba218479e4e6021cb4/django-tabular-permissions-2.0.2.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "cd1ccf433f9047876472c2a3ead41933", "sha256": "85bb8787e66088cd1bbf23486dc8bcd0ad15faf5a4f37d761d605d607ec71a13" }, "downloads": -1, "filename": "django-tabular-permissions-2.1.tar.gz", "has_sig": false, "md5_digest": "cd1ccf433f9047876472c2a3ead41933", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10462, "upload_time": "2018-07-16T14:09:14", "url": "https://files.pythonhosted.org/packages/dc/57/80b95ed2e4b4b66cf3e28da746d2103e85b1fe63932c09a680abf127f2be/django-tabular-permissions-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "2bb99d3f8ffb1622b8fce0d2f279cc7b", "sha256": "341b6900f7eda18cfcef16a6b05648a51cdad891eaca191be40f0d4313aba4d0" }, "downloads": -1, "filename": "django-tabular-permissions-2.2.tar.gz", "has_sig": false, "md5_digest": "2bb99d3f8ffb1622b8fce0d2f279cc7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10691, "upload_time": "2018-10-08T05:53:10", "url": "https://files.pythonhosted.org/packages/42/4b/226b7685a298fdf67c429e6d32a754baed2e0aa957e8ea1067241364adf9/django-tabular-permissions-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "247cf7de474c5a6eef2a424b5e5cb23b", "sha256": "59392359dc71fd5f118e08e14989243b33abe2e9ce059ce1aa6cebe9be8d5750" }, "downloads": -1, "filename": "django-tabular-permissions-2.3.tar.gz", "has_sig": false, "md5_digest": "247cf7de474c5a6eef2a424b5e5cb23b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10748, "upload_time": "2019-07-25T12:51:10", "url": "https://files.pythonhosted.org/packages/d4/b8/1ede48056be8cfb4e1046b200f1aeb59d204cc14b3b2061b77dff878e704/django-tabular-permissions-2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "247cf7de474c5a6eef2a424b5e5cb23b", "sha256": "59392359dc71fd5f118e08e14989243b33abe2e9ce059ce1aa6cebe9be8d5750" }, "downloads": -1, "filename": "django-tabular-permissions-2.3.tar.gz", "has_sig": false, "md5_digest": "247cf7de474c5a6eef2a424b5e5cb23b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10748, "upload_time": "2019-07-25T12:51:10", "url": "https://files.pythonhosted.org/packages/d4/b8/1ede48056be8cfb4e1046b200f1aeb59d204cc14b3b2061b77dff878e704/django-tabular-permissions-2.3.tar.gz" } ] }