Metadata-Version: 1.0
Name: archetypes.gridfield
Version: 0.1a1
Summary: Datagrid for Archetypes content, rows based on z3c.form
Home-page: http://pypi.python.org/pypi/archetypes.gridfield
Author: Matous Hora, Radim Novotny - DMS4U
Author-email: info@dms4u.cz
License: GPL
Description: Introduction
        ============
        
        archetypes.gridfield adds support for data grids which are not inline editable.
        Rows are addable/editable using overlay window.
        
        Please note, current version requires branch of plone.app.jquerytools which is
        included in the example buildout.
        
        Additionally, gridfield widget is displayed on the base_view form only (field
        is not visible on the object edit form!!). This is not a bug but a feature.
        
        Usage
        =====
        
        Install as usuall. After that you can add additional field to you content type::
        
        from archetypes.gridfield import GridField
        ...
        
        GridField('field_name',
        row_interface = IProjectRow
        )
        
        ...
        
        IProjectRow is a zope Interface which defines the data for one row.
        The addform and editform are generated from this one::
        
        class IProjectRow(Interface):
        title   = schema.TextLine(title=u'Project name', required=True)
        kind    = schema.Choice(title=u'Project type',
        vocabulary="project.projectTypesVocabulary")
        start_date = schema.Date(title=u'Start date', required=True)
        end_date   = schema.Date(title=u'End date', required=False)
        
        You may define custom add/edit forms and update widgets::
        
        from archetypes.gridfield.forms import AddForm, EditForm
        from collective.z3cform.datetimewidget import DateFieldWidget
        
        class ProjectAddForm(AddForm):
        def __init__(self, context, request):
        super(ProjectAddForm, self).__init__(context, request)
        self.fields['start_date'].widgetFactory = DateFieldWidget
        self.fields['end_date'].widgetFactory = DateFieldWidget
        
        class ProjectEditForm(EditForm):
        def __init__(self, context, request):
        super(ProjectEditForm, self).__init__(context, request)
        self.fields['start_date'].widgetFactory = DateFieldWidget
        self.fields['end_date'].widgetFactory = DateFieldWidget
        
        Since AddForm/EditForm is redefined, we must specify the forms in the field
        definition::
        
        GridField('projects',
        row_interface = IProjectRow,
        add_form = ProjectAddForm,
        edit_form = ProjectEditForm,
        widget = GridWidget(label="Projects")
        )
        
        Example
        =======
        
        If you want to test archetypes.gridfield in separate buildout, checkout full
        package from SVN and use example.cfg buildout configuration::
        
        svn co http://svn.plone.org/svn/archetypes/MoreFieldsAndWidgets/archetypes.gridfield/trunk gridfield
        cd gridfield
        python2.4 bootstrap.py
        bin/buildout -c example.cfg
        bin/instance fg
        
        Finally visit base_view template of any object, eg. frontpage:
        
        http://127.0.0.1:8080/portal/front-page/base_view
        
        Usage in custom buildout
        ========================
        
        Please note, package is still in the development. Requires branch of
        plone.app.jquerytools and some custom version pins. Everything is set-up in
        example buildout so copy the requirements from it.
        
        Changelog
        =========
        
        1.0dev (unreleased)
        -------------------
        
        - Initial release
        
Keywords: datagrid archetypes plone jquery overlay
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Programming Language :: Python
