{ "info": { "author": "JC Brand", "author_email": "brand@syslab.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\nThis product adds a Keyword widget (similar to Archetypes.Widget:KeywordWidget)\nfor plone.z3cform.\n\n\nHow To Use (Doc Tests):\n=======================\n \n >>> from z3c.form import testing\n >>> testing.setupFormDefaults()\n >>> import zope.interface\n >>> import zope.schema\n >>> from zope.schema.fieldproperty import FieldProperty\n\nUse the Keywords field your field type:\n\n >>> from collective.z3cform.keywordwidget.field import Keywords\n >>> class IFoo(zope.interface.Interface):\n ... \n ... keywords = Keywords(title=u'Keywords')\n\n >>> class Foo(object):\n ... zope.interface.implements(IFoo)\n ... keywords = FieldProperty(IFoo['keywords'])\n ... \n ... def __init__(self, keywords):\n ... self.keywords = keywords\n ... \n ... def __repr__(self):\n ... return '<%s %r>' % (self.__class__.__name__, self.name)\n\nWe need to make sure that the keywords property is indexed in portal_catalog. \n\nFirst, we write the indexer. The indexer is a special adapter that adapts the type of an object \nand provides the value of the attribute to be indexed.\n\n >>> from plone.indexer.decorator import indexer\n >>> @indexer(IFoo)\n ... def keywords(obj):\n ... return IFoo(obj).keywords\n\nWe need to register our indexer as a named adapter, where the name corresponds to\nthe index name. In ZCML, that may be::\n\n \n\nFor testing purpoese, we will register it directly.\n\n >>> from zope.component import provideAdapter\n >>> provideAdapter(keywords, name='keywords')\n\nNow we add a form in which the widget will be rendered:\n\nSpecify the KeywordWidget factory ('KeywordFieldWidget') as the field's widgetFactory.\n\n >>> from z3c.form.testing import TestRequest\n >>> from z3c.form import form, field\n >>> from collective.z3cform.keywordwidget.widget import KeywordFieldWidget\n\n >>> class FooAddForm(form.AddForm):\n ... \n ... fields = field.Fields(IFoo)\n ... fields['keywords'].widgetFactory = KeywordFieldWidget \n ... \n ... def create(self, data):\n ... return Foo(**data)\n ... \n ... def add(self, object):\n ... self.context[object.id] = object\n ... \n ... def nextURL(self):\n ... return 'index.hml'\n\n\nCreate, update and render the form:\n\n >>> root = app\n >>> request = TestRequest()\n\n >>> addForm = FooAddForm(root, request)\n >>> addForm.update()\n\n >>> print addForm.render()\n\n\n\n\nChangelog\n=========\n\n1.3 (2017-01-17)\n----------------\n\n- Fixed terms list setup.\n [thomasdesvenain]\n\n- Added a handler so that it can be used in supermodels.\n [thomasdesvenain]\n\n- made it work in Plone 4.3: fixed a problem in vocabulary creation in\n combination with non-ascii.\n [jensens]\n\n- modernized test setup\n [jensens]\n\n1.2 - 2012-03-19\n----------------\n\n- added option to specify index_name as field parameter. This is useful\n eg. for 'subjects' field which should read it's data from 'Subject'\n index. If not set, field name is used.\n [naro]\n\n- Added InAndOutKeywordWidget which is based on z3c.form OrderedSelectWidget\n [naro]\n\n1.1.1 - 2012-02-24\n------------------\n\n- fixed broken 1.1 release [petschki]\n\n1.1 (2012-02-13)\n----------------\n\n- fixed unicode errors for non-ascii keyword value support [petschki]\n- ui improved to keep newly entered categories on form errors [petschki]\n\n1.0.1 (2009-09-29)\n------------------\n\n- updated setup.cfg\n\n\n1.0 (2009-09-29)\n----------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/collective.z3cform.keywordwidget", "keywords": "syslab keyword widget keywordwidget z3cform", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "collective.z3cform.keywordwidget", "package_url": "https://pypi.org/project/collective.z3cform.keywordwidget/", "platform": "", "project_url": "https://pypi.org/project/collective.z3cform.keywordwidget/", "project_urls": { "Homepage": "http://pypi.python.org/pypi/collective.z3cform.keywordwidget" }, "release_url": "https://pypi.org/project/collective.z3cform.keywordwidget/1.3/", "requires_dist": null, "requires_python": "", "summary": "Adds a keyword widget (similar to to Archetypes.Widget:KeywordWidget) to z3cform.", "version": "1.3" }, "last_serial": 2580131, "releases": { "1.0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a888ee7666d0921f461148306a8d2578", "sha256": "9608dd9eff5107f65ebc4fdc59def82c54ec5a8a4b5957882463d2aba3718751" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a888ee7666d0921f461148306a8d2578", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7385, "upload_time": "2009-09-29T15:53:53", "url": "https://files.pythonhosted.org/packages/ce/26/c510552088b5022e8fdb840ce8a34e79ce283778f7ea558b2e3667f2898f/collective.z3cform.keywordwidget-1.0.1.tar.gz" } ], "1.0dev-r98445": [ { "comment_text": "", "digests": { "md5": "f5c7b094772ad80a7ad456c33f807432", "sha256": "bdd32f69c3ed52f0f96b3bd378f31db7ead001f2844a4c1f50712909be2ad67f" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.0dev-r98445.tar.gz", "has_sig": false, "md5_digest": "f5c7b094772ad80a7ad456c33f807432", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7465, "upload_time": "2009-09-29T15:50:47", "url": "https://files.pythonhosted.org/packages/f3/f2/a0924f4590bafa459a4e7bdac95809dd6670312c0a0f10c18942c59ae4b4/collective.z3cform.keywordwidget-1.0dev-r98445.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "1acd7c903cedfc06edff7cf0fc834cc9", "sha256": "2403d1c1cd8bfed04bbff1e5906173b707b93f773922667fa57a25bacccc3505" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.1.zip", "has_sig": false, "md5_digest": "1acd7c903cedfc06edff7cf0fc834cc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16876, "upload_time": "2012-02-13T13:42:14", "url": "https://files.pythonhosted.org/packages/f1/5b/2cf6d86051ec960a34a16c0e142a37e1df5fdadb53ab200637feadcf389e/collective.z3cform.keywordwidget-1.1.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "24010e28e6a636abbda0f074c375c95c", "sha256": "b42c80b2bec689ca73e2d2c0bf7f3c9a53f4b2fcf6871abff204fc24e0ee3bb0" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.1.1.zip", "has_sig": false, "md5_digest": "24010e28e6a636abbda0f074c375c95c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17033, "upload_time": "2012-02-24T19:19:48", "url": "https://files.pythonhosted.org/packages/9d/6c/632989643d1ce5e6841c92f28af9d6cc61a98a7c82faf522ba65a8ad20a5/collective.z3cform.keywordwidget-1.1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e36b766a242fbd7f1a29379b825cece8", "sha256": "e9dcacb25c513b89825715191d4c9acdf91041117ff5cfa4608452f1bff7bab3" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.2.zip", "has_sig": false, "md5_digest": "e36b766a242fbd7f1a29379b825cece8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20751, "upload_time": "2012-03-19T16:38:28", "url": "https://files.pythonhosted.org/packages/30/88/24dce17937b8ac92c9531a443bc3bcc8811b63d5626595cae54ffc89c278/collective.z3cform.keywordwidget-1.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "59d8ecaf4109f23781388fd47955b301", "sha256": "e7576b3c3b513710eaf2476b2e41fa8ae71264954cfb933a9785a6f9ecf01f66" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.3.tar.gz", "has_sig": false, "md5_digest": "59d8ecaf4109f23781388fd47955b301", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12591, "upload_time": "2017-01-17T16:50:45", "url": "https://files.pythonhosted.org/packages/47/ff/3308895d6b41d60507da440acca1817985361b95b90508100f5229b1a685/collective.z3cform.keywordwidget-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "59d8ecaf4109f23781388fd47955b301", "sha256": "e7576b3c3b513710eaf2476b2e41fa8ae71264954cfb933a9785a6f9ecf01f66" }, "downloads": -1, "filename": "collective.z3cform.keywordwidget-1.3.tar.gz", "has_sig": false, "md5_digest": "59d8ecaf4109f23781388fd47955b301", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12591, "upload_time": "2017-01-17T16:50:45", "url": "https://files.pythonhosted.org/packages/47/ff/3308895d6b41d60507da440acca1817985361b95b90508100f5229b1a685/collective.z3cform.keywordwidget-1.3.tar.gz" } ] }