{ "info": { "author": "Ecreall, Entrouvert, IMIO", "author_email": "s.geulette@imio.be", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 4.2", "Framework :: Plone :: 4.3", "Programming Language :: Python", "Programming Language :: Python :: 2.7" ], "description": ".. image:: https://secure.travis-ci.org/collective/collective.contact.plonegroup.png\n :target: http://travis-ci.org/collective/collective.contact.plonegroup\n\n=============================\ncollective.contact.plonegroup\n=============================\n\nIntroduction\n============\n\nA Plone add-on that manage organizations and functions, leading to corresponding plone groups creation.\nThis product makes the link between:\n\n* collective.contact.core : organization definition containing your organization services (multiple levels)\n* dexterity.localrolesfield : field presenting a list of services for which a local role can be given\n\nHow-to\n======\n\nFirst, create a directory in your site (object from collective.contact.core). This directory will contain all the informations related to your contacts.\n\nYou can then add your organization in it (with a specific id equal to 'plonegroup-organization').\nAn organization can contain organizations (such as services, divisions or department).\n\nIn the collective.contact.plonegroup configuration panel, you have to :\n\n* select some services of your organization to be used in localroles field\n* define some function labels that will be used in each selected organization\n\nWhen submitting, for each organization - function combination, a plone group is created with the id \"organization-uid\"_\"function-id\" and name \"organizations-name\" (\"function-name\").\n\nThe generated plone groups will be used in localroles field, where some local roles can be given to some function for each selected service.\n\nInstallation\n============\n\n* Add collective.contact.plonegroup to your eggs.\n* Re-run buildout.\n* Install the product in your plone site.\n\nCredits\n=======\n\nHave an idea? Found a bug? Let us know by `opening a ticket`_.\n\n.. _`opening a ticket`: https://github.com/collective/collective.contact.plonegroup/issues\n\nContributors\n============\n\n- Gauthier Bastien, IMIO\n- St\u00e9phan Geulette, IMIO\n- Vincent Fretin, Ecreall\n- C\u00e9dric Messiant, Ecreall\n- Fr\u00e9d\u00e9ric Peters, Entr'ouvert\n\nChangelog\n=========\n\n\n1.22 (2019-09-26)\n-----------------\n\n- When passing `kept_org_uids` to `utils.get_organizations`,\n make sure order is preserved.\n [gbastien]\n\n1.21 (2019-09-13)\n-----------------\n\n- Added `BaseOrganizationServicesVocabulary._term_title` to ease override of\n rendered term title.\n [gbastien]\n\n1.20 (2019-09-12)\n-----------------\n\n- Added `collective.contact.plonegroup.every_organizations` vocabulary, to do\n this needed to write `BaseOrganizationServicesVocabulary` from which\n `OwnOrganizationServicesVocabulary` and `EveryOrganizationsVocabulary`\n inherits.\n [gbastien]\n- Removed sorting on term title for\n `collective.contact.plonegroup.selected_organization_services`, terms are\n displayed following selection order in plonegroup organizations like before.\n Added new vocabulary sorted on term title and available as\n `collective.contact.plonegroup.sorted_selected_organization_services`.\n [gbastien]\n\n1.19 (2019-08-23)\n-----------------\n\n- Optimized `OwnOrganizationServicesVocabulary.listSubOrganizations`, do the\n catalog query only if current organization contains something.\n [gbastien]\n\n1.18 (2019-08-02)\n-----------------\n\n- In `OrgaPrettyLinkWithAdditionalInfosColumn`, set `showContentIcon` to True\n and enable `link-tooltip`.\n [gbastien]\n- In `SelectedInPlonegroupColumn`, display `Not` in bold.\n [gbastien]\n- Added `collective.contact.plonegroup.functions` vocabulary listing every\n functions defined in plonegroup control panel.\n [gbastien]\n\n1.17 (2019-07-15)\n-----------------\n\n- Corrected bad full title shortening.\n [sgeulette]\n\n1.16 (2019-06-30)\n-----------------\n\n- Fixed error in `OrgaPrettyLinkWithAdditionalInfosColumn` when displaying\n organizations out of `PLONEGROUP_ORG`.\n [gbastien]\n- Fixed `utils.get_organizations` when `caching=True` to store a new list of\n organizations in the cache instead returned value or value in cache may be\n modified if we modify returned value in a sub method...\n [gbastien]\n- Use `get_registry_organizations/set_registry_organizations` and\n `get_registry_functions/set_registry_functions` as much as possible.\n [gbastien]\n\n1.15 (2019-06-07)\n-----------------\n\n- Fixed problem, linked Plone groups title were not updated when suffix title\n changed and some `fct_orgs` were defined.\n [gbastien]\n- In `settings.detectContactPlonegroupChange`, set `changes = True` only when\n relevant, due to wrong indentation, it was done systematically.\n [gbastien]\n\n1.14 (2019-05-16)\n-----------------\n\n- Make `OrgaPrettyLinkWithAdditionalInfosColumn` work if displaying the\n `plonegroup-organization`, include link to plonegroup configuration panel in\n `SelectedInPlonegroupColumn` header.\n [gbastien]\n- Changed first parameter name for `utils.get_plone_group` and\n `utils.get_plone_group_id` from `org_uid` to `prefix` as it can be used in\n other cases.\n [gbastien]\n- Added helper method `utils.select_org_for_function` to be able to add/remove\n an organization uid from `fct_orgs` defined on a `function`.\n [gbastien]\n- Removed dependency on `unittest2`.\n [gbastien]\n- When calling `config.get_registry_organizations` and\n `config.get_registry_functions`, by default return a copy of stored data to\n avoid changing it.\n [gbastien]\n- Added parameter `default=True` to `utils.get_own_organization`, in this case,\n default ids for `root directory` and `own organization` are used instead\n using a catalog query, it should be faster.\n [gbastien]\n\n1.13 (2019-01-11)\n-----------------\n\n- Use unrestrictedSearchResults to check link integrity.\n [sgeulette]\n- Added helpers config.get_registry_organizations,\n config.get_registry_functions, config.set_registry_organizations and\n config.set_registry_functions to easily get and set organizations/functions\n registry records.\n [gbastien]\n\n1.12 (2018-12-11)\n-----------------\n\n- Added parameter `kept_org_uids` to `utils.get_organizations` to only keep\n organizations having defined UID.\n [gbastien]\n- Sort `collective.contact.plonegroup.selected_organization_services`\n vocabulary by value title.\n [gbastien]\n- Display the organization UID next to title in the `suborganizations` view.\n [gbastien]\n\n1.11 (2018-11-20)\n-----------------\n\n- In utils.get_organizations, call uuidsToObjects with ordered=True to get\n organizations in correct order because the catalog query is not sorted.\n [gbastien]\n- Fixed migration that adds 'fct_orgs' to functions.\n [gbastien]\n\n1.10 (2018-10-12)\n-----------------\n\n- Removed grok for OwnOrganizationServicesVocabulary.\n [gbastien]\n- Added utils.get_organization to get an organization corresponding\n to a given plone_group_id.\n [gbastien]\n- Added utils.get_organizations to get every plonegroup organizations. It is\n possible to get every selectable or selected organizations, as objects or not\n and for which a particular linked Plone group (suffix) is not empty.\n [gbastien]\n- Added utils.get_all_suffixes that returns every defined functions ids.\n [gbastien]\n- Added possibility to restrict suffixes to only some selected organizations.\n Plone groups will only be created for selected organizations. When selecting or\n unselecting organizations, linked Plone groups are created/deleted accordingly.\n [gbastien]\n- Moved setting.getOwnOrganizationPath to\n utils.get_own_organization/utils.get_own_organization_path.\n [gbastien]\n- Added method utils.get_plone_groups that returns every Plone groups of a\n given organization.\n [gbastien]\n- Added utils.get_plone_group that returns a Plone group for given organization\n UID and suffix.\n [gbastien]\n- Disabled auto_append on IContactPlonegroupConfig.functions DataGridField.\n [gbastien]\n- Notify event PlonegroupGroupCreatedEvent when a Plone group linked to an\n organization is created.\n [gbastien]\n- z3c.table batching does not work when displaying suborganizations, so set\n batchSize and startBatchingAt to 999 instead 200 so we are pretty sure it is\n never displayed.\n [gbastien]\n- While displaying \"@@suborganizations\", display a specific message \"No suborganization\"\n when no suborganizations instead displaying nothing.\n [gbastien]\n- Added default logger importable from collective.contact.plonegroup.\n [gbastien]\n- Added utils.select_organization to be able to select or unselect an\n organization from organizations registry.\n [gbastien]\n- While creating Plone groups, translate suffix displayed in title.\n [gbastien]\n\n1.9 (2018-09-04)\n----------------\n\n- Added utils.get_plone_group_id to get Plone group id for given organization and suffix.\n [gbastien]\n- Overrided \"@@suborganizations\" view to display the entire hierarchy of contained\n organizations and sub-organizations and more informations in a table.\n [gbastien]\n- When the plonegroup-organization is displayed in a tooltip, use original way\n to display sub organizations because the new rendering using the table takes\n too much place in the tooltip.\n [gbastien]\n\n1.8.1 (2018-07-30)\n------------------\n\n- Sort user vocabulary by fullname\n [sgeulette]\n- Added cache on travis.\n [sgeulette]\n\n1.8 (2017-09-18)\n----------------\n\n- Corrected error when deleting site.\n [sgeulette]\n- Corrected group modification. Added migration step.\n [sgeulette]\n\n1.7 (2017-07-25)\n----------------\n\n- Check if linkintegrity is enabled in events.\n [sgeulette]\n\n1.6 (2017-05-30)\n----------------\n\n- Use manager role only if necessary to avoid \"SystemError: Excessive recursion\" when recataloging\n [sgeulette]\n- Protect against group deletion\n [sgeulette]\n- Corrected subscriber at object paste\n [sgeulette]\n\n1.5 (2016-12-13)\n----------------\n\n- Get selected organizations with manager role because plone.formwidget.masterselect calls ++widget++ as Anonymous.\n [sgeulette]\n\n1.4 (2016-12-07)\n----------------\n\n- Call only once a subscriber.\n [sgeulette]\n- Improved util method and added test\n [sgeulette]\n- Added method to get selected organizations with customized title\n [sgeulette]\n- Added methods to get orgs users and vocabulary\n [sgeulette]\n\n1.3 (2016-04-15)\n----------------\n\n- Use a stored cache key to invalidate cache on all zeo clients\n [sgeulette]\n\n1.2 (2016-01-13)\n----------------\n\n- Made an unrestricted search to list own organizations, possible reason of empty list\n [sgeulette]\n- Increase OrderedSelectWidget size to 15 lines.\n [sgeulette]\n- Use the same permission to protect config view and configlet.\n [sgeulette]\n\n1.1 (2015-12-11)\n----------------\n\n- Put title as unicode in vocabulary.\n [sgeulette]\n\n1.0 (2015-11-24)\n----------------\n\n- Added link integrity check when deleting a plonegroup organization\n [sgeulette]\n- Added marker interfaces to distinguish plonegroup organizations\n [sgeulette]\n- Added selected organizations vocabulary as elephantvocabulary: display correctly no more selected terms.\n [sgeulette]\n- Don't deactivate a used plonegroup organization\n [sgeulette]\n- Check state to build OwnOrganizationServicesVocabulary.\n [cedricmessiant]\n- Set token to UID in OwnOrganizationServicesVocabulary.\n [sgeulette]\n- Give access to configlet to Site Administrator\n [sgeulette]\n- Flake8 corrections\n [sgeulette]\n\n\n0.2 (2014-03-18)\n----------------\n\n- Corrected Manifest to include all files.\n\n\n0.1 (2014-02-13)\n----------------\n\n- Initial release.\n [sgeulette]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/collective.contact.plonegroup", "keywords": "", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "collective.contact.plonegroup", "package_url": "https://pypi.org/project/collective.contact.plonegroup/", "platform": "", "project_url": "https://pypi.org/project/collective.contact.plonegroup/", "project_urls": { "Homepage": "http://pypi.python.org/pypi/collective.contact.plonegroup" }, "release_url": "https://pypi.org/project/collective.contact.plonegroup/1.22/", "requires_dist": null, "requires_python": "", "summary": "Organizations and functions combinations to create plone groups", "version": "1.22" }, "last_serial": 5889894, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "fd8e911b16e0ceda929240466ae7bf15", "sha256": "225ae18f41147accda36aee1cc90d772e5f51c2939d5c506cd6889397f4a50ab" }, "downloads": -1, "filename": "collective.contact.plonegroup-0.1.zip", "has_sig": false, "md5_digest": "fd8e911b16e0ceda929240466ae7bf15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37996, "upload_time": "2014-02-14T16:00:40", "url": "https://files.pythonhosted.org/packages/2b/af/3346ca7a865cf76f2cb267272691e0b090e21d64c11ed325bafe55902e3f/collective.contact.plonegroup-0.1.zip" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c82fc0fa5421520472339c1df890f42c", "sha256": "6ae5a95123c9f128f8425d1a1ed9341e4cb0d59525727f13f9234a3e172d380e" }, "downloads": -1, "filename": "collective.contact.plonegroup-0.2.zip", "has_sig": false, "md5_digest": "c82fc0fa5421520472339c1df890f42c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43701, "upload_time": "2014-03-18T12:56:54", "url": "https://files.pythonhosted.org/packages/cb/d7/52dbff19fc2b0de89a361cc693eeb366424f2efd5f4b7e396f7e42840586/collective.contact.plonegroup-0.2.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "da81869b3c549b50dab3540e043d73a3", "sha256": "b143d1006400db40f00e8946a26bd930c2cbe173053eb20d4b56d9f4b3033577" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.0.zip", "has_sig": false, "md5_digest": "da81869b3c549b50dab3540e043d73a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53232, "upload_time": "2015-11-24T09:11:29", "url": "https://files.pythonhosted.org/packages/e4/a5/2817d70ac5297a998d86ec3789b263cbe0275f45de2b1a5f255b7cec4f62/collective.contact.plonegroup-1.0.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "481c31fcc4317eb0f6a631e58054909e", "sha256": "fe3c5be59b7e6a4494408b9ff3281420ab1109052f67f8d98eaefb366408f368" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.1.tar.gz", "has_sig": false, "md5_digest": "481c31fcc4317eb0f6a631e58054909e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28565, "upload_time": "2015-12-11T10:41:15", "url": "https://files.pythonhosted.org/packages/42/b9/0be6d1803b2a5ecc5281daede6cb1d03a1dc024af955a755c4a6c4a309ae/collective.contact.plonegroup-1.1.tar.gz" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "761ba0fff5a088e75caa8d67b895798f", "sha256": "d31379a9027e8e30452feaef4c7cb2f88d261858cbd9ea1cf348d63b7f945265" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.10.tar.gz", "has_sig": false, "md5_digest": "761ba0fff5a088e75caa8d67b895798f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44295, "upload_time": "2018-10-12T11:59:30", "url": "https://files.pythonhosted.org/packages/b1/1d/be47699f2ff1314cda22e01cb69500cb17e753fc70f55844bfac9f9bb43b/collective.contact.plonegroup-1.10.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "84099f6a19b535f938dbf7166391745f", "sha256": "d92a9ddd7a5c3b2781865a49dc3fe3a334892015154f7e894ac25a1cd058ce50" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.11.tar.gz", "has_sig": false, "md5_digest": "84099f6a19b535f938dbf7166391745f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44597, "upload_time": "2018-11-20T14:23:31", "url": "https://files.pythonhosted.org/packages/c7/1a/edc74608840bb7c1eb9f4caf852bbded1c3929d6791b792f3279af848011/collective.contact.plonegroup-1.11.tar.gz" } ], "1.12": [ { "comment_text": "", "digests": { "md5": "2c1373554de01bf0290ea2397527c991", "sha256": "3566319bd5bf1cf849e0bdb4c0bedd5180eac27ddb612045359ca2acccc7b45b" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.12.tar.gz", "has_sig": false, "md5_digest": "2c1373554de01bf0290ea2397527c991", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45219, "upload_time": "2018-12-11T09:48:29", "url": "https://files.pythonhosted.org/packages/ed/7f/2b3c7f7ed0319c26cf62136c11d0f31aaaf592be3310910559a84f35915d/collective.contact.plonegroup-1.12.tar.gz" } ], "1.13": [ { "comment_text": "", "digests": { "md5": "62ec8f916b249e5526b4bf96ae7e548f", "sha256": "2b65687ed7e356408b8bd1b78884b89d631d982ea0fdf035fdf88f7e537f08ef" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.13.tar.gz", "has_sig": false, "md5_digest": "62ec8f916b249e5526b4bf96ae7e548f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45607, "upload_time": "2019-01-11T10:05:11", "url": "https://files.pythonhosted.org/packages/5c/a2/ab02e88e6dc99847b79041078893eee4132662a606569af1ae71dd602d77/collective.contact.plonegroup-1.13.tar.gz" } ], "1.14": [ { "comment_text": "", "digests": { "md5": "a8366c1c1c527da61f1e57dbb1b80f53", "sha256": "9f63380cd5705c14865485bee265ae4026996bf4688e408ad67eeb57acedfc60" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.14.tar.gz", "has_sig": false, "md5_digest": "a8366c1c1c527da61f1e57dbb1b80f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47165, "upload_time": "2019-05-16T14:06:29", "url": "https://files.pythonhosted.org/packages/82/d2/760803cc73b550290b8d18e31902154c8d57bdbd17a2829cd56c7e2c3770/collective.contact.plonegroup-1.14.tar.gz" } ], "1.15": [ { "comment_text": "", "digests": { "md5": "13f5f52e8e35325273df78c31664989d", "sha256": "21c3714b264896f7389a66612072465f7b5d3d5b66c0275ccced868b838eb611" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.15.tar.gz", "has_sig": false, "md5_digest": "13f5f52e8e35325273df78c31664989d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47492, "upload_time": "2019-06-07T13:30:12", "url": "https://files.pythonhosted.org/packages/8c/ce/c1af8a34c64a3e05efe1955b5d4d3e87ead079202f64e0b31a09cc19c939/collective.contact.plonegroup-1.15.tar.gz" } ], "1.16": [ { "comment_text": "", "digests": { "md5": "429563803ce76683b5494cfd61f515e7", "sha256": "836ec48878fc4ce68b2762759d61ca55a6f0eee06264e357416098eb4c8dacba" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.16.tar.gz", "has_sig": false, "md5_digest": "429563803ce76683b5494cfd61f515e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48025, "upload_time": "2019-06-30T09:07:45", "url": "https://files.pythonhosted.org/packages/b0/02/41195a8d9d3fe48152fe312f4aeb6441e0e0e8b7b1445aacda5c1552c03c/collective.contact.plonegroup-1.16.tar.gz" } ], "1.17": [ { "comment_text": "", "digests": { "md5": "e6470ea40c8d5934585709d1f3186499", "sha256": "891ec08b6711e877364df02e2581d9e1b3bdc563d0f06fec836ad8e1d607c19f" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.17.tar.gz", "has_sig": false, "md5_digest": "e6470ea40c8d5934585709d1f3186499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46164, "upload_time": "2019-07-15T12:59:32", "url": "https://files.pythonhosted.org/packages/8b/bf/727ce3eac23a4be9a83841c13f3995aa42929512b41e116325f7ff5df2a2/collective.contact.plonegroup-1.17.tar.gz" } ], "1.18": [ { "comment_text": "", "digests": { "md5": "d42773394b1e60d6a9bc7e6c6a9cfbcd", "sha256": "4b7377c188312076ff585ef2d53b1d0a507d3d927bac28335f565ff6075862c0" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.18.tar.gz", "has_sig": false, "md5_digest": "d42773394b1e60d6a9bc7e6c6a9cfbcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48786, "upload_time": "2019-08-02T19:17:47", "url": "https://files.pythonhosted.org/packages/54/62/35a0abc8fc1c365fe8d27bcb2381769dc7d9c6c94a6dfefb372e142295ac/collective.contact.plonegroup-1.18.tar.gz" } ], "1.19": [ { "comment_text": "", "digests": { "md5": "a0742c91114288fd22d549f06f851e20", "sha256": "311f76d931d9e582bbf49ea319715b513ef0e77552af241cb6efee0b2e79d0bc" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.19.tar.gz", "has_sig": false, "md5_digest": "a0742c91114288fd22d549f06f851e20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48949, "upload_time": "2019-08-23T12:55:05", "url": "https://files.pythonhosted.org/packages/cc/5b/4826c6048b9254bc4771bb192c7a95fdd64980e62bac158c36ed4411828a/collective.contact.plonegroup-1.19.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "c7ba63a8fccb3ffc442c6a6faa7d0785", "sha256": "0feacbef4d06774cc21e48bdc7c13413f112a474dd8c5bbc3a7e85bf667db8b7" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.2.tar.gz", "has_sig": false, "md5_digest": "c7ba63a8fccb3ffc442c6a6faa7d0785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28933, "upload_time": "2016-01-13T13:01:13", "url": "https://files.pythonhosted.org/packages/ba/d4/15380fbddd72d9a436fca367794d38150a0a548d0d8a6d33655d78c34b5e/collective.contact.plonegroup-1.2.tar.gz" } ], "1.20": [ { "comment_text": "", "digests": { "md5": "c0ce88268ebb09c6227e45c69c27eb62", "sha256": "e9481821dcde54e2a3850de8204211890518ca891149f8e2cae0edf8e4c34853" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.20.tar.gz", "has_sig": false, "md5_digest": "c0ce88268ebb09c6227e45c69c27eb62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49733, "upload_time": "2019-09-12T10:21:41", "url": "https://files.pythonhosted.org/packages/53/d8/a1f0be46b1697dc9f7f358a5810475a6c04961fe458b6b2e485a1d4cb2c4/collective.contact.plonegroup-1.20.tar.gz" } ], "1.21": [ { "comment_text": "", "digests": { "md5": "6fb7ef43ea67f7eda424e07b76dddab4", "sha256": "e25e47987209ddf0e626a5503cba9e6bd79cf328acdb920bb59f13b3cc2f1534" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.21.tar.gz", "has_sig": false, "md5_digest": "6fb7ef43ea67f7eda424e07b76dddab4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49884, "upload_time": "2019-09-13T13:29:02", "url": "https://files.pythonhosted.org/packages/3b/97/76482dde6b53d4d31d30e6f1afec17347371a5118e41f33b882853366089/collective.contact.plonegroup-1.21.tar.gz" } ], "1.22": [ { "comment_text": "", "digests": { "md5": "0f31c94ccb2d3c6ec15c6b887cb80015", "sha256": "3fbb69ffe75e4f57d875e62b6d482dad0b4e77280ebaa95bf418a218ab65b6a3" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.22.tar.gz", "has_sig": false, "md5_digest": "0f31c94ccb2d3c6ec15c6b887cb80015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50063, "upload_time": "2019-09-26T10:12:43", "url": "https://files.pythonhosted.org/packages/b7/17/7d4b51881f4347e581abddb0807768928169396e44f9662be53a1d3942f2/collective.contact.plonegroup-1.22.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "bf4b78793e051fb9d691bdb5b4c996a1", "sha256": "7ba710975976de53ab273e33461e04ea1bfa687a4d5ba0f358e5005d971525f1" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.3.tar.gz", "has_sig": false, "md5_digest": "bf4b78793e051fb9d691bdb5b4c996a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28339, "upload_time": "2016-04-15T08:29:42", "url": "https://files.pythonhosted.org/packages/2a/2d/47ffdb43091ae03ef876121357f72ce33d5e44d0d26b5e3831a46de2af82/collective.contact.plonegroup-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "fad5593bf658eba73b254985c93338d9", "sha256": "4e2bb1b75c72d868523899420908bc91fa219d18ffcec4521e41e62c86b5bfb5" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.4.tar.gz", "has_sig": false, "md5_digest": "fad5593bf658eba73b254985c93338d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29335, "upload_time": "2016-12-07T08:08:22", "url": "https://files.pythonhosted.org/packages/81/b1/cb3d6bd8843c27d9e979acc8dfee331727ffa124f0ca1f38137568d227e5/collective.contact.plonegroup-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "f88366e737b6cb05be1878e523aad0ee", "sha256": "0e4911630baf7c85d94f36dcdf5b834d282056d6516194e2a150876d963f1ba8" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.5.tar.gz", "has_sig": false, "md5_digest": "f88366e737b6cb05be1878e523aad0ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29542, "upload_time": "2016-12-13T19:55:18", "url": "https://files.pythonhosted.org/packages/a7/84/f33cefaf2479b8603b18d86f16772fa357e89adf7727bf505c97560277fb/collective.contact.plonegroup-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "796829ca44b3377d729ccf7a4b2ea244", "sha256": "ddd5d34688199d501c15e4100816d69e19f83900cd39ecb6a78cdd02c0d7530a" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.6.tar.gz", "has_sig": false, "md5_digest": "796829ca44b3377d729ccf7a4b2ea244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30599, "upload_time": "2017-05-30T12:02:15", "url": "https://files.pythonhosted.org/packages/32/5c/0d7c5cf8520d57c5ae0983f5ceb4f5b3a4e8d01049762adfbfc49c1bec94/collective.contact.plonegroup-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "19a5a18703180475e89a76e6b6230fee", "sha256": "27210523f0b725febce4055f4d12ea2f79f7e433f7faaf45bc148a344fc7626b" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.7.tar.gz", "has_sig": false, "md5_digest": "19a5a18703180475e89a76e6b6230fee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30603, "upload_time": "2017-07-25T13:23:24", "url": "https://files.pythonhosted.org/packages/ad/ac/32fa99f3c79730cec27bc808f5033297051c18b467d786a5dfb0b63bc60d/collective.contact.plonegroup-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "5f939528cf2b37773870f60eae926c0c", "sha256": "d31781b6da575899218c734d3d9edf9f37d50f9923db4669bc817ae257c606b9" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.8.tar.gz", "has_sig": false, "md5_digest": "5f939528cf2b37773870f60eae926c0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31054, "upload_time": "2017-09-18T07:51:01", "url": "https://files.pythonhosted.org/packages/ca/72/88f302598c39a7a47c67fe116481f09b26e0392eb3a3ac51060c2f00e9de/collective.contact.plonegroup-1.8.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "69f7357e99697b0cbe64988a97cba249", "sha256": "f884c65ac701f3690575223f3fdf36a85cacd52d90a38d4f7df915e0214394f3" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.8.1.tar.gz", "has_sig": false, "md5_digest": "69f7357e99697b0cbe64988a97cba249", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31460, "upload_time": "2018-07-30T10:20:58", "url": "https://files.pythonhosted.org/packages/2e/9b/71ee7ef5c36bd49fd05c91cdc62c20312cbb0af72ec938c27229f920acbf/collective.contact.plonegroup-1.8.1.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "eb63fedaa137af96ad0498617f033205", "sha256": "064d33191807b1abd9b3f7612e8f70570f5212d18b133de97817387e627cbecc" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.9.tar.gz", "has_sig": false, "md5_digest": "eb63fedaa137af96ad0498617f033205", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35522, "upload_time": "2018-09-04T12:31:01", "url": "https://files.pythonhosted.org/packages/16/34/ee58f99ff322dd11966406911ee6e8ebf03da8824012861e4b44bb5cc757/collective.contact.plonegroup-1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f31c94ccb2d3c6ec15c6b887cb80015", "sha256": "3fbb69ffe75e4f57d875e62b6d482dad0b4e77280ebaa95bf418a218ab65b6a3" }, "downloads": -1, "filename": "collective.contact.plonegroup-1.22.tar.gz", "has_sig": false, "md5_digest": "0f31c94ccb2d3c6ec15c6b887cb80015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50063, "upload_time": "2019-09-26T10:12:43", "url": "https://files.pythonhosted.org/packages/b7/17/7d4b51881f4347e581abddb0807768928169396e44f9662be53a1d3942f2/collective.contact.plonegroup-1.22.tar.gz" } ] }