{ "info": { "author": "Vittorio Zamboni", "author_email": "vittorio.zamboni@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Security" ], "description": "# Django groups manager\n\n[![Build Status](https://travis-ci.org/vittoriozamboni/django-groups-manager.svg?branch=master)](https://travis-ci.org/vittoriozamboni/django-groups-manager) [![Coverage Status](https://coveralls.io/repos/vittoriozamboni/django-groups-manager/badge.png?branch=master)](https://coveralls.io/r/vittoriozamboni/django-groups-manager?branch=master) ![Version](https://badge.fury.io/py/django-groups-manager.svg)\n\nThis application allows to create hierarchical groups by using [django-mptt](https://github.com/django-mptt/django-mptt) tree structure.\nIt is also possible to synchronize the groups with Django's ``auth.models`` Group and User, in order to take advantage of permissions applications like [django-guardian](https://github.com/lukaszb/django-guardian/).\n\n## Documentation\n\nOnline documentation is available at http://django-groups-manager.rtfd.org/.\n\n## Requirements\n\n - Django >= 1.7\n - django-guardian for user permissions (<1.4 for Django < 1.8)\n\n## Installation\n\nUse pip to install ``django-groups-manager``:\n\n```bash\npip install django-groups-manager\n```\n\n### Django Configuration\n\n1. Add ``groups_manager`` into your ``INSTALLED_APPS``:\n\n ```python\n INSTALLED_APPS = (\n ...\n 'groups_manager',\n )\n ```\n\n If you want to use permissions related features, add also ``django-guardian``.\n\n2. Create models with ``migrate``:\n\n ```bash\n python manage.py migrate groups_manager\n ```\n\n Note: for users that are upgrading from <0.4.2, launch:\n\n ```bash\n python manage.py migrate groups_manager 0001 --fake\n python manage.py migrate groups_manager\n ```\n\n3. To enable django ``auth.models`` synchronization, add to the settings module:\n\n ```python\n GROUPS_MANAGER = {\n 'AUTH_MODELS_SYNC': True,\n }\n ```\n\n## Basic usage\n\nThe common case is to create a simple parent-son relation:\n\n```python\nfrom groups_manager.models import Group, Member\nfc_internazionale = Group.objects.create(name='F.C. Internazionale Milan')\nstaff = Group.objects.create(name='Staff', parent=fc_internazionale)\nplayers = Group.objects.create(name='Players', parent=fc_internazionale)\nthohir = Member.objects.create(first_name='Eric', last_name='Thohir')\nstaff.add_member(thohir)\npalacio = Member.objects.create(first_name='Rodrigo', last_name='Palacio')\nplayers.add_member(palacio)\n```\n\nPer-object permissions handling is done by ``django-guardian``. The Group/Member relation can be used to assing objects:\n\n```python\nfrom football.models import TeamBudget\nsmall_budget = TeamBudget.objects.create(euros='1000')\nthohir.assign_object(staff, small_budget)\nthohir.has_perm('change_teambudget', small_budget) # True\npalacio.has_perm('change_teambudget', small_budget) # False\n# or via group\nmid_budget = TeamBudget.objects.create(euros='3000')\nstaff.assign_object(mid_budget)\nthohir.has_perm('change_teambudget', mid_budget) # True\npalacio.has_perm('change_teambudget', mid_budget) # False\n```\n\nOwner/Group members policies can be defined via ``PERMISSIONS`` setting, as a dictionary of ``GROUPS_MANAGER``, but can also be overwritten via ``custom_permissions`` ``kwarg``:\n\n```python\nfrom football.models import Match\nfc_barcelona = Group.objects.create(name='FC Barcelona')\nfriendly_match = Match.objects.create(home=fc_internazionale, away=fc_barcelona)\npalacio.assign_match(players, friendly_match, custom_permissions={'group': ['play']})\nthohir.has_perm('play_match', friendly_match) # False\npalacio.has_perm('play_match', friendly_match) # True\n```\n\nFor more complex cases, see documentation.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vittoriozamboni/django-groups-manager", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-groups-manager", "package_url": "https://pypi.org/project/django-groups-manager/", "platform": "", "project_url": "https://pypi.org/project/django-groups-manager/", "project_urls": { "Homepage": "https://github.com/vittoriozamboni/django-groups-manager" }, "release_url": "https://pypi.org/project/django-groups-manager/0.6.2/", "requires_dist": null, "requires_python": "", "summary": "Django groups manager through django-mptt.", "version": "0.6.2" }, "last_serial": 4686786, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1cb0c58ed33e37643a66bb4c8892bb3e", "sha256": "3d9fb51bc0aabadc9c1e36376ad6c24b5ad81d324bdf5a8bd4d4336aabcde834" }, "downloads": -1, "filename": "django-groups-manager-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1cb0c58ed33e37643a66bb4c8892bb3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 401140, "upload_time": "2014-10-29T09:44:30", "url": "https://files.pythonhosted.org/packages/2f/80/06fdeeec189b7a822db5c6d3e7e4e29c697b6e8bf3e96d444701ff5cd6f6/django-groups-manager-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5dade25533afea5f4319c5b46c576974", "sha256": "c6ebd6f4f9a8206d4805d3e9ba630532f212b8183985e877791afa8cf6dd9fb0" }, "downloads": -1, "filename": "django-groups-manager-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5dade25533afea5f4319c5b46c576974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28539, "upload_time": "2015-05-05T15:23:13", "url": "https://files.pythonhosted.org/packages/0e/16/82bc7b5f575d33cb932891d1082efda76d7f24e47859567ed677ff1eecd8/django-groups-manager-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "726ed3554645ab3fb98bdc5f1bfd29c2", "sha256": "53c1fb2d5d844ddbffbde229c37a87133be0bc3c9e0444f87554dcbabff6a5ef" }, "downloads": -1, "filename": "django-groups-manager-0.2.1.tar.gz", "has_sig": false, "md5_digest": "726ed3554645ab3fb98bdc5f1bfd29c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28562, "upload_time": "2015-05-05T16:41:26", "url": "https://files.pythonhosted.org/packages/f0/9f/8339a723787d909e7c2ffc0fe494c4c76dac3ed019e5f56e1d741236e1e5/django-groups-manager-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "48a99ab0e5e07638dc6b76f54e6baf37", "sha256": "2a758170bce16ed8873cdfcd1006b7352cb7c93755ac553acead6e490cbe610b" }, "downloads": -1, "filename": "django-groups-manager-0.3.0.tar.gz", "has_sig": false, "md5_digest": "48a99ab0e5e07638dc6b76f54e6baf37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29105, "upload_time": "2016-02-25T16:32:14", "url": "https://files.pythonhosted.org/packages/f9/09/e0545e69be3185c2df6af743c024c7b01da0f95f077d886771543e161cc5/django-groups-manager-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "43e287f0ff4dc59abcf7e263f874460d", "sha256": "6fce5f63832adabab9fcfc282e3f89f24816349d7b28333c317b32aa15c8d7c4" }, "downloads": -1, "filename": "django-groups-manager-0.4.0.tar.gz", "has_sig": false, "md5_digest": "43e287f0ff4dc59abcf7e263f874460d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30097, "upload_time": "2016-03-01T10:59:49", "url": "https://files.pythonhosted.org/packages/e1/7b/f549a7ba7cfd3f5555807dbf427bfcd87afc77765abfb4c728b5dc1ff8a2/django-groups-manager-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "e6ea74402e71c9c5c3c457477ed43e5f", "sha256": "3b82136bdcf96ef87a8248f8afb489e984a3ad0a34e005083d02f04646a4e791" }, "downloads": -1, "filename": "django-groups-manager-0.4.1.tar.gz", "has_sig": false, "md5_digest": "e6ea74402e71c9c5c3c457477ed43e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30267, "upload_time": "2016-04-19T10:03:52", "url": "https://files.pythonhosted.org/packages/bb/e2/86e54a226ad36efcc7d0221b0fadeddaf65709f2bac86278ac0326b504fc/django-groups-manager-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "d941343013df39b694bd7782bd94b85d", "sha256": "dcbc094ac99a53449a10e8b90890e1447f04112dd4deabfe73c9400c01e10510" }, "downloads": -1, "filename": "django-groups-manager-0.4.2.tar.gz", "has_sig": false, "md5_digest": "d941343013df39b694bd7782bd94b85d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31013, "upload_time": "2016-10-13T21:15:49", "url": "https://files.pythonhosted.org/packages/54/c6/8c9bc31c5f06639b50f414b25bdec3e19926e70c9c4d53d532a16a47be2e/django-groups-manager-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "297e6b73330bdc6691f7cdaf2441effe", "sha256": "1c65ca96e95ecd396b9742e96125b1dfbbb9a028315c4e3234c9d780fa86498e" }, "downloads": -1, "filename": "django-groups-manager-0.4.3.tar.gz", "has_sig": false, "md5_digest": "297e6b73330bdc6691f7cdaf2441effe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 984561, "upload_time": "2016-11-12T11:21:53", "url": "https://files.pythonhosted.org/packages/50/37/14a78881e57320705457918fc111dffcb80e5d3ed330b909207fb45cd752/django-groups-manager-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "1d95ddb7fb1165d9413b8fe4581fef78", "sha256": "f66cd0076a49317103ae7da66a66bb2d79bbec9e946e5ad3e9e225300e78dfcf" }, "downloads": -1, "filename": "django-groups-manager-0.5.0.tar.gz", "has_sig": false, "md5_digest": "1d95ddb7fb1165d9413b8fe4581fef78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 994657, "upload_time": "2016-11-30T22:11:47", "url": "https://files.pythonhosted.org/packages/f5/69/cb4434b187cf5a28f95e848f7b77c9ebc8dea769303bdd331a730905a228/django-groups-manager-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "5f02ef7644602f6102c55049641c9dbe", "sha256": "5a44995c556ed0195af37f66a3a72d804f42519eb172af454d7f4211c3db39f1" }, "downloads": -1, "filename": "django-groups-manager-0.5.1.tar.gz", "has_sig": false, "md5_digest": "5f02ef7644602f6102c55049641c9dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56513, "upload_time": "2017-01-03T21:18:37", "url": "https://files.pythonhosted.org/packages/3e/b6/165922ac78897de09d67a88a6063afaee5eac0238773299c077ab675f7d6/django-groups-manager-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "4ae5992baa127bef5b2b838b46e9a2c3", "sha256": "07bdaab128a783d4e6b18cda3635c7d94dfc75db282086ed275bc9bb2b81a61e" }, "downloads": -1, "filename": "django-groups-manager-0.6.0.tar.gz", "has_sig": false, "md5_digest": "4ae5992baa127bef5b2b838b46e9a2c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36132, "upload_time": "2017-12-10T13:24:00", "url": "https://files.pythonhosted.org/packages/85/86/fb0e16357d1aee75f29ba5431b93ee4ff30e03b5d3fb420ed37e40517546/django-groups-manager-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "20bd16d5e1091b6bcdb8c442702b97fa", "sha256": "ebb4b9e518a2646732e7453263b7a726e1852f40a1ef1d4bfd72dcefb63832b1" }, "downloads": -1, "filename": "django-groups-manager-0.6.1.tar.gz", "has_sig": false, "md5_digest": "20bd16d5e1091b6bcdb8c442702b97fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34239, "upload_time": "2018-01-18T22:52:35", "url": "https://files.pythonhosted.org/packages/82/91/dc637539ecfd3c429fd70f710d32763f4f9dcda443f757411eea00457d97/django-groups-manager-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "2d0744c40931b93a6f0a41c11feef242", "sha256": "b299c0d700e36a8bd900e91eb9713e35211e7857e9538318cf55649301e3b3bb" }, "downloads": -1, "filename": "django-groups-manager-0.6.2.tar.gz", "has_sig": false, "md5_digest": "2d0744c40931b93a6f0a41c11feef242", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36356, "upload_time": "2019-01-11T20:07:25", "url": "https://files.pythonhosted.org/packages/d7/3e/ff835406d3710d0a2b0c5eba65af77a8f301ee997f291eb93db9ab7939a9/django-groups-manager-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d0744c40931b93a6f0a41c11feef242", "sha256": "b299c0d700e36a8bd900e91eb9713e35211e7857e9538318cf55649301e3b3bb" }, "downloads": -1, "filename": "django-groups-manager-0.6.2.tar.gz", "has_sig": false, "md5_digest": "2d0744c40931b93a6f0a41c11feef242", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36356, "upload_time": "2019-01-11T20:07:25", "url": "https://files.pythonhosted.org/packages/d7/3e/ff835406d3710d0a2b0c5eba65af77a8f301ee997f291eb93db9ab7939a9/django-groups-manager-0.6.2.tar.gz" } ] }