{ "info": { "author": "Radim Novotny", "author_email": "novotny.radim@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 4.1", "Framework :: Plone :: 4.2", "Framework :: Plone :: 4.3", "Programming Language :: Python", "Programming Language :: Python :: 2.7" ], "description": "Introduction\r\n============\r\n\r\ncollective.memberapproval provides a user interface for\r\npas.plugins.memberapproval. Together these products form a member approval\r\nprocess, making it possible to approve or disapprove member registrations to\r\nyour website.\r\n\r\n\r\nManagement views\r\n----------------\r\n\r\ncollective.memberapproval providess the following management views:\r\n\r\n* @@usergroup-userprefs: collective.memberapproval overrides the standard\r\n user management view with one that extends the standard view with a filter\r\n to list only Approved, only Disapproved or All users.\r\n \r\n* @@user-approval: This view will allow you to view and change the status of\r\n a specific user. You access it with the parameter 'userid', ie\r\n http://localhost:8080/Plone/@@user-approval?userid=theusername\r\n \r\n* @@user-approve: This view will approve the specified user. It does not\r\n provide any HTML view, but is usable for services such as providing\r\n a direct link to approve users from a notification email. Example:\r\n http://localhost:8080/Plone/@@user-approve?userid=theusername\r\n\r\n* @@user-disapprove: This view will disapprove the specified user. It does\r\n not provide any HTML view, but is usable for services such as providing a\r\n direct link to disapprove users from a notification email. Example:\r\n http://localhost:8080/Plone/@@user-disapprove?userid=theusername\r\n\r\n* @@user-approved: This view will return True if the user specified is\r\n approved, or None otherwise. It does not provide any HTML view. Example:\r\n http://localhost:8080/Plone/@@user-approved?userid=theusername\r\n\r\n\r\ncollective.memberapproval Installation\r\n**************************************\r\n\r\n* Add ``collective.memberapproval`` to the list of eggs to install, e.g.::\r\n\r\n [buildout]\r\n ...\r\n eggs =\r\n ...\r\n collective.memberapproval\r\n \r\n* Re-run buildout, e.g. with:\r\n\r\n $ ./bin/buildout\r\n\r\n* Install the product into the Plone site from the Add-ons control panel.\r\n\r\nContributors\r\n************\r\n\r\n* Radim Novotny, Author\r\n\r\n* Lennart Regebro\r\n\r\nChange history\r\n**************\r\n\r\n1.0 (2014-01-31)\r\n----------------\r\n\r\n- Added support for Plone 4.3.\r\n\r\n\r\n1.0rc2 (2012-06-27)\r\n-------------------\r\n\r\n- Added new registered.pt and registered_notify_template.pt templates that\r\n includes information that the registration needs to be approved before you\r\n can sign in.\r\n\r\n1.0rc1 (2012-06-26)\r\n-------------------\r\n\r\n- There are now three states: Pending, Approved, Disapproved. You can this\r\n way show all pending users. You can only approve or disapprove users, you\r\n can not make them pending once they have been approved or disapproved.\r\n \r\n- Having an approval link in the tabs confused the users, so I removed it.\r\n\r\n- Added a \"Disapprove & Delete\" button at the request from users.\r\n\r\n- Changed @@user_approved to @@user_approved for consistency.\r\n\r\n\r\n1.0b1 (2012-05-31)\r\n------------------\r\n\r\n- Fixed the tests. [regebro]\r\n\r\n\r\n1.0a1 (2012-05-29)\r\n------------------\r\n\r\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/regebro/collective.memberapproval", "keywords": "plone pas user-management", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "collective.memberapproval", "package_url": "https://pypi.org/project/collective.memberapproval/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.memberapproval/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/regebro/collective.memberapproval" }, "release_url": "https://pypi.org/project/collective.memberapproval/1.0/", "requires_dist": null, "requires_python": null, "summary": "Member approval for Plone", "version": "1.0" }, "last_serial": 990620, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "1f6943ad628f5746612d951194526061", "sha256": "52fc5d555d55a1e6d39f919312691a18947c30ab73ec210583c2e5238f9013fe" }, "downloads": -1, "filename": "collective.memberapproval-1.0.zip", "has_sig": false, "md5_digest": "1f6943ad628f5746612d951194526061", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40344, "upload_time": "2014-01-31T20:34:09", "url": "https://files.pythonhosted.org/packages/26/e9/02145ba16681cd9860d2bf4faf929c0a1860fac1b4ae65ef480f7b6fc129/collective.memberapproval-1.0.zip" } ], "1.0a1": [ { "comment_text": "", "digests": { "md5": "0c1423a9c8510217717d74644fe7e091", "sha256": "7f44050a4e7b3a05ca0b32a7d73a27a1e9ee4f3beb56b7a649cec5c808500ce7" }, "downloads": -1, "filename": "collective.memberapproval-1.0a1.tar.gz", "has_sig": false, "md5_digest": "0c1423a9c8510217717d74644fe7e091", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23168, "upload_time": "2012-05-29T15:29:43", "url": "https://files.pythonhosted.org/packages/69/c3/ee0fdc56a9b62959e56608f649dde6f1eff31444eeee280fcd15f015ffd7/collective.memberapproval-1.0a1.tar.gz" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "ccc3b4ea5abca36b2514eb966ea2efc9", "sha256": "3f12163f6de7cb2970a05263768016d137f68d9b76cbdc799f258175cbfe9ce8" }, "downloads": -1, "filename": "collective.memberapproval-1.0b1.tar.gz", "has_sig": false, "md5_digest": "ccc3b4ea5abca36b2514eb966ea2efc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23340, "upload_time": "2012-05-31T17:36:20", "url": "https://files.pythonhosted.org/packages/ce/ab/c99b32254a6856b3f638a68c8fe7990964119f0b2252c2f4db5e7c007b87/collective.memberapproval-1.0b1.tar.gz" } ], "1.0rc1": [ { "comment_text": "", "digests": { "md5": "8a38c2626f33b819ba68db8b9c1e38eb", "sha256": "11ec24ad91f8020c9971f666f393c707de51906c87a54f58cab38ddd5227e825" }, "downloads": -1, "filename": "collective.memberapproval-1.0rc1.tar.gz", "has_sig": false, "md5_digest": "8a38c2626f33b819ba68db8b9c1e38eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23499, "upload_time": "2012-06-26T16:39:23", "url": "https://files.pythonhosted.org/packages/8e/d0/f5fa6355e336e6692fb79e63edea79231ee2d86ba59164bac4ef99afe540/collective.memberapproval-1.0rc1.tar.gz" } ], "1.0rc2": [ { "comment_text": "", "digests": { "md5": "8375b89caf5bc7401a286db05b947fce", "sha256": "d3ee4c07142e5c77350c2b15123649e7ae8a8a89002553645d5e65893e55f58d" }, "downloads": -1, "filename": "collective.memberapproval-1.0rc2.tar.gz", "has_sig": false, "md5_digest": "8375b89caf5bc7401a286db05b947fce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25329, "upload_time": "2012-06-27T15:22:45", "url": "https://files.pythonhosted.org/packages/f2/93/f820c9ba18a7edf68bc92edf81fb7e7470e32fafda4a1aa10a2312cc9082/collective.memberapproval-1.0rc2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1f6943ad628f5746612d951194526061", "sha256": "52fc5d555d55a1e6d39f919312691a18947c30ab73ec210583c2e5238f9013fe" }, "downloads": -1, "filename": "collective.memberapproval-1.0.zip", "has_sig": false, "md5_digest": "1f6943ad628f5746612d951194526061", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40344, "upload_time": "2014-01-31T20:34:09", "url": "https://files.pythonhosted.org/packages/26/e9/02145ba16681cd9860d2bf4faf929c0a1860fac1b4ae65ef480f7b6fc129/collective.memberapproval-1.0.zip" } ] }