{ "info": { "author": "4teamwork AG", "author_email": "mailto:info@4teamwork.ch", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 4.3", "Framework :: Plone :: 5.1", "Intended Audience :: Developers", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "collective.deletepermission\n===========================\n\nThe default Plone permission for deleting content does not allow to delete\ncontent from a folder without being able to delete the folder itself.\n\nThe `collective.deletepermission` package introduces an additional permission\n``Delete portal content``. By seperating the permission ``Delete portal\ncontent`` (I can delete this content object) from the permission ``Delete\nobjects`` (I can delete something IN this folder), we now can allow a\n``Contributor`` to delete content he created (``Owner`` role) without letting\nhim delete folders and objects belonging to other users - even in a nested\nenvironment.\n\n\nImplementation details\n----------------------\n\nThis package monkey patches:\n\n- ``manage_delObjects`` of AT BaseFolder and Dexterity Container\n\n- ``manage_cutObjects__roles__`` of AT BaseFolderMixin and Dexterity Container\n\n- ``manage_pasteObjects__roles__`` of AT BaseFolderMixin and Dexterity Container\n\n- ``cb_userHasCopyOrMovePermissionchecks`` of OFS CopySupport\n\nand overrides the following templates and scripts (skins):\n\n- ``folder_rename_form.cpt``\n\n- ``object_rename.py``\n\nto implement a new ``Delete portal content`` permission.\n\n\nThe ``Delete portal content`` permission is now required on the object you want\nto delete.\nOn parent objects the ``Delete objects`` permission is still required.\nThis gives us some more flexibility and makes it possible for a contributor to\ndelete his own content but nothing else. On the graph below you can see the\nsituation with the default permission settings and if it is deletable by\nContributor1.\n\n::\n\n - Rootfolder of Admin (not deletable)\n '- Document of Contributor1 (deletable)\n '- Subfolder of Admin (not deletable)\n '- Document of Contributor1 (deletable)\n '- Document of Contrubutor2 (not deletable)\n\nIn default Plone this would look like this::\n\n - Rootfolder of Admin (not deletable)\n '- Document of Contributor1 (deletable)\n '- Subfolder of Admin (deletable)\n '- Document of Contributor1 (deletable)\n '- Document of Contrubutor2 (deletable)\n\nThis is caused by the fact that in default Plone we require the same permission\non the parent and the object.\nIf we have two levels where we should be able to delete some files, we always\nend up with the user being able to delete the container of the second level.\n\n\nUsage\n-----\n\n- Add ``collective.deletepermission`` to your buildout configuration:\n\n::\n\n [instance]\n eggs +=\n collective.deletepermission\n\n- Install the generic setup import profile.\n\n\nLinks\n-----\n\n- Github: https://github.com/4teamwork/collective.deletepermission\n- Issues: https://github.com/4teamwork/collective.deletepermission/issues\n- Pypi: http://pypi.python.org/pypi/collective.deletepermission\n- Continuous integration: https://jenkins.4teamwork.ch/search?q=collective.deletepermission\n\n\nCopyright\n---------\n\nThis package is copyright by `4teamwork `_.\n\n``collective.deletepermission`` is licensed under GNU General Public License,\nversion 2.\n\nChangelog\n=========\n\n1.5.0 (2019-09-09)\n------------------\n\n- Add Plone 5.1 support. [mbaechtold]\n- Drop Plone 4.1 support. [jone]\n\n\n1.4.0 (2016-09-22)\n------------------\n\n- Let Site Administrators delete foreign content on site root. [jone]\n\n\n1.3.0 (2016-09-02)\n------------------\n\n- Also patch manage_pasteObjects security deceleration the same way as manage_cutObjects.\n This way it's possible to paste objects in a container, without Modify portal content\n permission on the container itself.\n [mathias.leimgruber]\n\n\n1.2.1 (2015-08-12)\n------------------\n\n- Remove dependency to ftw.upgrade.\n [jone]\n\n\n1.2.0 (2015-02-17)\n------------------\n\n- Support dexterity objects.\n [erral, libargutxi]\n\n\n1.1.3 (2014-03-03)\n------------------\n\n- Fix protection of manage_delObjects with \"Delete objects\".\n In certain situations, when only having the permission to delete the\n content (\"Delete portal content\") but not the permission to delete from the\n the parent container (\"Delete objects\" on the parent) deleting was possible\n even though it shouldn't have been.\n [jone]\n\n\n1.1.2 (2013-10-17)\n------------------\n\n- Copy no longer requires \"Delete portal content\".\n Requiring \"Delete portal content\" was introduced accidentally\n for copying because of a patch for cutting.\n [jone]\n\n\n1.1.1 (2013-06-04)\n------------------\n\n- Only show \"Delete\" action with \"Delete objects\" on the container.\n [jone]\n\n\n1.1 (2013-05-24)\n----------------\n\n- Do not require 'Delete portal content' permission when renaming an object.\n [buchi]\n\n\n1.0 (2013-01-24)\n----------------\n\n- Init release\n [mathias.leimgruber]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/4teamwork/collective.deletepermission", "keywords": "collective deletepermission 4teamwork ftw plone", "license": "GPL2", "maintainer": "", "maintainer_email": "", "name": "collective.deletepermission", "package_url": "https://pypi.org/project/collective.deletepermission/", "platform": "", "project_url": "https://pypi.org/project/collective.deletepermission/", "project_urls": { "Homepage": "https://github.com/4teamwork/collective.deletepermission" }, "release_url": "https://pypi.org/project/collective.deletepermission/1.5.0/", "requires_dist": null, "requires_python": "", "summary": "Implements a new permission 'Delete portal content'", "version": "1.5.0" }, "last_serial": 5823343, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "4fcf7e372fd54b083881298db66fafb6", "sha256": "67978bb5e442c6e1cde37e5526f1cc812a139768d70fe02793e8d01519795c87" }, "downloads": -1, "filename": "collective.deletepermission-1.0.tar.gz", "has_sig": false, "md5_digest": "4fcf7e372fd54b083881298db66fafb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18525, "upload_time": "2013-01-24T16:11:29", "url": "https://files.pythonhosted.org/packages/fd/5a/b6f4a0421b1eef43252ea1db1c2cebf244bab8eb875b2839e5684a7f3edf/collective.deletepermission-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "28850cf92e8f468315e55e63f62e2a46", "sha256": "98353cd946f68b0933fb5dd6dc11be2fce4a2a1c180e0acd3e3ae951df28b6c0" }, "downloads": -1, "filename": "collective.deletepermission-1.1.zip", "has_sig": false, "md5_digest": "28850cf92e8f468315e55e63f62e2a46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34371, "upload_time": "2013-05-24T13:04:28", "url": "https://files.pythonhosted.org/packages/21/da/a55f73cd430c9bc0e01e4fc2a1ab2de1174df6d503c80da1396452afcea9/collective.deletepermission-1.1.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "a2d0655e65ad4ed289f2830b01eb73db", "sha256": "afb650df3ed1a40371685e872a8b1caf8b8007cf2e49d2da590c6b3af4941980" }, "downloads": -1, "filename": "collective.deletepermission-1.1.1.zip", "has_sig": false, "md5_digest": "a2d0655e65ad4ed289f2830b01eb73db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37988, "upload_time": "2013-06-04T14:39:12", "url": "https://files.pythonhosted.org/packages/a7/86/f51a8b918891647df885fdd7bf5413d8ef05d790b8fb75bc6bd8b6684108/collective.deletepermission-1.1.1.zip" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "bdf420d1598b5a59e5fe78c075d62076", "sha256": "ce978b5bd94783a8a12be65a1d8ee869e2a839742dcc7b4ba76c711b024c27ec" }, "downloads": -1, "filename": "collective.deletepermission-1.1.2.zip", "has_sig": false, "md5_digest": "bdf420d1598b5a59e5fe78c075d62076", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39747, "upload_time": "2013-10-17T12:32:20", "url": "https://files.pythonhosted.org/packages/10/10/75d3f6f3a3417d125351de6574117db2c767443eaee4fc8f2710ad414d47/collective.deletepermission-1.1.2.zip" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "cff21fc9e3f4120445011d268fdc8a3c", "sha256": "0b83e52c0550b6ba97270b85d587e7474f74bb23c5fa5ac6cbc9018b4dd6aad7" }, "downloads": -1, "filename": "collective.deletepermission-1.1.3.zip", "has_sig": false, "md5_digest": "cff21fc9e3f4120445011d268fdc8a3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40970, "upload_time": "2014-03-03T10:00:56", "url": "https://files.pythonhosted.org/packages/26/cd/eafe43ecd3778dc1ce3be49098a33c07b6e3c3a82164df1f31fd31d5c04c/collective.deletepermission-1.1.3.zip" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "8f1a978930c14bc6ff61c7b233432a91", "sha256": "cb508992df14fb8c29c48ed8aa9b46eec872d6f3e1e68b8f21b6756035cd6e99" }, "downloads": -1, "filename": "collective.deletepermission-1.2.0.zip", "has_sig": false, "md5_digest": "8f1a978930c14bc6ff61c7b233432a91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42828, "upload_time": "2015-02-17T10:31:14", "url": "https://files.pythonhosted.org/packages/cc/a5/3c8c0bccf3b7d174fa81db40ccfdaed7f1996c741ed945e450e2df6b3a54/collective.deletepermission-1.2.0.zip" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "997f67dc852a9b4c03f8d92791083d16", "sha256": "c0f1a4ae615740a0dee84b71047a7ce7f2d4a3124aa0f481264b085a938a119f" }, "downloads": -1, "filename": "collective.deletepermission-1.2.1.zip", "has_sig": false, "md5_digest": "997f67dc852a9b4c03f8d92791083d16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42839, "upload_time": "2015-08-12T07:59:38", "url": "https://files.pythonhosted.org/packages/db/bf/f6f10bbb2996f52d000a651a2df9d53ab9a6e479f210f04969c64786a28a/collective.deletepermission-1.2.1.zip" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "ae4e010e788c67068484b512ce3eef5d", "sha256": "1af0fe47c8acd1b0436a3c583e6054c5da63d4dcd73aa33341863862482b552a" }, "downloads": -1, "filename": "collective.deletepermission-1.3.0.tar.gz", "has_sig": false, "md5_digest": "ae4e010e788c67068484b512ce3eef5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24602, "upload_time": "2016-09-02T12:05:45", "url": "https://files.pythonhosted.org/packages/3a/2a/9e7a8afb530b5e119035cf361493fd64964470a4da2f64303341f392a008/collective.deletepermission-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "bb4fb05fec56f65936261a7e707c7f9e", "sha256": "545b1560c00a8a3de4719ec84d27a2531462d692a189d60546d61ae579f845ef" }, "downloads": -1, "filename": "collective.deletepermission-1.4.0.tar.gz", "has_sig": false, "md5_digest": "bb4fb05fec56f65936261a7e707c7f9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24958, "upload_time": "2016-09-22T14:15:09", "url": "https://files.pythonhosted.org/packages/8f/40/29da07c42778e72417367904845742eac86ceb807a8ed6b3188674dd54be/collective.deletepermission-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "31668502df2bbcd4bbfe6ea6a794d96f", "sha256": "6547cbf874eb369e60d0fac0b51e78ecf61161a378fdc6c2d9021111ffc1e3b1" }, "downloads": -1, "filename": "collective.deletepermission-1.5.0.tar.gz", "has_sig": false, "md5_digest": "31668502df2bbcd4bbfe6ea6a794d96f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25046, "upload_time": "2019-09-09T12:06:37", "url": "https://files.pythonhosted.org/packages/ee/e1/741537fe031bdaac6c5605a8931fabb17e42b51756de3c809c223d3fd3e7/collective.deletepermission-1.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "31668502df2bbcd4bbfe6ea6a794d96f", "sha256": "6547cbf874eb369e60d0fac0b51e78ecf61161a378fdc6c2d9021111ffc1e3b1" }, "downloads": -1, "filename": "collective.deletepermission-1.5.0.tar.gz", "has_sig": false, "md5_digest": "31668502df2bbcd4bbfe6ea6a794d96f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25046, "upload_time": "2019-09-09T12:06:37", "url": "https://files.pythonhosted.org/packages/ee/e1/741537fe031bdaac6c5605a8931fabb17e42b51756de3c809c223d3fd3e7/collective.deletepermission-1.5.0.tar.gz" } ] }