{ "info": { "author": "Petr Olah", "author_email": "djangoguru@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "=============================\ndjango-fperms-iscore\n=============================\n\n.. image:: https://badge.fury.io/py/django-fperms-iscore.svg\n :target: https://badge.fury.io/py/django-fperms-iscore\n\n.. image:: https://travis-ci.org/Formulka/django-fperms-iscore.svg?branch=master\n :target: https://travis-ci.org/Formulka/django-fperms-iscore\n\n.. image:: https://codecov.io/gh/Formulka/django-fperms-iscore/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/Formulka/django-fperms-iscore\n\nPerms for iscore library\n\nDocumentation\n-------------\n\nThe full documentation is at https://django-perms-iscore.readthedocs.io.\n\n\nQuickstart\n----------\n\nInstall django-fperms-iscore::\n\n pip install django-fperms-iscore\n\nAdd it to your `INSTALLED_APPS`:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'fperms_iscore.apps.FPermsConfig',\n ...\n )\n\n\nIt includes all the basic permissions from http://github.com/formulka/django-fperms and adds a new type:\n\n- **core**: for iscore specific resources\n\nUsage\n-----\n\nA superuser has for all intents and purposes permission to do everything. For regular users you can assign permissions directly or via a user group.\n\n**Creating a new permission**:\n\nYou can create a new permission directly via its model or via a specially formated string:\n\n.. code-block:: python\n\n from fperms_iscore import enums\n from fperms_iscore.models import IsCorePerm\n\n IsCorePerm.objects.create(\n type=enums.PERM_TYPE_CORE,\n codename='create',\n core='issue_tracker.IssueIsCore',\n )\n IsCorePerm.objects.create_from_str('core.issue_tracker.IssueIsCore.create')\n\n**Assigning a permission**:\n\nYou can assign existing permission via the custom ``perms`` manager available for both User (including custom ones) and Group models. You can add single permission or multiple both directly via its instance or using the formated string:\n\n.. code-block:: python\n\n from django.auth.models import User, Group\n\n from fperms_iscore.models import IsCorePerm\n\n perm = IsCorePerm.objects.create_from_str('core.issue_tracker.IssueIsCore.create')\n\n user = User.objects.get(pk=1)\n user.perms.add_perm(perm)\n\n group = Group.objects.get(pk=1)\n group.perms.add_perm('core.issue_tracker.IssueIsCore.create')\n\nBy default if said permission does not exist, it will raise an exception. You can override this behavior by setting ``PERM_AUTO_CREATE`` variable in your project settings to ``True``, assigning a permission will then create it as well if it does not exist.\n\n**Retrieving permission instance**:\n\nYou can get a permission instance directly from the model or via the string representation.\n\n.. code-block:: python\n\n perm = IsCorePerm.objects.get(\n type=enums.PERM_TYPE_CORE,\n codename='create',\n core='issue_tracker.IssueIsCore',\n )\n perm = IsCorePerm.objects.get_from_str('core.issue_tracker.IssueIsCore.create')\n\n**Checking permission**:\n\nYou can check whether the user or group has a required permission via ``has_perm`` method of the ``perms`` manager again using both the permission instance or the string representation.\n\n.. code-block:: python\n\n ...\n perm = IsCorePerm.objects.create(\n type=enums.PERM_TYPE_CORE,\n codename='create',\n core='issue_tracker.IssueIsCore',\n )\n\n assert user.perms.has_perm(perm)\n assert user.perms.has_perm('core.issue_tracker.IssueIsCore.create')\n\nNew perm type\n-------------------\n\n**core**\n\n- permission for iscore specific resources\n- type is defined as ``fperms_iscore.enums.PERM_TYPE_CORE``\n- codename is usually one of the CRUD operations (create, read, update, delete)\n- it requires ``type``, ``codename`` and ``core`` fields\n- string representation is ``'core...'``\n\n.. code-block:: python\n\n ...\n # equivalent results:\n IsCorePerm.objects.create(\n type=enums.PERM_TYPE_CORE,\n codename='create',\n core='issue_tracker.IssueIsCore',\n )\n IsCorePerm.objects.create_from_str('core.issue_tracker.IssueIsCore.create')\n\nRunning Tests\n-------------\n\nDoes the code actually work?\n\n::\n\n source /bin/activate\n (myenv) $ pip install tox\n (myenv) $ tox\n\n\nRunning Tests\n-------------\n\nDoes the code actually work?\n\n::\n\n source /bin/activate\n (myenv) $ pip install tox\n (myenv) $ tox\n\nCredits\n-------\n\nTools used in rendering this package:\n\n* Cookiecutter_\n* `cookiecutter-djangopackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage\n\n\n\n\nHistory\n-------\n\n0.1.0 (2018-03-13)\n++++++++++++++++++\n\n* First release on PyPI.", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/formulka/django-fperms-iscore/archive/0.2.8.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Formulka/django-fperms-iscore", "keywords": "django-fperms-iscore", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-fperms-iscore", "package_url": "https://pypi.org/project/django-fperms-iscore/", "platform": "", "project_url": "https://pypi.org/project/django-fperms-iscore/", "project_urls": { "Download": "https://github.com/formulka/django-fperms-iscore/archive/0.2.8.tar.gz", "Homepage": "https://github.com/Formulka/django-fperms-iscore" }, "release_url": "https://pypi.org/project/django-fperms-iscore/0.2.8/", "requires_dist": null, "requires_python": "", "summary": "Perms for iscore library", "version": "0.2.8" }, "last_serial": 5672316, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "1103a3f4b45a4a7cdcc4333c8f6547fd", "sha256": "3d822e1dedbc5cfd6bbc8f769f1f21671e1d61ed4f5b68413dda130cbbd3d487" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1103a3f4b45a4a7cdcc4333c8f6547fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9681, "upload_time": "2018-04-17T13:49:46", "url": "https://files.pythonhosted.org/packages/1c/2d/ad002f57d7f71bbe4978acb2e5c5b47ef77d65d85e273892b5b9343b2712/django-fperms-iscore-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "36e1c35bf91b8d9f25b90c084c85bc7c", "sha256": "2192177baada070d767d96ac7edf17f7d47b65abd6e4057b0bdeda777c1f6192" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.1.tar.gz", "has_sig": false, "md5_digest": "36e1c35bf91b8d9f25b90c084c85bc7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9700, "upload_time": "2018-04-17T14:03:20", "url": "https://files.pythonhosted.org/packages/de/b0/e20ca5457d961dffdf427141ebea4ce7a6634e5cdd21990bd295bf616f4a/django-fperms-iscore-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c8a0d2ed5c0f710d911808d980f40ebe", "sha256": "b6f526cdf64aa9c77237ea8f4601773554f7c050e81f0b01175ff7af726d938d" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.2.tar.gz", "has_sig": false, "md5_digest": "c8a0d2ed5c0f710d911808d980f40ebe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9597, "upload_time": "2018-04-18T14:00:10", "url": "https://files.pythonhosted.org/packages/9d/6e/11d00947f897d3e845f7ab12fc8fa5fb5f9e03767d231139c174452a0618/django-fperms-iscore-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "6c06dcd0432315bf1a11339d39aeca42", "sha256": "9e8ee2ff9f7877d76ef44d42e84947d61144d0749daf43768ba07851ab90c998" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.3.tar.gz", "has_sig": false, "md5_digest": "6c06dcd0432315bf1a11339d39aeca42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9607, "upload_time": "2018-04-25T12:45:53", "url": "https://files.pythonhosted.org/packages/5e/c5/084c82d8f6a20dc0f9531865891edf3eaa0e0f0f24025ea8a18cf3261eee/django-fperms-iscore-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "78d57729c77be2491bab189da2f51d15", "sha256": "0b03b275a3fc599c2fe52f8c2f685c5380b5ec68234026a0abb8c2eefbc8e014" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.4.tar.gz", "has_sig": false, "md5_digest": "78d57729c77be2491bab189da2f51d15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9610, "upload_time": "2018-04-27T09:22:32", "url": "https://files.pythonhosted.org/packages/5e/6e/64af79bbcb274d610f913ee64fe456d7b31949462577af5813098169893f/django-fperms-iscore-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "4639c242ea47f6229f4a6f365b718fea", "sha256": "2ff2916c37d16323139ff4a9afa6d12501ccfed30ca930277bf5a33c59ea45db" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.5.tar.gz", "has_sig": false, "md5_digest": "4639c242ea47f6229f4a6f365b718fea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9627, "upload_time": "2018-04-27T11:58:11", "url": "https://files.pythonhosted.org/packages/b0/e8/dbf58dd103a97e9396e02084a62446a4cfc4f8091b5a950002c1873aec7f/django-fperms-iscore-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "ca6be5a0a05df4a2c96bcef5bd857420", "sha256": "829acfbaa0557ff982fea968e263177567ff6d36586d0ff263f0b376f547dfb8" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.6.tar.gz", "has_sig": false, "md5_digest": "ca6be5a0a05df4a2c96bcef5bd857420", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8511, "upload_time": "2019-08-12T08:50:42", "url": "https://files.pythonhosted.org/packages/37/c0/1d831b1db53b6dcec18feab439d481ba7ddd47c55c44a78dc2e76317a354/django-fperms-iscore-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "85805ccf8d1d019d40fe95ecf91b9fdf", "sha256": "ca9f82809695bbaa4e5525de419a9712b31f9a943864b62f4af1f123d37b79f8" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.7.tar.gz", "has_sig": false, "md5_digest": "85805ccf8d1d019d40fe95ecf91b9fdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8519, "upload_time": "2019-08-13T14:32:40", "url": "https://files.pythonhosted.org/packages/8a/2f/0b9d89ed6401dfed3bf7ec8c5aad71c62380327ecf6ed9054875261fee63/django-fperms-iscore-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "c8228f63a05b39d47d6a7cb790509ab8", "sha256": "11533669bcc9160bad8a9d103af8a9b3e684c2a5ebb79aecc6e2d3ed9cd7e0fc" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.8.tar.gz", "has_sig": false, "md5_digest": "c8228f63a05b39d47d6a7cb790509ab8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9661, "upload_time": "2019-08-13T15:01:11", "url": "https://files.pythonhosted.org/packages/45/2c/a848b1d9558900afcb510e35f63d53ed5d13e91b1b5bfe1f75790aab1277/django-fperms-iscore-0.2.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8228f63a05b39d47d6a7cb790509ab8", "sha256": "11533669bcc9160bad8a9d103af8a9b3e684c2a5ebb79aecc6e2d3ed9cd7e0fc" }, "downloads": -1, "filename": "django-fperms-iscore-0.2.8.tar.gz", "has_sig": false, "md5_digest": "c8228f63a05b39d47d6a7cb790509ab8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9661, "upload_time": "2019-08-13T15:01:11", "url": "https://files.pythonhosted.org/packages/45/2c/a848b1d9558900afcb510e35f63d53ed5d13e91b1b5bfe1f75790aab1277/django-fperms-iscore-0.2.8.tar.gz" } ] }